Changeset - 5ec450ff7c49
[Not reviewed]
default
0 5 0
Michael Guravage - 15 years ago 2010-10-19 12:56:46
michael.guravage@cwi.nl
Render PNGs instead of JPGs. See ChangeLogs for details.

--
user: Michael Guravage <michael.guravage@cwi.nl>
branch 'default'
changed src/ChangeLog
changed src/TutorialCode/Tutorial3/ChangeLog
changed src/TutorialCode/Tutorial3/tutorial3_init.xml
changed src/VirtualLeaf.cpp
changed src/mainbase.cpp
5 files changed with 25 insertions and 29 deletions:
0 comments (0 inline, 0 general)
src/ChangeLog
Show inline comments
 
2010-10-19    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* mainbase.cpp (Save): Use format specified in function prototype.
 

	
 
	* VirtualLeaf.cpp (Plot): Render PNG instead of JPEG. Write image
 
	and XML files dependent only on getTime().
 

	
 
2010-10-18    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* mainbase.cpp (Save): QDir::toNativeSeparators(fname). Invoke
 
	save with format argument set to zero to force QImage to guess the
 
	format by looking at fileName's suffix.
 

	
 
	* VirtualLeaf-install.nsi: Put uninstaller in top directory.
 

	
 
	* modelcatalogue.cpp (InstallModel): For all OS-es. Move from "bin" directory to root application folder.
 

	
 
	* VirtualLeaf.pro: MAXOSX, look for gpl3.txt in the ../doc directory.
 

	
 
	* Makefile (Makefile.libplugin): Removed -makefile qmake option.
 

	
 
	* VirtualLeaf.cpp (TIMESTEP): Removed getIterations().
 

	
 
	* mesh.h (Mesh): Removed {increment,get}Iterations().
 

	
 
	* canvas.cpp (TimeStepWrap): Replaced getIterations() with getTime().
 

	
 
2010-10-15    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* mesh.h (Mesh): Added iterations. incrementIterations() and
 
	getIterations().
 

	
 
	* VirtualLeaf.cpp (Plot): Replaced local frame counter with
 
	mesh.incrementIterations().
 

	
 
	* canvas.cpp (TimeStepWrap): Replaced local counter with
 
	mesh.incrementIterations().
 

	
 
2010-10-14    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* VirtualLeaf.pro: Turned debug off to make all profiles must be
 
	consistant.
 

	
 
	* VirtualLeaf-install.nsi: Tweaked paths to coincide with UNIX
 
	distribution, i.e. VirtualLeaf.exe, its libraries, models, and the
 
	uninstaller all go in the bin directory. And leaves directory
 
	placed under data directory.
 

	
 
	* canvas.cpp (exportCellData): Added a check to inquire before
 
	overwritting an existing file.
 

	
 

	
 
2010-10-14    <merks@cwi.nl>
 

	
 
	* mesh.cpp: In response to referees' comments, added new parameter
 
	"yield_threshold" instead of fixed parameter '4' for yield
 
	threshold.
 

	
 
	* wallitem.cpp: when clicking a wall, both the wall type was
 
	cycled and the transporterdialog popped up. Corrected this - for
 
	wall type cycling, hold the Control button while left
 
	clicking. TransporterDialog only pops up for left click. Also made
 
	sure the wall is redrawn after changing the transporter values.
 

	
 
	* cell.cpp (DivideWalls): accomodated for rename of Circumference -> WallCircumference
 

	
 
	* hull.h: added an operator< to sort Points
 

	
 
	* hull.cpp: added an operator< to sort Points
 

	
 
	* cellbase.cpp (ExactCircumference): I added a new function
 
	ExactCircumference, yielding the circumference of the cell along
 
	its wall_elements
 

	
 
	* VirtualLeaf.cpp: adjust info_string to accomodate for new name
 
	of function CellBase::Circumference -> CellBase::WallCircumference
 

	
 
	* mesh.cpp: corrected Mesh::Compactness, the boundary coordinates
 
	need to be sorted in x,y order for the convex hull algorithm
 
	(thanks Margriet!). I updated CSVExportCellData so it exports the
 
	circumferences of hull and boundary_polygon.
 

	
 

	
 
2010-10-14    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* VirtualLeafpar.tmpl (export_fn_prefix): changed to 'cell.'
 

	
 
	* canvas.cpp (TimeStepWrap): Removed TimeStamp(). Cell data
 
	filename now incorporates iteration number.
 

	
 
	* canvas.h (MainBase): Removed TimeStamp().
 

	
 

	
 
2010-10-08    <guravage@caterpie.sen.cwi.nl>
 

	
 

	
 
	* pardialog.h:
 
	* pardialog.cpp:
 
	* parameter.h:
 
	* parameter.cpp: Regenerated to include export_interval and export_fn_prefix.
 

	
 
	* VirtualLeafpar.tmpl: Appended export_interval and export_fn_prefix.
 

	
 
	* canvas.h (MainBase): Declared polymorphic exportCellData() functions.
 

	
 
	* canvas.cpp:
 
	(TimeStamp): New private TimeStamp() function.
 
	(TimeStepWrap): Added invocation of exportCellData().
 
	(exportCellData): Created two polymorphic functions: one with a
 
	single QString argument, the other with no argument. The former is
 
	called from TimeStepWrap() while the latter is called from the
 
	"Export cell areas" item in the file menu.
 

	
 

	
 
2010-10-07    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* canvas.cpp (exportCellData): Added a Q3FileDialog to inquire
 
	where to write the exportCellData.
 

	
 
2010-06-28    <guravage@caterpie.sen.cwi.nl>
 

	
 

	
 
	* VirtualLeaf-install.nsi: Grab gpl3.txt from doc directory.
 

	
 
	* canvas.cpp (gpl): gpl3.txt can be either in an ancestor doc
 
	directory (Linux) or a decedent doc directory (Windows, via the
 
	binary installer).
 

	
 
	* VirtualLeaf-install.nsi: Add VirtualLeaf doc directory.
 

	
 
2010-06-25    <guravage@caterpie.sen.cwi.nl>
 

	
 

	
 
	* gpl3.txt: Moved gpl3.txt from doc to src directory.
 

	
 
	* VirtualLeaf.pro: Added -Wno-write-strings and -Wno-unused-parameter to QMAKE_CXXFLAGS.
 

	
 
	* libplugin.pro: Ditto.
 

	
 
	* parameter.cpp: Result of adding datadir changes to make_parameter_source.pl.
 
	* parameter.h: Ditto.
 

	
 
	* output.h: Declared new function (AppendHomeDirIfPathRelative).
 

	
 
	* output.cpp (AppendHomeDirIfPathRelative): Added new function.
 

	
 
	* canvas.cpp (gpl): Moving gpl3.txt from doc to src obviates the need to docDir.cd("../doc").
 

	
 
	* VirtualLeaf-install.nsi: Grab gpl3.txt from src directory.
 
	Add missing libiconv/bin, libxml2bin and libz/bin directories.
 
	Copy libiconv-2.dll, libxml2.dll and zlib1.dll from relative paths.
 

	
 
	* VirtualLeaf.pro: copy gpl3.txt as part of QMAKE_POST_LINK.
 

	
 
2010-06-24    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* libplugin.pro: Use correct library path.
 
	* VirtualLeaf.pro: Ditto.
 

	
 
	* VirtualLeaf.cpp (DrawCell): Iterate over NChem to construct info_string.
 

	
 
2010-06-23    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* simitembase.cpp: Removed NULL assignments to unused variables.
 
	* VirtualLeaf.cpp: Ditto.
 
	* apoplastitem.cpp: Ditto.
 
	* canvas.cpp: Ditto.
 
	* cell.cpp: Ditto.
 
	* cellbase.h: Ditto.
 
	* forwardeuler.cpp: Ditto.
 
	* mainbase.h: Ditto.
 
	* nodeitem.cpp: Ditto.
 
	* qcanvasarrow.h: Ditto.
 
	* simitembase.cpp: Ditto.
 

	
 

	
 
	* Makefile (clean): Add -f Makefile argument to each make invocation.
 

	
 
	* VirtualLeaf-install.nsi: New gpl license text.
 

	
 
	* VirtualLeaf.pro: Disabled console mode.
 

	
 
	* mesh.cpp (Clear): Added parentheses to qDebug statments.
 
	(TestIllegalWalls): Replaced qDebug().
 

	
 
	* canvas.cpp (mouseReleaseEvent): Replaced qDebug() with cerr since qDebug complains about *node_set.
 

	
 
	* wall.cpp (CorrectWall): Rplaced gDebug() with cerr in transform call and when printing *this.
 

	
 
2010-06-22    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* Makefile (tutorials): Add tutorials target.
 

	
 
2010-06-21    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* parameter.cpp: Added particular reassignment of datadir.
 

	
 
	* canvas.cpp (gpl): Added GPL3 License text. Display detail text only if the source text file exists.
 

	
 
2010-06-18    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* canvas.cpp (gpl): Added gpl slot to display GPL license.
 

	
 
	* VirtualLeaf.pro: Changed default LIBXML2DIR, LIBICONVDIR and LIBZDIR to corresponding distribution lib directories.
 
	* libplugin.pro: Ditto.
 

	
 
	* Makefile (clean): add if stmt not to `touch` on windows.
 

	
 
2010-06-17    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* VirtualLeaf.pro: Removed perl references.
 
	* libplugin.pro: Ditto.
 

	
 
2010-06-15    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* VirtualLeaf.pro: Removed xmlwritecode.cpp from SOURCES list.
 

	
 
	* xmlwrite.cpp (XMLSave): Removed references to XMLWriteLeafSourceCode and XMLWriteReactionsCode.
 
	* xmlwrite.h (XMLIO): Ditto!
 

	
 
	* mesh.cpp (findNextBoundaryNode): Initialize Node *next_boundary_node = NULL;
 

	
 
	* xmlwrite.cpp (XMLReadSimtime): Removed unused variable cur
 
	(XMLReadWalls): viz_flux need not be declared twice; default value of 0.0.
 
	(XMLReadCells): Removed unused count variable.
 
	(XMLReadSimtime): Removed unused cur variable.
 
	(XMLRead): Removed unused v_str variable.
 

	
 
	* simitembase.cpp (userMove): Use assignment merely to obviate compilation warning.
 
	(SimItemBase) Ditto.
 

	
 
	* qcanvasarrow.h (QGraphicsLineItem): Use assignment merely to obviate compilation warning.
 

	
 
	* output.cpp (OpenWriteFile): Removed unused par variable.
 

	
 
	* nodeitem.cpp (paint): Use assignment merely to obviate compilation warning.
 

	
 
	* forwardeuler.cpp (odeint): Use assignment merely to obviate compilation warning.
 

	
 
	* cell.cpp (DivideOverGivenLine): Use assignment merely to obviate compilation warning.
 

	
 
	* canvas.cpp (FigureEditor): Use assignments merely to obviate compilation errors.
 
	(mousePressEvent): Removed unused item variable.
 

	
 
	* apoplastitem.cpp
 
	(ApoplastItem): Removed unused par variable.
 
	(OnClick): Use NULL assignment merely to obviate compilation warning.
 

	
 
	* mainbase.h (MainBase): Use assignment merely to obviate compilation warning.
 

	
 
	* cellbase.h (CellsStaticDatamembers): Use assignment merely to obviate compilation warning.
 

	
 

	
 
	* cell.cpp: Wrapped diagnostic output in QDEBUG blocks.
 
	* VirtualLeaf.cpp ditto.
 
	* canvas.cpp ditto.
 
	* cell.cpp ditto.
 
	* data_plot.cpp ditto.
 
	* forwardeuler.cpp ditto.
 
	* mesh.cpp ditto.
 
	* mesh.h
 
	* random.cpp ditto.
 
	* wall.cpp ditto.
 
	* wallbase.cpp ditto.
 
	* wallitem.cpp ditto.
 

	
 

	
 
2010-06-07    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* VirtualLeaf.pro: Removed explicit perl invocation to regerenerate parameter files.
 
	* libplugin.pro: ditto.
 

	
 
2010-06-03    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* pardialog.h: Added default versions of this automatically generated file.
 
	* pardialog.cpp: ditto.
 
	* parameter.h: ditto.
 
	* parameter.cpp: ditto.
 

	
 
	* VirtualLeaf.pro: delete/generate  parameter.{h,cpp}and pardialog.{h,cpp} only if perl is installed.
 
 	* libplugin.pro: dito.
 

	
 
	* Makefile: Added top-level Makefile
 

	
 
2010-05-10    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* VirtualLeaf.pro: Added -fPIC option to QMAKE_CXXFLAGS.
 

	
src/TutorialCode/Tutorial3/ChangeLog
Show inline comments
 
2010-10-19    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* tutorial3_init.xml (public): Render PNG instead of JPEG.
 

	
 
2010-10-18    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* Makefile (Makefile.tutorial3): Removed -makefile qmake option.
 

	
 
2010-10-14    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* tutorial3.h (SimPluginInterface): Added default LeafML file.
 

	
 
2010-06-25    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* tutorial3.pro: Added -Wno-write-strings and -Wno-unused-parameter to QMAKE_CXXFLAGS.
 

	
 
2010-06-23    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* tutorial3.pro: Corrected windows library path.
 

	
src/TutorialCode/Tutorial3/tutorial3_init.xml
Show inline comments
 
<?xml version="1.0" encoding="UTF-8"?>
 
<leaf name="/Users/roel/VLeaf1.0/V1.0/bin/auxinfluxinit.xml" date="Mon Jun  7 15:40:43 2010" simtime="0">
 
  <parameter>
 
    <par name="arrowcolor" val="white"/>
 
    <par name="arrowsize" val="10"/>
 
    <par name="textcolor" val="red"/>
 
    <par name="cellnumsize" val="1"/>
 
    <par name="nodenumsize" val="1"/>
 
    <par name="node_mag" val="20"/>
 
    <par name="outlinewidth" val="2"/>
 
    <par name="cell_outline_color" val="forestgreen"/>
 
    <par name="resize_stride" val="10"/>
 
    <par name="T" val="1"/>
 
    <par name="lambda_length" val="100"/>
 
    <par name="lambda_celllength" val="0"/>
 
    <par name="target_length" val="60"/>
 
    <par name="cell_expansion_rate" val="10"/>
 
    <par name="cell_div_expansion_rate" val="10"/>
 
    <par name="auxin_dependent_growth" val="true"/>
 
    <par name="ode_accuracy" val="0.0001"/>
 
    <par name="mc_stepsize" val="0.4"/>
 
    <par name="mc_cell_stepsize" val="0.2"/>
 
    <par name="energy_threshold" val="1000"/>
 
    <par name="bend_lambda" val="0"/>
 
    <par name="alignment_lambda" val="0"/>
 
    <par name="rel_cell_div_threshold" val="2"/>
 
    <par name="rel_perimeter_stiffness" val="2"/>
 
    <par name="collapse_node_threshold" val="0.05"/>
 
    <par name="morphogen_div_threshold" val="0.2"/>
 
    <par name="morphogen_expansion_threshold" val="0.01"/>
 
    <par name="copy_wall" val="true"/>
 
    <par name="source" val="0"/>
 
    <par name="D">
 
      <valarray>
 
        <val v="0.0001"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
      </valarray>
 
    </par>
 
    <par name="initval">
 
      <valarray>
 
        <val v="1"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
      </valarray>
 
    </par>
 
    <par name="k1" val="1"/>
 
    <par name="k2" val="0.3"/>
 
    <par name="r" val="1"/>
 
    <par name="kr" val="1"/>
 
    <par name="km" val="1"/>
 
    <par name="Pi_tot" val="1"/>
 
    <par name="transport" val="0.36"/>
 
    <par name="ka" val="1"/>
 
    <par name="pin_prod" val="0"/>
 
    <par name="pin_prod_in_epidermis" val="0"/>
 
    <par name="pin_breakdown" val="0"/>
 
    <par name="pin_breakdown_internal" val="0.001"/>
 
    <par name="aux1prod" val="0.001"/>
 
    <par name="aux1prodmeso" val="0"/>
 
    <par name="aux1decay" val="0.001"/>
 
    <par name="aux1decaymeso" val="0.1"/>
 
    <par name="aux1transport" val="0.036"/>
 
    <par name="aux_cons" val="0"/>
 
    <par name="aux_breakdown" val="0"/>
 
    <par name="kaux1" val="1"/>
 
    <par name="kap" val="1"/>
 
    <par name="leaf_tip_source" val="0.001"/>
 
    <par name="sam_efflux" val="0.0001"/>
 
    <par name="sam_auxin" val="10"/>
 
    <par name="sam_auxin_breakdown" val="0"/>
 
    <par name="van3prod" val="0.002"/>
 
    <par name="van3autokat" val="0.1"/>
 
    <par name="van3sat" val="10"/>
 
    <par name="k2van3" val="0.3"/>
 
    <par name="dt" val="0.1"/>
 
    <par name="rd_dt" val="10"/>
 
    <par name="datadir" val="."/>
 
    <par name="movie" val="false"/>
 
    <par name="nit" val="100000"/>
 
    <par name="maxt" val="1000"/>
 
    <par name="storage_stride" val="10"/>
 
    <par name="xml_storage_stride" val="500"/>
 
    <par name="rseed" val="-1"/>
 
    <par name="constituous_expansion_limit" val="16"/>
 
    <par name="vessel_inh_level" val="1"/>
 
    <par name="vessel_expansion_rate" val="0.25"/>
 
    <par name="d" val="0"/>
 
    <par name="e" val="0"/>
 
    <par name="f" val="0"/>
 
    <par name="c" val="0"/>
 
    <par name="mu" val="0"/>
 
    <par name="nu" val="0"/>
 
    <par name="rho0" val="0"/>
 
    <par name="rho1" val="0"/>
 
    <par name="c0" val="0"/>
 
    <par name="gamma" val="0"/>
 
    <par name="eps" val="0"/>
 
    <par name="k">
 
      <valarray>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
        <val v="0"/>
 
      </valarray>
 
    </par>
 
    <par name="i1" val="0"/>
 
    <par name="i2" val="0"/>
 
    <par name="i3" val="0"/>
 
    <par name="i4" val="0"/>
 
    <par name="i5" val="0"/>
 
    <par name="s1" val=""/>
 
    <par name="s2" val=""/>
 
    <par name="s3" val=""/>
 
    <par name="b1" val="false"/>
 
    <par name="b2" val="false"/>
 
    <par name="b3" val="false"/>
 
    <par name="b4" val="false"/>
 
    <par name="dir1" val="."/>
 
    <par name="dir2" val="."/>
 
  </parameter>
 
  <code name="VirtualLeaf.cpp">#include &lt;fstream&gt;
 
#include &lt;sstream&gt;
 
#include &lt;cstring&gt;
 
#include &lt;functional&gt; 
 
#include &lt;getopt.h&gt;
 
#include &lt;cerrno&gt;
 
#include "mesh.h"
 
#include "parameter.h"
 
#include "random.h"
 
#include "pi.h"
 
#include "cellitem.h"
 
#include "canvas.h"
 
#include "cell.h"
 
#include "output.h"
 
#include &lt;qwidget.h&gt;
 
#include &lt;q3process.h&gt;
 
#include &lt;qapplication.h&gt;
 
#include &lt;QDesktopWidget&gt;
 
#include &lt;QGraphicsScene&gt;
 
#include &lt;QMessageBox&gt;
 
//Added by qt3to4:
 
#include &lt;QMouseEvent&gt;
 

	
 
#include &lt;unistd.h&gt;
 
#include &lt;q3textstream.h&gt; 
 

	
 

	
 
#ifdef HAVE_QWT
 
#include "data_plot.h"
 
#endif
 
#include &lt;QPalette&gt;
 
#include &lt;QBrush&gt;
 
#include &lt;QToolTip&gt;
 
#include "simplugin.h"
 
#include "testplugin.h"
 

	
 
/* #define _xstr_(s) _str_(s)
 
#define _str_(s) #s
 
#include _xstr_(REACTIONS_HEADER)
 
*/
 
extern Parameter par;
 

	
 
MainBase *main_window = 0;
 
double auxin_account = 0.;
 

	
 

	
 

	
 
TestPlugin *plugin = new TestPlugin();
 

	
 
#ifdef XFIGGRAPHICS
 
#define TIMESTEP double Graphics::TimeStep(void)
 
#endif
 

	
 
class PrintNode {
 
public:
 
  void operator() (const Node &amp;n) const 
 
  {
 
    cerr &lt;&lt; n.Index() &lt;&lt; ": " &lt;&lt; n &lt;&lt;  endl;
 
  }
 
};
 

	
 

	
 
class EdgeSource {
 
	
 
public:
 
  void operator() (Cell &amp;c) {
 
		
 
    if (c.AtBoundaryP()) {
 
      cerr &lt;&lt; "Cell " &lt;&lt; c.Index() &lt;&lt; " is a source cell.\n";
 
      c.SetSource(0,par.source);
 
    } else {
 
      cerr &lt;&lt; "Cell " &lt;&lt; c.Index() &lt;&lt; " is _not_ a source cell.\n";
 
    }
 
  }
 
	
 
};
 

	
 

	
 

	
 
class CellInfo {
 
public:
 
  void operator() (Cell &amp;c,std::ostream &amp;os) const {
 
    os &lt;&lt; "Cell " &lt;&lt; c.index &lt;&lt; " says: " &lt;&lt; endl;
 
    os &lt;&lt; "c.nodes.size() = " &lt;&lt; c.nodes.size() &lt;&lt; endl;
 
    for (list&lt;Node *&gt;::iterator i=c.nodes.begin();
 
	 i!=c.nodes.end();
 
	 i++) {
 
      cerr &lt;&lt; (*i)-&gt;Index() &lt;&lt; " ";
 
    }
 
    cerr &lt;&lt; endl;
 
  }
 
};
 

	
 
double PINSum(Cell &amp;c) {
 
	
 
	return c.Chemical(1) + c.SumTransporters(1);// + c.ReduceCellAndWalls&lt;double&gt;( complex_PijAj );
 
	
 
}
 

	
 

	
 
class DrawCell {
 
public:
 
  void operator() (Cell &amp;c,QGraphicsScene &amp;canvas, MainBase &amp;m) const {
 
    if (m.ShowBorderCellsP() || c.Boundary()==Cell::None) {
 
      if (!m.ShowBoundaryOnlyP() &amp;&amp; !m.HideCellsP()) 
 
	if (m.ShowToolTipsP()) {
 
	  QString info_string=QString("Cell %1, chemicals: ( %2, %3, %4, %5, %6)\n %7 of PIN1 at walls.\n Area is %8\n PIN sum is %9\n Circumference is %10\n Boundary type is %11").arg(c.Index()).arg(c.Chemical(0)).arg(c.Chemical(1)).arg(c.Chemical(2)).arg(c.Chemical(3)).arg(c.Chemical(4)).arg(c.SumTransporters(1)).arg(c.Area()).arg(PINSum(c)).arg(c.Circumference()).arg(c.BoundaryStr());
 
					
 
	  info_string += "\n" + c.printednodelist();
 
					
 
	  c.Draw(&amp;canvas, info_string);
 
	} else {
 
	  c.Draw(&amp;canvas);
 
	}
 
      if (m.ShowCentersP())
 
	c.DrawCenter(&amp;canvas);
 
    if (m.ShowFluxesP())
 
	c.DrawFluxes(&amp;canvas, par.arrowsize);
 
			
 
       }
 
 
 
  }
 
	
 
};
 

	
 
Mesh mesh;
 
bool batch=false;
 

	
 

	
 
void MainBase::Plot(int resize_stride) {
 
	
 
  clear();
 
    
 
	
 
  static int count=0;
 
  if (resize_stride) {
 
    if ( !((++count)%resize_stride) ) {
 
      FitLeafToCanvas();
 
    }
 
  }
 
  mesh.LoopCells(DrawCell(),canvas,*this);
 
	
 
  if (ShowNodeNumbersP()) 
 
    mesh.LoopNodes( bind2nd (mem_fun_ref ( &amp;Node::DrawIndex), &amp;canvas ) ) ;
 
  if (ShowCellNumbersP()) 
 
    mesh.LoopCells( bind2nd (mem_fun_ref ( &amp;Cell::DrawIndex), &amp;canvas ) ) ;
 
	
 
  if (ShowCellAxesP()) 
 
    mesh.LoopCells( bind2nd (mem_fun_ref ( &amp;Cell::DrawAxis), &amp;canvas ) );
 
	
 
  if (ShowCellStrainP()) 
 
    mesh.LoopCells( bind2nd (mem_fun_ref ( &amp;Cell::DrawStrain), &amp;canvas ) );
 
	
 
  if (ShowWallsP())
 
  
 
    mesh.LoopWalls( bind2nd( mem_fun_ref( &amp;Wall::Draw ), &amp;canvas ) );
 
	
 
	if (ShowApoplastsP()) 
 
		mesh.LoopWalls( bind2nd( mem_fun_ref( &amp;Wall::DrawApoplast ), &amp;canvas ) );
 
 
 
	if (ShowMeshP()) 
 
    mesh.DrawNodes(&amp;canvas);
 
	
 
  if (ShowBoundaryOnlyP()) 
 
    mesh.DrawBoundary(&amp;canvas);
 

	
 
  
 
	if ( ( batch || MovieFramesP() )) {
 
		
 
		static int frame = 0;
 
		// frame numbers are sequential for the most frequently written file type.
 
		// for the less frequently written file type they match the other type
 
		if (!(count%par.storage_stride) )  {
 
		
 
			stringstream fname;
 
			fname &lt;&lt; par.datadir &lt;&lt; "/leaf.";
 
			fname.fill('0');
 
			fname.width(6);
 
	
 
			/* 
 
			 fname &lt;&lt; frame &lt;&lt; ".pdf";
 
			if (par.storage_stride &lt;= par.xml_storage_stride) {
 
				frame++;
 
			}
 
			
 
			// Write high-res JPG snapshot every plot step
 
			// Write high-res PDF snapshot every plot step
 
			Save(fname.str().c_str(), "PDF");
 
			*/
 
			
 
			fname &lt;&lt; frame &lt;&lt; ".jpg";
 
			fname &lt;&lt; frame &lt;&lt; ".png";
 
			if (par.storage_stride &lt;= par.xml_storage_stride) {
 
				frame++;
 
			}
 
			
 
			// Write high-res JPG snapshot every plot step
 
			Save(fname.str().c_str(), "JPEG",1024,768);
 
			// Write high-res PNG snapshot every plot step
 
			Save(fname.str().c_str(), "PNG",1024,768);
 
			
 
		}
 
	
 
		if (!(count%par.xml_storage_stride)) {
 
			stringstream fname;
 
			fname &lt;&lt; par.datadir &lt;&lt; "/leaf.";
 
			fname.fill('0');
 
			fname.width(6);
 
			fname &lt;&lt; frame &lt;&lt; ".xml";
 
	
 
			if (par.xml_storage_stride &lt; par.storage_stride) {
 
				frame++;
 
			}
 
			// Write XML file every ten plot steps
 
			mesh.XMLSave(fname.str().c_str(), XMLSettingsTree());
 
		}
 
		
 
	}
 
}
 

	
 

	
 
void Cell::Flux(double *flux, double *D)  {
 
	
 

	
 
  // loop over cell edges
 
	
 
  for (int c=0;c&lt;Cell::nchem;c++) flux[c]=0.;
 
	
 
  for (list&lt;Wall *&gt;::iterator i=walls.begin();
 
       i!=walls.end();
 
       i++) {
 
		
 
		
 
    // leaf cannot take up chemicals from environment ("no flux boundary")
 
    if ((*i)-&gt;c2-&gt;BoundaryPolP()) continue;
 
		
 
  	
 
    // flux depends on edge length and concentration difference
 
    for (int c=0;c&lt;Cell::nchem;c++) {
 
      double phi = (*i)-&gt;length * ( D[c] ) * ( (*i)-&gt;c2-&gt;chem[c] - chem[c] );
 
			
 
      if ((*i)-&gt;c1!=this) {
 
	cerr &lt;&lt; "Warning, bad cells boundary: " &lt;&lt; (*i)-&gt;c1-&gt;index &lt;&lt; ", " &lt;&lt; index &lt;&lt; endl;
 
      }
 
			
 
      flux[c] += phi;
 
    }    
 
  }
 
	
 
}
 

	
 
INIT {
 
	
 
	if (leaffile) { 
 
    xmlNode *settings;
 
    mesh.XMLRead(leaffile, &amp;settings);
 
    main_window-&gt;XMLReadSettings(settings);
 
    xmlFree(settings);
 
    main_window-&gt;UserMessage(QString("Ready. Time is %1").arg(mesh.getTimeHours().c_str()));
 
		
 
  } else {
 
		
 
	  Cell &amp;circle=mesh.CircularCell(0,0,10,10);
 
    		
 
    circle.SetTargetArea(circle.CalcArea());
 
	  mesh.SetBaseArea();
 
	// clean up chemicals 
 
	  for (int c=0; c&lt;Cell::NChem(); c++) {
 
		  circle.SetChemical(c, 0.);
 
      }
 
  }
 
}
 

	
 
TIMESTEP {
 
	
 
  static int i=0;
 
  static int t=0;
 
  static int ncells;
 
	
 
  if (!batch) {
 
    UserMessage(QString("Time: %1").arg(mesh.getTimeHours().c_str()),0);
 
  }
 
			 
 
  ncells=mesh.NCells();
 
		
 
				
 
  double dh;
 
  		
 
  if(DynamicCellsP()) {
 
    dh = mesh.DisplaceNodes();
 
			
 
    // Only allow for node insertion, cell division and cell growth
 
    // if the system has equillibrized
 
    // i.e. cell wall tension equillibrization is much faster
 
    // than biological processes, including division, cell wall yielding
 
    // and cell expansion
 
    mesh.InsertNodes(); // (this amounts to cell wall yielding)
 
			
 
    if ( (-dh) &lt; par.energy_threshold) {
 
				
 
      mesh.IncreaseCellCapacityIfNecessary();
 
		mesh.LoopCurrentCells(&amp;TestPlugin::CellHouseKeeping); // this includes cell division
 
				
 
      // Reaction diffusion	
 
		/*CelltoCellTransport *transport_f = &amp;TestPlugin::CelltoCellTransport;
 
      CellReaction *cellreaction_f = new plugin-&gt;CellDynamics();
 
      WallReaction *wall_f = new WallDynamics();*/
 
				
 
      mesh.ReactDiffuse(plugin, par.rd_dt);
 
		
 
				
 
      t++;
 
				
 
      Plot(par.resize_stride);
 
		
 
		/*QVector&lt; QPair&lt;double, int&gt; &gt; angles=mesh.VertexAnglesValues();
 
		QString afname=QString("Angles/anglesvalues%1.dat").arg(t,6,10,QChar('0'));
 
		ofstream af(afname.toStdString().c_str());
 
		*/
 
		
 
		/*for (QVector&lt; QPair&lt;qreal, int&gt; &gt;::const_iterator v=angles.begin();
 
			 v!=angles.end();
 
			 v++) {
 
			af &lt;&lt; v-&gt;first &lt;&lt; " " &lt;&lt; v-&gt;second &lt;&lt; endl;
 
			}
 
			*/
 
			}
 
		
 
			} else {
 
			
 
  /*  TransportFunction *transport_f = new CelltoCellTransport();
 
    CellReaction *cellreaction_f = new CellDynamics();
 
    WallReaction *wall_f = new WallDynamics();
 
			
 
    mesh.ReactDiffuse_New(transport_f, cellreaction_f, wall_f, par.rd_dt);*/
 
				mesh.ReactDiffuse(plugin, par.rd_dt);
 
		
 
    Plot(par.resize_stride);
 
			
 
  }
 
	
 
	
 

	
 
		
 
		
 
  i++;
 
  return mesh.getTime();
 
		
 
}
 
		
 
		
 
				
 
/* Called if a cell is clicked */
 
void Cell::OnClick(QMouseEvent *e) {
 
					
 
}
 
				
 
				
 

	
 
void Wall::OnWallInsert(void) {
 
				  
 

	
 
}
 

	
 
				
 
				
 
				
 
int main(int argc,char **argv) {
 
					
 
  try {
 
						
 

	
 
    int c;
 

	
 
						
 
    char *leaffile=0;
 

	
 
						
 
    while (1) {
 
							
 
      //int this_option_optind = optind ? optind : 1;
 
      int option_index = 0;
 
      static struct option long_options[] = {
 
	{"batch", 0, 0, 0},
 
	{"leaffile", 2, 0, 0}
 
      };
 
		
 
      // short option 'p' creates trouble for non-commandline usage on MacOSX. Option -p changed to -P (capital)
 
      static char *short_options = "bl";
 
      c = getopt_long (argc, argv, "bl:",
 
		       long_options, &amp;option_index);
 
      if (c == -1)
 
	break;
 
		
 
		
 
      if (c==0) {
 
	printf ("option %s", long_options[option_index].name);
 
	if (optarg)
 
	  printf (" with arg %s", optarg);
 
	printf ("\n");
 
			
 
	c = short_options[option_index];
 
      }
 
		
 
      switch (c) {
 
      case 'b':
 
	cerr &lt;&lt; "Running in batch mode\n";
 
	batch=true;
 
	break;
 
				
 
      case 'l':
 
	leaffile=strdup(optarg);
 
	if (!leaffile) {
 
	  throw("Out of memory");
 
	}
 
	printf("Reading leaf state file '%s'\n", leaffile);
 
	break;
 
				
 
      case '?':
 
	break;
 
				
 
      default:
 
	printf ("?? getopt returned character code 0%o ??\n", c);
 
      }
 
    }
 
	  
 
	  
 
    if (optind &lt; argc) {
 
      printf ("non-option ARGV-elements: ");
 
      while (optind &lt; argc)
 
	printf ("%s ", argv[optind++]);
 
      printf ("\n");
 
    }
 
	  
 
	  MakeDir("Angles");
 
    bool useGUI = !batch;
 
    QApplication app(argc,argv,useGUI);
 
						
 

	
 
    
 
    QPalette tooltippalette = QToolTip::palette();
 
    QColor transparentcolor = QColor(tooltippalette.brush(QPalette::Window).color());
 

	
 
    tooltippalette.setBrush (QPalette::Window, QBrush (transparentcolor) );
 
    QToolTip::setPalette( tooltippalette );
 

	
 
    QGraphicsScene canvas(0,0,8000,6000);
 

	
 
    if (useGUI) {
 
         main_window=new Main(canvas, mesh);
 
      if ( QApplication::desktop()-&gt;width() &gt; ((Main *)main_window)-&gt;width() + 10
 
	   &amp;&amp; QApplication::desktop()-&gt;height() &gt; ((Main *)main_window)-&gt;height() +30 ) {
 

	
 
	((Main *)main_window)-&gt;show();
 
	((Main *)main_window)-&gt;resize( ((Main *)main_window)-&gt;sizeHint());
 
    } else {
 
        ((Main *)main_window)-&gt;showMaximized();
 
    }
 
  } else {
 
        main_window=new MainBase(canvas, mesh);
 

	
 
 }
 

	
 
    
 
	  
 
    canvas.setSceneRect(QRectF());
 
    if (!batch) {
 
      QObject::connect( qApp, SIGNAL(lastWindowClosed()), qApp, SLOT(quit()) );
 
    }
 

	
 
						
 
 		
 
    main_window-&gt;Init(leaffile);
 
	  
 
    Cell::SetMagnification(1);
 
    Cell::setOffset(0,0);
 
						
 
    main_window-&gt;FitLeafToCanvas();
 
						
 
				
 
						
 
    main_window-&gt;Plot();
 

	
 
						
 

	
 
    if (batch) {
 
      double t=0.;
 
      do {
 
	t = main_window-&gt;TimeStep();
 
      } while (t &lt; par.maxt);
 
							
 
    } else
 
      return app.exec();
 
	  
 
						
 
  } catch (const char *message) {
 
    if (batch) { 
 
      cerr &lt;&lt; "Exception caught:" &lt;&lt; endl;
 
      cerr &lt;&lt; message &lt;&lt; endl;
 
      abort();
 
    } else {
 
      QString qmess=QString("Exception caught: %1").arg(message);
 
      QMessageBox::critical(0, "Critical Error", qmess);
 
      abort();
 
    }
 
  } catch (ios_base::failure) {
 
    stringstream error_message;
 
    error_message &lt;&lt; "I/O failure: " &lt;&lt; strerror(errno);
 
    if (batch) {
 
      cerr &lt;&lt; error_message.str() &lt;&lt;endl;
 
      abort();
 
    } else {
 
      QString qmess(error_message.str().c_str());
 
      QMessageBox::critical(0, "I/O Error", qmess );
 
      abort();
 
    }
 
  }
 
					
 
}
 
</code>
 
  <code name="reactions_pce_growth.h">
 

	
 
// Executed after the cellular mechanics steps have equillibrized
 
class CellHouseKeeping {
 
public:
 
	void operator() (Cell &amp;c) const {
 
		
 
		c.EnlargeTargetArea(par.cell_expansion_rate);
 
		
 
		if (c.Area() &gt; par.rel_cell_div_threshold * c.BaseArea() ) {
 
			c.Divide();
 
		}
 
	}
 
};
 

	
 
// The number of chemical species in the cels
 
const int Cell::nchem = 0;
 

	
 
// Differential equations describing transport of chemicals from cell to cell
 
class CelltoCellTransport : public TransportFunction {
 

	
 
 public:
 
	virtual void operator()(Wall *w, double *dchem_c1, double *dchem_c2) {}
 
    
 
 };
 

	
 
// Differential equations describing chemical reactions taking place at or near the cell walls
 
// (e.g. PIN accumulation)
 
class WallDynamics : public WallReaction {
 
 public:
 
	virtual void operator()(Wall *w, double *dw1, double *dw2) {}; 
 
	
 
};
 

	
 

	
 
// Differential equations describing chemical reactions inside the cells
 
class CellDynamics : public CellReaction {
 
 public:
 
	virtual void operator()(Cell *c, double *dchem) {
 
	
 
	};
 
	
 
};
 

	
 
// Rules for cell coloring
 
void Cell::SetColor(QColor &amp;color) { }
 

	
 
// To be executed after cell division
 
void Cell::OnDivide(ParentInfo &amp;parent_info, Cell &amp;daughter) {}
 

	
 
</code>
 
  <nodes n="1277" target_length="3.09017">
 
    <node x="210.911" y="-39.9231" fixed="false" boundary="true" sam="false"/>
 
    <node x="191.318" y="108.843" fixed="false" boundary="true" sam="false"/>
 
    <node x="49.3519" y="206.243" fixed="false" boundary="true" sam="false"/>
 
    <node x="-116.346" y="180.886" fixed="false" boundary="true" sam="false"/>
 
    <node x="-174.807" y="131.435" fixed="false" boundary="true" sam="false"/>
 
    <node x="-205.135" y="-82.753" fixed="false" boundary="true" sam="false"/>
 
    <node x="-197.138" y="-88.9985" fixed="false" boundary="true" sam="false"/>
 
    <node x="-25.9056" y="-214.059" fixed="false" boundary="true" sam="false"/>
 
    <node x="46.3642" y="-206.845" fixed="false" boundary="true" sam="false"/>
 
    <node x="166.573" y="-142.11" fixed="false" boundary="true" sam="false"/>
 
    <node x="-122.758" y="172.566" fixed="false" boundary="true" sam="false"/>
 
    <node x="82.8058" y="-189.874" fixed="false" boundary="true" sam="false"/>
 
    <node x="-10.2984" y="51.9207" fixed="false" boundary="false" sam="false"/>
 
    <node x="28.8497" y="-40.624" fixed="false" boundary="false" sam="false"/>
 
    <node x="211.545" y="47.0488" fixed="false" boundary="true" sam="false"/>
 
    <node x="-152.871" y="-144.017" fixed="false" boundary="true" sam="false"/>
 
    <node x="198.118" y="76.9295" fixed="false" boundary="true" sam="false"/>
 
    <node x="31.7262" y="-13.223" fixed="false" boundary="false" sam="false"/>
 
    <node x="123.262" y="73.4429" fixed="false" boundary="false" sam="false"/>
 
    <node x="114.709" y="73.2542" fixed="false" boundary="false" sam="false"/>
 
    <node x="-23.5828" y="18.1366" fixed="false" boundary="false" sam="false"/>
 
    <node x="-121.983" y="-60.5603" fixed="false" boundary="false" sam="false"/>
 
    <node x="-72.7182" y="-54.226" fixed="false" boundary="false" sam="false"/>
 
    <node x="-159.778" y="146.915" fixed="false" boundary="true" sam="false"/>
 
    <node x="-50.1082" y="215.305" fixed="false" boundary="true" sam="false"/>
 
    <node x="-197.419" y="34.6728" fixed="false" boundary="true" sam="false"/>
 
    <node x="110.472" y="-179.83" fixed="false" boundary="true" sam="false"/>
 
    <node x="197.41" y="-64.8994" fixed="false" boundary="true" sam="false"/>
 
    <node x="50.9766" y="-9.7383" fixed="false" boundary="false" sam="false"/>
 
    <node x="138.456" y="-56.7201" fixed="false" boundary="false" sam="false"/>
 
    <node x="79.5472" y="-37.1307" fixed="false" boundary="false" sam="false"/>
 
    <node x="12.2582" y="202.517" fixed="false" boundary="true" sam="false"/>
 
    <node x="70.2362" y="62.2591" fixed="false" boundary="false" sam="false"/>
 
    <node x="13.1214" y="156.916" fixed="false" boundary="false" sam="false"/>
 
    <node x="38.6043" y="116.924" fixed="false" boundary="false" sam="false"/>
 
    <node x="-15.672" y="-208.249" fixed="false" boundary="true" sam="false"/>
 
    <node x="-61.9967" y="-57.5555" fixed="false" boundary="false" sam="false"/>
 
    <node x="-14.7433" y="-188.932" fixed="false" boundary="false" sam="false"/>
 
    <node x="-26.6759" y="-103.506" fixed="false" boundary="false" sam="false"/>
 
    <node x="-192.27" y="68.2773" fixed="false" boundary="true" sam="false"/>
 
    <node x="-58.8361" y="-17.0048" fixed="false" boundary="false" sam="false"/>
 
    <node x="-135.113" y="46.659" fixed="false" boundary="false" sam="false"/>
 
    <node x="-80.5086" y="22.1598" fixed="false" boundary="false" sam="false"/>
 
    <node x="49.1709" y="-105.902" fixed="false" boundary="false" sam="false"/>
 
    <node x="-39.0127" y="119.987" fixed="false" boundary="false" sam="false"/>
 
    <node x="-99.4391" y="-188.881" fixed="false" boundary="true" sam="false"/>
 
    <node x="70.9948" y="-123.985" fixed="false" boundary="false" sam="false"/>
 
    <node x="108.601" y="-115.421" fixed="false" boundary="false" sam="false"/>
 
    <node x="138.708" y="-72.6258" fixed="false" boundary="false" sam="false"/>
 
    <node x="-25.334" y="97.9928" fixed="false" boundary="false" sam="false"/>
 
    <node x="5.64263" y="118.914" fixed="false" boundary="false" sam="false"/>
 
    <node x="-16.0798" y="98.7365" fixed="false" boundary="false" sam="false"/>
 
    <node x="225.956" y="6.34779" fixed="false" boundary="true" sam="false"/>
 
    <node x="178.346" y="138.944" fixed="false" boundary="true" sam="false"/>
 
    <node x="-79.4658" y="143.139" fixed="false" boundary="false" sam="false"/>
 
    <node x="-100.404" y="72.4288" fixed="false" boundary="false" sam="false"/>
 
    <node x="-78.3333" y="114.854" fixed="false" boundary="false" sam="false"/>
 
    <node x="-101.536" y="84.0115" fixed="false" boundary="false" sam="false"/>
 
    <node x="124.094" y="168.201" fixed="false" boundary="true" sam="false"/>
 
    <node x="67.2273" y="98.271" fixed="false" boundary="false" sam="false"/>
 
    <node x="87.5276" y="106.016" fixed="false" boundary="false" sam="false"/>
 
    <node x="77.5685" y="101.538" fixed="false" boundary="false" sam="false"/>
 
    <node x="156.767" y="53.5892" fixed="false" boundary="false" sam="false"/>
 
    <node x="104.439" y="-30.0903" fixed="false" boundary="false" sam="false"/>
 
    <node x="160.397" y="28.6837" fixed="false" boundary="false" sam="false"/>
 
    <node x="136.813" y="-7.43009" fixed="false" boundary="false" sam="false"/>
 
    <node x="21.0654" y="-85.8334" fixed="false" boundary="false" sam="false"/>
 
    <node x="-11.9257" y="-108.625" fixed="false" boundary="false" sam="false"/>
 
    <node x="4.85444" y="-96.6449" fixed="false" boundary="false" sam="false"/>
 
    <node x="-140.199" y="-59.6756" fixed="false" boundary="false" sam="false"/>
 
    <node x="-139.649" y="-19.0377" fixed="false" boundary="false" sam="false"/>
 
    <node x="-145.845" y="22.1053" fixed="false" boundary="false" sam="false"/>
 
    <node x="-110.167" y="-169.48" fixed="false" boundary="true" sam="false"/>
 
    <node x="-58.4179" y="-95.6377" fixed="false" boundary="false" sam="false"/>
 
    <node x="-93.7595" y="-112.176" fixed="false" boundary="false" sam="false"/>
 
    <node x="-74.7638" y="-105.639" fixed="false" boundary="false" sam="false"/>
 
    <node x="-220.571" y="-31.855" fixed="false" boundary="true" sam="false"/>
 
    <node x="127.952" y="-172.758" fixed="false" boundary="true" sam="false"/>
 
    <node x="63.4212" y="-157.764" fixed="false" boundary="false" sam="false"/>
 
    <node x="21.2618" y="202.053" fixed="false" boundary="true" sam="false"/>
 
    <node x="-210.795" y="7.86111" fixed="false" boundary="true" sam="false"/>
 
    <node x="-61.7776" y="212.782" fixed="false" boundary="true" sam="false"/>
 
    <node x="-192.75" y="80.1492" fixed="false" boundary="true" sam="false"/>
 
    <node x="-17.1407" y="207.986" fixed="false" boundary="true" sam="false"/>
 
    <node x="-53.5101" y="145.95" fixed="false" boundary="false" sam="false"/>
 
    <node x="-21.4796" y="188.586" fixed="false" boundary="false" sam="false"/>
 
    <node x="-43.5294" y="162.805" fixed="false" boundary="false" sam="false"/>
 
    <node x="65.815" y="-114.566" fixed="false" boundary="false" sam="false"/>
 
    <node x="78.5215" y="-53.8382" fixed="false" boundary="false" sam="false"/>
 
    <node x="71.5196" y="-105.226" fixed="false" boundary="false" sam="false"/>
 
    <node x="138.131" y="84.7791" fixed="false" boundary="false" sam="false"/>
 
    <node x="149.788" y="154.733" fixed="false" boundary="true" sam="false"/>
 
    <node x="124.039" y="109.037" fixed="false" boundary="false" sam="false"/>
 
    <node x="142.63" y="147.615" fixed="false" boundary="false" sam="false"/>
 
    <node x="223.385" y="-4.1147" fixed="false" boundary="true" sam="false"/>
 
    <node x="152.727" y="1.2629" fixed="false" boundary="false" sam="false"/>
 
    <node x="198.583" y="-10.2325" fixed="false" boundary="false" sam="false"/>
 
    <node x="157.46" y="-146.94" fixed="false" boundary="true" sam="false"/>
 
    <node x="124.987" y="-107.171" fixed="false" boundary="false" sam="false"/>
 
    <node x="152.108" y="-141.479" fixed="false" boundary="false" sam="false"/>
 
    <node x="130.33" y="-116.61" fixed="false" boundary="false" sam="false"/>
 
    <node x="-180.556" y="-117.069" fixed="false" boundary="true" sam="false"/>
 
    <node x="-120.826" y="-170.12" fixed="false" boundary="true" sam="false"/>
 
    <node x="52.9514" y="45.7079" fixed="false" boundary="false" sam="false"/>
 
    <node x="-74.8418" y="47.2812" fixed="false" boundary="false" sam="false"/>
 
    <node x="-33.3635" y="83.692" fixed="false" boundary="false" sam="false"/>
 
    <node x="-56.1674" y="65.4447" fixed="false" boundary="false" sam="false"/>
 
    <node x="-52.1871" y="74.4999" fixed="false" boundary="false" sam="false"/>
 
    <node x="-130.191" y="-64.5069" fixed="false" boundary="false" sam="false"/>
 
    <node x="-112.084" y="-141.086" fixed="false" boundary="false" sam="false"/>
 
    <node x="-134.983" y="-80.7339" fixed="false" boundary="false" sam="false"/>
 
    <node x="-128.101" y="-116.065" fixed="false" boundary="false" sam="false"/>
 
    <node x="-10.9001" y="-151.663" fixed="false" boundary="false" sam="false"/>
 
    <node x="8.17705" y="-151.782" fixed="false" boundary="false" sam="false"/>
 
    <node x="54.0447" y="-161.415" fixed="false" boundary="false" sam="false"/>
 
    <node x="-213.821" y="-11.4249" fixed="false" boundary="true" sam="false"/>
 
    <node x="-146.417" y="-11.128" fixed="false" boundary="false" sam="false"/>
 
    <node x="-204.473" y="-12.6454" fixed="false" boundary="false" sam="false"/>
 
    <node x="-155.01" y="-11.5348" fixed="false" boundary="false" sam="false"/>
 
    <node x="52.638" y="54.1707" fixed="false" boundary="false" sam="false"/>
 
    <node x="-2.17281" y="55.9081" fixed="false" boundary="false" sam="false"/>
 
    <node x="33.6985" y="57.08" fixed="false" boundary="false" sam="false"/>
 
    <node x="-176.69" y="120.77" fixed="false" boundary="true" sam="false"/>
 
    <node x="-99.2785" y="95.8754" fixed="false" boundary="false" sam="false"/>
 
    <node x="-151.902" y="109.215" fixed="false" boundary="false" sam="false"/>
 
    <node x="-130.848" y="107.073" fixed="false" boundary="false" sam="false"/>
 
    <node x="99.494" y="62.9227" fixed="false" boundary="false" sam="false"/>
 
    <node x="114.573" y="-12.8394" fixed="false" boundary="false" sam="false"/>
 
    <node x="101.752" y="35.4239" fixed="false" boundary="false" sam="false"/>
 
    <node x="99.6266" y="8.89343" fixed="false" boundary="false" sam="false"/>
 
    <node x="22.374" y="-56.8882" fixed="false" boundary="false" sam="false"/>
 
    <node x="-47.3759" y="-31.8274" fixed="false" boundary="false" sam="false"/>
 
    <node x="-10.1874" y="-56.1358" fixed="false" boundary="false" sam="false"/>
 
    <node x="-29.2164" y="-35.6511" fixed="false" boundary="false" sam="false"/>
 
    <node x="-19.637" y="-158.113" fixed="false" boundary="false" sam="false"/>
 
    <node x="-99.6411" y="-165.461" fixed="false" boundary="false" sam="false"/>
 
    <node x="-56.3655" y="-146.159" fixed="false" boundary="false" sam="false"/>
 
    <node x="13.3045" y="167.453" fixed="false" boundary="false" sam="false"/>
 
    <node x="92.6262" y="140.778" fixed="false" boundary="false" sam="false"/>
 
    <node x="39.2344" y="171.422" fixed="false" boundary="false" sam="false"/>
 
    <node x="84.8766" y="144.604" fixed="false" boundary="false" sam="false"/>
 
    <node x="-81.7048" y="13.3621" fixed="false" boundary="false" sam="false"/>
 
    <node x="-101.07" y="-16.1762" fixed="false" boundary="false" sam="false"/>
 
    <node x="-130.441" y="-18.8196" fixed="false" boundary="false" sam="false"/>
 
    <node x="163.88" y="-44.4337" fixed="false" boundary="false" sam="false"/>
 
    <node x="24.977" y="-3.33741" fixed="false" boundary="false" sam="false"/>
 
    <node x="66.1884" y="-202.571" fixed="false" boundary="true" sam="false"/>
 
    <node x="-169.532" y="59.9275" fixed="false" boundary="false" sam="false"/>
 
    <node x="-89.0545" y="-192.382" fixed="false" boundary="true" sam="false"/>
 
    <node x="190.321" y="-95.5836" fixed="false" boundary="true" sam="false"/>
 
    <node x="84.7917" y="202.184" fixed="false" boundary="true" sam="false"/>
 
    <node x="-101.745" y="156.113" fixed="false" boundary="false" sam="false"/>
 
    <node x="188.027" y="73.5916" fixed="false" boundary="false" sam="false"/>
 
    <node x="-51.516" y="-10.839" fixed="false" boundary="false" sam="false"/>
 
    <node x="-149.635" y="-62.8059" fixed="false" boundary="false" sam="false"/>
 
    <node x="122.788" y="100.7" fixed="false" boundary="false" sam="false"/>
 
    <node x="102.239" y="106.292" fixed="false" boundary="false" sam="false"/>
 
    <node x="108.426" y="102.635" fixed="false" boundary="false" sam="false"/>
 
    <node x="6.50142" y="139.102" fixed="false" boundary="false" sam="false"/>
 
    <node x="-33.6599" y="165.505" fixed="false" boundary="false" sam="false"/>
 
    <node x="-0.8178" y="142.049" fixed="false" boundary="false" sam="false"/>
 
    <node x="-28.7534" y="159.243" fixed="false" boundary="false" sam="false"/>
 
    <node x="183.902" y="129.041" fixed="false" boundary="true" sam="false"/>
 
    <node x="-71.4312" y="107.204" fixed="false" boundary="false" sam="false"/>
 
    <node x="-59.6188" y="82.9157" fixed="false" boundary="false" sam="false"/>
 
    <node x="164.776" y="-12.322" fixed="false" boundary="false" sam="false"/>
 
    <node x="165.381" y="-37.1993" fixed="false" boundary="false" sam="false"/>
 
    <node x="164.607" y="-23.9176" fixed="false" boundary="false" sam="false"/>
 
    <node x="96.901" y="-128.724" fixed="false" boundary="false" sam="false"/>
 
    <node x="118.625" y="-173.184" fixed="false" boundary="true" sam="false"/>
 
    <node x="97.6107" y="-138.79" fixed="false" boundary="false" sam="false"/>
 
    <node x="111.789" y="-154.793" fixed="false" boundary="false" sam="false"/>
 
    <node x="-79.9451" y="198.627" fixed="false" boundary="true" sam="false"/>
 
    <node x="-78.1788" y="188.156" fixed="false" boundary="false" sam="false"/>
 
    <node x="-51.0178" y="168.918" fixed="false" boundary="false" sam="false"/>
 
    <node x="-171.726" y="-123.42" fixed="false" boundary="true" sam="false"/>
 
    <node x="-142.656" y="-97.6586" fixed="false" boundary="false" sam="false"/>
 
    <node x="-162.347" y="-117.942" fixed="false" boundary="false" sam="false"/>
 
    <node x="-37.6882" y="-214.837" fixed="false" boundary="true" sam="false"/>
 
    <node x="131.005" y="-86.6104" fixed="false" boundary="false" sam="false"/>
 
    <node x="83.1962" y="-79.1979" fixed="false" boundary="false" sam="false"/>
 
    <node x="123.44" y="-82.0626" fixed="false" boundary="false" sam="false"/>
 
    <node x="91.9877" y="-75.6426" fixed="false" boundary="false" sam="false"/>
 
    <node x="-148.236" y="12.7494" fixed="false" boundary="false" sam="false"/>
 
    <node x="-157.877" y="11.5783" fixed="false" boundary="false" sam="false"/>
 
    <node x="-189.364" y="26.6719" fixed="false" boundary="false" sam="false"/>
 
    <node x="21.1286" y="109.839" fixed="false" boundary="false" sam="false"/>
 
    <node x="20.882" y="70.5494" fixed="false" boundary="false" sam="false"/>
 
    <node x="20.6306" y="98.381" fixed="false" boundary="false" sam="false"/>
 
    <node x="25.6317" y="88.7704" fixed="false" boundary="false" sam="false"/>
 
    <node x="-140.523" y="159.679" fixed="false" boundary="true" sam="false"/>
 
    <node x="-121.693" y="112.341" fixed="false" boundary="false" sam="false"/>
 
    <node x="-134.486" y="151.667" fixed="false" boundary="false" sam="false"/>
 
    <node x="-114.612" y="118.534" fixed="false" boundary="false" sam="false"/>
 
    <node x="-64.6249" y="-103.902" fixed="false" boundary="false" sam="false"/>
 
    <node x="-61.2751" y="-110.911" fixed="false" boundary="false" sam="false"/>
 
    <node x="-54.1155" y="-135.431" fixed="false" boundary="false" sam="false"/>
 
    <node x="185.353" y="118.104" fixed="false" boundary="true" sam="false"/>
 
    <node x="144.236" y="92.8634" fixed="false" boundary="false" sam="false"/>
 
    <node x="160.983" y="103.83" fixed="false" boundary="false" sam="false"/>
 
    <node x="211.708" y="35.5985" fixed="false" boundary="true" sam="false"/>
 
    <node x="163.193" y="17.7965" fixed="false" boundary="false" sam="false"/>
 
    <node x="201.511" y="33.0676" fixed="false" boundary="false" sam="false"/>
 
    <node x="172.364" y="14.9705" fixed="false" boundary="false" sam="false"/>
 
    <node x="183.959" y="-104.382" fixed="false" boundary="true" sam="false"/>
 
    <node x="139.025" y="-81.1372" fixed="false" boundary="false" sam="false"/>
 
    <node x="174.775" y="-100.999" fixed="false" boundary="false" sam="false"/>
 
    <node x="149.188" y="-85.0611" fixed="false" boundary="false" sam="false"/>
 
    <node x="-32.8682" y="12.8876" fixed="false" boundary="false" sam="false"/>
 
    <node x="-57.7929" y="55.3967" fixed="false" boundary="false" sam="false"/>
 
    <node x="-48.5296" y="32.9357" fixed="false" boundary="false" sam="false"/>
 
    <node x="-49.1296" y="40.0124" fixed="false" boundary="false" sam="false"/>
 
    <node x="26.3229" y="-206.028" fixed="false" boundary="true" sam="false"/>
 
    <node x="25.2298" y="-158.198" fixed="false" boundary="false" sam="false"/>
 
    <node x="27.0593" y="-197.614" fixed="false" boundary="false" sam="false"/>
 
    <node x="23.4643" y="-183.167" fixed="false" boundary="false" sam="false"/>
 
    <node x="-181.091" y="-75.5459" fixed="false" boundary="false" sam="false"/>
 
    <node x="-177.717" y="-20.2975" fixed="false" boundary="false" sam="false"/>
 
    <node x="-183.9" y="-66.3829" fixed="false" boundary="false" sam="false"/>
 
    <node x="-179.124" y="-31.9273" fixed="false" boundary="false" sam="false"/>
 
    <node x="-153.748" y="54.3173" fixed="false" boundary="false" sam="false"/>
 
    <node x="-139.856" y="101.118" fixed="false" boundary="false" sam="false"/>
 
    <node x="-150.908" y="61.9166" fixed="false" boundary="false" sam="false"/>
 
    <node x="-150.435" y="77.4528" fixed="false" boundary="false" sam="false"/>
 
    <node x="62.1618" y="-28.5725" fixed="false" boundary="false" sam="false"/>
 
    <node x="-99.6234" y="-62.4219" fixed="false" boundary="false" sam="false"/>
 
    <node x="-106.68" y="-101.542" fixed="false" boundary="false" sam="false"/>
 
    <node x="-102.466" y="-70.9463" fixed="false" boundary="false" sam="false"/>
 
    <node x="31.5064" y="-100.597" fixed="false" boundary="false" sam="false"/>
 
    <node x="17.1551" y="-149.66" fixed="false" boundary="false" sam="false"/>
 
    <node x="27.6775" y="-117.7" fixed="false" boundary="false" sam="false"/>
 
    <node x="23.8446" y="-133.412" fixed="false" boundary="false" sam="false"/>
 
    <node x="68.6305" y="201.652" fixed="false" boundary="true" sam="false"/>
 
    <node x="71.4223" y="157.396" fixed="false" boundary="false" sam="false"/>
 
    <node x="68.196" y="192.919" fixed="false" boundary="false" sam="false"/>
 
    <node x="74.6847" y="177.656" fixed="false" boundary="false" sam="false"/>
 
    <node x="152.923" y="35.1804" fixed="false" boundary="false" sam="false"/>
 
    <node x="104.724" y="26.647" fixed="false" boundary="false" sam="false"/>
 
    <node x="135.764" y="36.6537" fixed="false" boundary="false" sam="false"/>
 
    <node x="121.157" y="33.5706" fixed="false" boundary="false" sam="false"/>
 
    <node x="-39.5808" y="-95.0964" fixed="false" boundary="false" sam="false"/>
 
    <node x="-34.3266" y="-86.3448" fixed="false" boundary="false" sam="false"/>
 
    <node x="-14.548" y="-64.7356" fixed="false" boundary="false" sam="false"/>
 
    <node x="-103.475" y="-24.2564" fixed="false" boundary="false" sam="false"/>
 
    <node x="-82.4534" y="-39.7244" fixed="false" boundary="false" sam="false"/>
 
    <node x="-96.6539" y="-29.6411" fixed="false" boundary="false" sam="false"/>
 
    <node x="30.1129" y="-51.485" fixed="false" boundary="false" sam="false"/>
 
    <node x="74.5377" y="-70.9554" fixed="false" boundary="false" sam="false"/>
 
    <node x="47.173" y="-63.3638" fixed="false" boundary="false" sam="false"/>
 
    <node x="64.2311" y="-71.9236" fixed="false" boundary="false" sam="false"/>
 
    <node x="63.5152" y="8.37244" fixed="false" boundary="false" sam="false"/>
 
    <node x="97.268" y="17.6251" fixed="false" boundary="false" sam="false"/>
 
    <node x="73.7662" y="6.35858" fixed="false" boundary="false" sam="false"/>
 
    <node x="80.8249" y="11.3568" fixed="false" boundary="false" sam="false"/>
 
    <node x="9.50183" y="5.55829" fixed="false" boundary="false" sam="false"/>
 
    <node x="-20.647" y="-41.4717" fixed="false" boundary="false" sam="false"/>
 
    <node x="1.10121" y="-8.5249" fixed="false" boundary="false" sam="false"/>
 
    <node x="-5.22784" y="-10.6115" fixed="false" boundary="false" sam="false"/>
 
    <node x="-69.3084" y="-201.229" fixed="false" boundary="true" sam="false"/>
 
    <node x="-49.034" y="-154.436" fixed="false" boundary="false" sam="false"/>
 
    <node x="-52.3466" y="-181.961" fixed="false" boundary="false" sam="false"/>
 
    <node x="-45.5672" y="-165.732" fixed="false" boundary="false" sam="false"/>
 
    <node x="59.9419" y="158.371" fixed="false" boundary="false" sam="false"/>
 
    <node x="44.0536" y="125.511" fixed="false" boundary="false" sam="false"/>
 
    <node x="53.2781" y="150.703" fixed="false" boundary="false" sam="false"/>
 
    <node x="-136.104" y="37.2232" fixed="false" boundary="false" sam="false"/>
 
    <node x="-100.952" y="10.9361" fixed="false" boundary="false" sam="false"/>
 
    <node x="-128.303" y="32.7513" fixed="false" boundary="false" sam="false"/>
 
    <node x="-106.281" y="18.7171" fixed="false" boundary="false" sam="false"/>
 
    <node x="18.1123" y="6.22266" fixed="false" boundary="false" sam="false"/>
 
    <node x="20.5733" y="15.0646" fixed="false" boundary="false" sam="false"/>
 
    <node x="29.509" y="48.0265" fixed="false" boundary="false" sam="false"/>
 
    <node x="186.928" y="-61.1319" fixed="false" boundary="false" sam="false"/>
 
    <node x="121.425" y="158.656" fixed="false" boundary="false" sam="false"/>
 
    <node x="78.3815" y="-181.63" fixed="false" boundary="false" sam="false"/>
 
    <node x="-216.739" y="-53.3122" fixed="false" boundary="true" sam="false"/>
 
    <node x="-184.912" y="113.042" fixed="false" boundary="true" sam="false"/>
 
    <node x="-60.4837" y="-67.2754" fixed="false" boundary="false" sam="false"/>
 
    <node x="-16.4348" y="34.5172" fixed="false" boundary="false" sam="false"/>
 
    <node x="-111.495" y="-150.493" fixed="false" boundary="false" sam="false"/>
 
    <node x="9.50712" y="192.487" fixed="false" boundary="false" sam="false"/>
 
    <node x="221.6" y="-23.9004" fixed="false" boundary="true" sam="false"/>
 
    <node x="111.372" y="185.317" fixed="false" boundary="true" sam="false"/>
 
    <node x="149.716" y="68.4832" fixed="false" boundary="false" sam="false"/>
 
    <node x="-125.207" y="53.4133" fixed="false" boundary="false" sam="false"/>
 
    <node x="-140.856" y="-27.9119" fixed="false" boundary="false" sam="false"/>
 
    <node x="122.776" y="-50.2898" fixed="false" boundary="false" sam="false"/>
 
    <node x="152.199" y="-155.032" fixed="false" boundary="true" sam="false"/>
 
    <node x="-167.571" y="-132.124" fixed="false" boundary="true" sam="false"/>
 
    <node x="-75.6213" y="-5.64008" fixed="false" boundary="false" sam="false"/>
 
    <node x="4.05731" y="209.424" fixed="false" boundary="true" sam="false"/>
 
    <node x="61.5564" y="57.8986" fixed="false" boundary="false" sam="false"/>
 
    <node x="-17.3226" y="-126.354" fixed="false" boundary="false" sam="false"/>
 
    <node x="-52.1382" y="-124.558" fixed="false" boundary="false" sam="false"/>
 
    <node x="-25.4163" y="-127.585" fixed="false" boundary="false" sam="false"/>
 
    <node x="-36.9427" y="-124.029" fixed="false" boundary="false" sam="false"/>
 
    <node x="109.596" y="-40.3139" fixed="false" boundary="false" sam="false"/>
 
    <node x="101.111" y="-70.4951" fixed="false" boundary="false" sam="false"/>
 
    <node x="105.766" y="-47.9137" fixed="false" boundary="false" sam="false"/>
 
    <node x="100.834" y="-63.101" fixed="false" boundary="false" sam="false"/>
 
    <node x="60.9484" y="-139.231" fixed="false" boundary="false" sam="false"/>
 
    <node x="-195.979" y="57.158" fixed="false" boundary="true" sam="false"/>
 
    <node x="81.9993" y="-90.539" fixed="false" boundary="false" sam="false"/>
 
    <node x="113.939" y="-108.019" fixed="false" boundary="false" sam="false"/>
 
    <node x="95.259" y="-96.6879" fixed="false" boundary="false" sam="false"/>
 
    <node x="107.92" y="-102.711" fixed="false" boundary="false" sam="false"/>
 
    <node x="128.059" y="118.205" fixed="false" boundary="false" sam="false"/>
 
    <node x="109.506" y="143.675" fixed="false" boundary="false" sam="false"/>
 
    <node x="122.832" y="121.935" fixed="false" boundary="false" sam="false"/>
 
    <node x="110.432" y="136.146" fixed="false" boundary="false" sam="false"/>
 
    <node x="130.401" y="-14.8607" fixed="false" boundary="false" sam="false"/>
 
    <node x="145.733" y="-48.5341" fixed="false" boundary="false" sam="false"/>
 
    <node x="142.699" y="-34.0887" fixed="false" boundary="false" sam="false"/>
 
    <node x="144.483" y="-41.2387" fixed="false" boundary="false" sam="false"/>
 
    <node x="-31.578" y="116.588" fixed="false" boundary="false" sam="false"/>
 
    <node x="-17.7253" y="141.012" fixed="false" boundary="false" sam="false"/>
 
    <node x="-25.9191" y="123.408" fixed="false" boundary="false" sam="false"/>
 
    <node x="-19.7949" y="134.526" fixed="false" boundary="false" sam="false"/>
 
    <node x="-185.239" y="-12.3591" fixed="false" boundary="false" sam="false"/>
 
    <node x="-183.105" y="17.4201" fixed="false" boundary="false" sam="false"/>
 
    <node x="-183.725" y="-2.80962" fixed="false" boundary="false" sam="false"/>
 
    <node x="-186.063" y="6.63678" fixed="false" boundary="false" sam="false"/>
 
    <node x="135.401" y="-126.227" fixed="false" boundary="false" sam="false"/>
 
    <node x="131.289" y="-132.589" fixed="false" boundary="false" sam="false"/>
 
    <node x="118.56" y="-151.009" fixed="false" boundary="false" sam="false"/>
 
    <node x="-171.659" y="-77.3424" fixed="false" boundary="false" sam="false"/>
 
    <node x="-151.907" y="-103.304" fixed="false" boundary="false" sam="false"/>
 
    <node x="-170.176" y="-86.2542" fixed="false" boundary="false" sam="false"/>
 
    <node x="-159.898" y="-99.0576" fixed="false" boundary="false" sam="false"/>
 
    <node x="102.222" y="72.2674" fixed="false" boundary="false" sam="false"/>
 
    <node x="96.7756" y="79.9066" fixed="false" boundary="false" sam="false"/>
 
    <node x="89.832" y="96.3816" fixed="false" boundary="false" sam="false"/>
 
    <node x="4.74127" y="172.661" fixed="false" boundary="false" sam="false"/>
 
    <node x="-27.1133" y="172.371" fixed="false" boundary="false" sam="false"/>
 
    <node x="-12.0417" y="168.932" fixed="false" boundary="false" sam="false"/>
 
    <node x="-19.6565" y="170.199" fixed="false" boundary="false" sam="false"/>
 
    <node x="-124.825" y="-129.352" fixed="false" boundary="false" sam="false"/>
 
    <node x="-147.739" y="-136.508" fixed="false" boundary="false" sam="false"/>
 
    <node x="-132.734" y="-129.189" fixed="false" boundary="false" sam="false"/>
 
    <node x="-62.6466" y="147.113" fixed="false" boundary="false" sam="false"/>
 
    <node x="25.0766" y="-66.7761" fixed="false" boundary="false" sam="false"/>
 
    <node x="-132.978" y="167.99" fixed="false" boundary="true" sam="false"/>
 
    <node x="-47.1505" y="120.586" fixed="false" boundary="false" sam="false"/>
 
    <node x="-65.2155" y="99.2168" fixed="false" boundary="false" sam="false"/>
 
    <node x="-50.9355" y="112.377" fixed="false" boundary="false" sam="false"/>
 
    <node x="-58.8764" y="101.059" fixed="false" boundary="false" sam="false"/>
 
    <node x="29.6833" y="-126.496" fixed="false" boundary="false" sam="false"/>
 
    <node x="52.7677" y="-138.127" fixed="false" boundary="false" sam="false"/>
 
    <node x="41.1864" y="-132.812" fixed="false" boundary="false" sam="false"/>
 
    <node x="62.7837" y="81.0514" fixed="false" boundary="false" sam="false"/>
 
    <node x="54.5641" y="80.7044" fixed="false" boundary="false" sam="false"/>
 
    <node x="33.0127" y="87.8754" fixed="false" boundary="false" sam="false"/>
 
    <node x="-88.2422" y="146.345" fixed="false" boundary="false" sam="false"/>
 
    <node x="-109.508" y="126.676" fixed="false" boundary="false" sam="false"/>
 
    <node x="-92.2356" y="140.603" fixed="false" boundary="false" sam="false"/>
 
    <node x="-97.9736" y="133.483" fixed="false" boundary="false" sam="false"/>
 
    <node x="115.576" y="175.6" fixed="false" boundary="true" sam="false"/>
 
    <node x="81.9563" y="171.696" fixed="false" boundary="false" sam="false"/>
 
    <node x="106.823" y="170.735" fixed="false" boundary="false" sam="false"/>
 
    <node x="89.7403" y="168.011" fixed="false" boundary="false" sam="false"/>
 
    <node x="143.072" y="1.88081" fixed="false" boundary="false" sam="false"/>
 
    <node x="115.053" y="27.2894" fixed="false" boundary="false" sam="false"/>
 
    <node x="131.047" y="11.3072" fixed="false" boundary="false" sam="false"/>
 
    <node x="120.117" y="20.6238" fixed="false" boundary="false" sam="false"/>
 
    <node x="-38.8773" y="211.538" fixed="false" boundary="true" sam="false"/>
 
    <node x="-58.032" y="173.93" fixed="false" boundary="false" sam="false"/>
 
    <node x="-40.2489" y="201.647" fixed="false" boundary="false" sam="false"/>
 
    <node x="-54.0344" y="180.55" fixed="false" boundary="false" sam="false"/>
 
    <node x="139.376" y="129.986" fixed="false" boundary="false" sam="false"/>
 
    <node x="166.584" y="112.621" fixed="false" boundary="false" sam="false"/>
 
    <node x="147.932" y="128.751" fixed="false" boundary="false" sam="false"/>
 
    <node x="161.779" y="119.987" fixed="false" boundary="false" sam="false"/>
 
    <node x="143.786" y="-129.443" fixed="false" boundary="false" sam="false"/>
 
    <node x="164.612" y="-97.0108" fixed="false" boundary="false" sam="false"/>
 
    <node x="150.057" y="-124.152" fixed="false" boundary="false" sam="false"/>
 
    <node x="159.594" y="-103.157" fixed="false" boundary="false" sam="false"/>
 
    <node x="-13.1493" y="-180.147" fixed="false" boundary="false" sam="false"/>
 
    <node x="19.8259" y="-176.521" fixed="false" boundary="false" sam="false"/>
 
    <node x="-4.60575" y="-181.361" fixed="false" boundary="false" sam="false"/>
 
    <node x="12.1893" y="-179.31" fixed="false" boundary="false" sam="false"/>
 
    <node x="-217.13" y="-42.1417" fixed="false" boundary="true" sam="false"/>
 
    <node x="-186.156" y="-49.3753" fixed="false" boundary="false" sam="false"/>
 
    <node x="-208.689" y="-40.3773" fixed="false" boundary="false" sam="false"/>
 
    <node x="-193.15" y="-44.0592" fixed="false" boundary="false" sam="false"/>
 
    <node x="-188.907" y="91.2448" fixed="false" boundary="true" sam="false"/>
 
    <node x="-151.543" y="86.1497" fixed="false" boundary="false" sam="false"/>
 
    <node x="-179.341" y="90.9175" fixed="false" boundary="false" sam="false"/>
 
    <node x="-164.683" y="88.3669" fixed="false" boundary="false" sam="false"/>
 
    <node x="98.1249" y="43.9665" fixed="false" boundary="false" sam="false"/>
 
    <node x="58.7807" y="29.7288" fixed="false" boundary="false" sam="false"/>
 
    <node x="88.6438" y="42.5016" fixed="false" boundary="false" sam="false"/>
 
    <node x="66.2484" y="32.8312" fixed="false" boundary="false" sam="false"/>
 
    <node x="27.5847" y="-24.3998" fixed="false" boundary="false" sam="false"/>
 
    <node x="-9.65571" y="-27.6381" fixed="false" boundary="false" sam="false"/>
 
    <node x="13.6424" y="-31.4104" fixed="false" boundary="false" sam="false"/>
 
    <node x="-1.36222" y="-30.9039" fixed="false" boundary="false" sam="false"/>
 
    <node x="-65.2447" y="89.6921" fixed="false" boundary="false" sam="false"/>
 
    <node x="-90.0172" y="72.0384" fixed="false" boundary="false" sam="false"/>
 
    <node x="-75.2555" y="79.4137" fixed="false" boundary="false" sam="false"/>
 
    <node x="204.278" y="-46.2333" fixed="false" boundary="true" sam="false"/>
 
    <node x="183.088" y="-17.0195" fixed="false" boundary="false" sam="false"/>
 
    <node x="195.658" y="-41.1112" fixed="false" boundary="false" sam="false"/>
 
    <node x="181.745" y="-23.438" fixed="false" boundary="false" sam="false"/>
 
    <node x="72.752" y="-162.575" fixed="false" boundary="false" sam="false"/>
 
    <node x="102.233" y="-150.122" fixed="false" boundary="false" sam="false"/>
 
    <node x="85.6407" y="-158.386" fixed="false" boundary="false" sam="false"/>
 
    <node x="96.3352" y="-154.347" fixed="false" boundary="false" sam="false"/>
 
    <node x="-93.6185" y="154.148" fixed="false" boundary="false" sam="false"/>
 
    <node x="-76.4571" y="177.661" fixed="false" boundary="false" sam="false"/>
 
    <node x="-91.9492" y="161.113" fixed="false" boundary="false" sam="false"/>
 
    <node x="-82.9506" y="173.102" fixed="false" boundary="false" sam="false"/>
 
    <node x="-164.286" y="53.2232" fixed="false" boundary="false" sam="false"/>
 
    <node x="-174.775" y="18.3336" fixed="false" boundary="false" sam="false"/>
 
    <node x="-169.231" y="40.0162" fixed="false" boundary="false" sam="false"/>
 
    <node x="-172.331" y="26.6509" fixed="false" boundary="false" sam="false"/>
 
    <node x="-93.7722" y="-120.965" fixed="false" boundary="false" sam="false"/>
 
    <node x="-76.0197" y="-146.353" fixed="false" boundary="false" sam="false"/>
 
    <node x="-85.9965" y="-124.382" fixed="false" boundary="false" sam="false"/>
 
    <node x="-77.3455" y="-137.49" fixed="false" boundary="false" sam="false"/>
 
    <node x="173.296" y="61.0782" fixed="false" boundary="false" sam="false"/>
 
    <node x="191.629" y="29.9013" fixed="false" boundary="false" sam="false"/>
 
    <node x="177.847" y="55.2222" fixed="false" boundary="false" sam="false"/>
 
    <node x="186.01" y="35.5854" fixed="false" boundary="false" sam="false"/>
 
    <node x="176.823" y="-57.1977" fixed="false" boundary="false" sam="false"/>
 
    <node x="159.586" y="-88.7505" fixed="false" boundary="false" sam="false"/>
 
    <node x="171.136" y="-62.1767" fixed="false" boundary="false" sam="false"/>
 
    <node x="164.805" y="-83.2558" fixed="false" boundary="false" sam="false"/>
 
    <node x="-119.918" y="64.3291" fixed="false" boundary="false" sam="false"/>
 
    <node x="-142.422" y="92.8105" fixed="false" boundary="false" sam="false"/>
 
    <node x="-123.354" y="78.0261" fixed="false" boundary="false" sam="false"/>
 
    <node x="-133.356" y="89.7414" fixed="false" boundary="false" sam="false"/>
 
    <node x="39.7785" y="201.37" fixed="false" boundary="true" sam="false"/>
 
    <node x="47.8063" y="172.424" fixed="false" boundary="false" sam="false"/>
 
    <node x="42.6076" y="193.944" fixed="false" boundary="false" sam="false"/>
 
    <node x="45.5062" y="186.726" fixed="false" boundary="false" sam="false"/>
 
    <node x="129.793" y="76.2837" fixed="false" boundary="false" sam="false"/>
 
    <node x="127.476" y="39.873" fixed="false" boundary="false" sam="false"/>
 
    <node x="126.579" y="69.2418" fixed="false" boundary="false" sam="false"/>
 
    <node x="126.077" y="61.7641" fixed="false" boundary="false" sam="false"/>
 
    <node x="-70.3227" y="-14.1977" fixed="false" boundary="false" sam="false"/>
 
    <node x="-89.6129" y="-34.4718" fixed="false" boundary="false" sam="false"/>
 
    <node x="-77.1119" y="-20.348" fixed="false" boundary="false" sam="false"/>
 
    <node x="-83.5264" y="-27.1757" fixed="false" boundary="false" sam="false"/>
 
    <node x="41.8518" y="-100.474" fixed="false" boundary="false" sam="false"/>
 
    <node x="54.067" y="-71.2112" fixed="false" boundary="false" sam="false"/>
 
    <node x="46.1157" y="-95.4374" fixed="false" boundary="false" sam="false"/>
 
    <node x="50.0308" y="-90.0857" fixed="false" boundary="false" sam="false"/>
 
    <node x="223.725" y="17.0266" fixed="false" boundary="true" sam="false"/>
 
    <node x="-23.9784" y="79.6859" fixed="false" boundary="false" sam="false"/>
 
    <node x="-134.623" y="-101.908" fixed="false" boundary="false" sam="false"/>
 
    <node x="-111.529" y="-93.9327" fixed="false" boundary="false" sam="false"/>
 
    <node x="-126.961" y="-98.8652" fixed="false" boundary="false" sam="false"/>
 
    <node x="-119.22" y="-96.032" fixed="false" boundary="false" sam="false"/>
 
    <node x="-52.265" y="-51.0016" fixed="false" boundary="false" sam="false"/>
 
    <node x="-29.4977" y="-77.366" fixed="false" boundary="false" sam="false"/>
 
    <node x="-44.3311" y="-53.9872" fixed="false" boundary="false" sam="false"/>
 
    <node x="-35.3194" y="-64.8169" fixed="false" boundary="false" sam="false"/>
 
    <node x="-112.81" y="-25.8989" fixed="false" boundary="false" sam="false"/>
 
    <node x="-114.367" y="-55.7363" fixed="false" boundary="false" sam="false"/>
 
    <node x="-114.611" y="-34.0729" fixed="false" boundary="false" sam="false"/>
 
    <node x="-116.402" y="-48.7174" fixed="false" boundary="false" sam="false"/>
 
    <node x="41.0104" y="-55.0683" fixed="false" boundary="false" sam="false"/>
 
    <node x="54.7191" y="-39.1699" fixed="false" boundary="false" sam="false"/>
 
    <node x="47.7319" y="-50.5526" fixed="false" boundary="false" sam="false"/>
 
    <node x="204.387" y="-4.41921" fixed="false" boundary="false" sam="false"/>
 
    <node x="181.721" y="12.8091" fixed="false" boundary="false" sam="false"/>
 
    <node x="200.442" y="1.95786" fixed="false" boundary="false" sam="false"/>
 
    <node x="189.632" y="10.2734" fixed="false" boundary="false" sam="false"/>
 
    <node x="-74.9725" y="5.37072" fixed="false" boundary="false" sam="false"/>
 
    <node x="-47.6153" y="25.8482" fixed="false" boundary="false" sam="false"/>
 
    <node x="-68.1305" y="8.27078" fixed="false" boundary="false" sam="false"/>
 
    <node x="-58.7477" y="18.0498" fixed="false" boundary="false" sam="false"/>
 
    <node x="-89.1143" y="-161.834" fixed="false" boundary="false" sam="false"/>
 
    <node x="-62.167" y="-184.462" fixed="false" boundary="false" sam="false"/>
 
    <node x="-76.5229" y="-168.814" fixed="false" boundary="false" sam="false"/>
 
    <node x="-67.3861" y="-177.263" fixed="false" boundary="false" sam="false"/>
 
    <node x="13.7771" y="145.312" fixed="false" boundary="false" sam="false"/>
 
    <node x="46.7273" y="142.996" fixed="false" boundary="false" sam="false"/>
 
    <node x="22.4339" y="140.509" fixed="false" boundary="false" sam="false"/>
 
    <node x="29.7738" y="143.121" fixed="false" boundary="false" sam="false"/>
 
    <node x="-93.3598" y="54.5271" fixed="false" boundary="false" sam="false"/>
 
    <node x="-111.21" y="26.9247" fixed="false" boundary="false" sam="false"/>
 
    <node x="-99.7051" y="49.6899" fixed="false" boundary="false" sam="false"/>
 
    <node x="-105.89" y="39.0554" fixed="false" boundary="false" sam="false"/>
 
    <node x="-7.66528" y="102.198" fixed="false" boundary="false" sam="false"/>
 
    <node x="10.8767" y="67.9874" fixed="false" boundary="false" sam="false"/>
 
    <node x="-4.94449" y="95.3582" fixed="false" boundary="false" sam="false"/>
 
    <node x="4.81536" y="74.7116" fixed="false" boundary="false" sam="false"/>
 
    <node x="-157.162" y="115.591" fixed="false" boundary="false" sam="false"/>
 
    <node x="-129.226" y="143.567" fixed="false" boundary="false" sam="false"/>
 
    <node x="-152.491" y="122.18" fixed="false" boundary="false" sam="false"/>
 
    <node x="-134.136" y="136.533" fixed="false" boundary="false" sam="false"/>
 
    <node x="178.059" y="70.0347" fixed="false" boundary="false" sam="false"/>
 
    <node x="173.178" y="76.1069" fixed="false" boundary="false" sam="false"/>
 
    <node x="166.31" y="97.7381" fixed="false" boundary="false" sam="false"/>
 
    <node x="-16.1955" y="60.1537" fixed="false" boundary="false" sam="false"/>
 
    <node x="-49.4208" y="47.1704" fixed="false" boundary="false" sam="false"/>
 
    <node x="-23.617" y="56.5505" fixed="false" boundary="false" sam="false"/>
 
    <node x="-35.3284" y="50.1297" fixed="false" boundary="false" sam="false"/>
 
    <node x="55.6757" y="-202.88" fixed="false" boundary="true" sam="false"/>
 
    <node x="44.4162" y="-163.98" fixed="false" boundary="false" sam="false"/>
 
    <node x="53.7856" y="-194.395" fixed="false" boundary="false" sam="false"/>
 
    <node x="44.9065" y="-172.306" fixed="false" boundary="false" sam="false"/>
 
    <node x="-145.082" y="-42.2594" fixed="false" boundary="false" sam="false"/>
 
    <node x="-179.36" y="-43.564" fixed="false" boundary="false" sam="false"/>
 
    <node x="-158.833" y="-42.4835" fixed="false" boundary="false" sam="false"/>
 
    <node x="-165.457" y="-45.851" fixed="false" boundary="false" sam="false"/>
 
    <node x="-36.8881" y="1.67456" fixed="false" boundary="false" sam="false"/>
 
    <node x="-13.8729" y="-17.7479" fixed="false" boundary="false" sam="false"/>
 
    <node x="-33.275" y="-5.10537" fixed="false" boundary="false" sam="false"/>
 
    <node x="-21.4722" y="-14.1043" fixed="false" boundary="false" sam="false"/>
 
    <node x="-18.2164" y="-198.303" fixed="false" boundary="false" sam="false"/>
 
    <node x="-43.6244" y="-177.713" fixed="false" boundary="false" sam="false"/>
 
    <node x="-25.98" y="-195.368" fixed="false" boundary="false" sam="false"/>
 
    <node x="-33.462" y="-191.785" fixed="false" boundary="false" sam="false"/>
 
    <node x="-10.583" y="40.5472" fixed="false" boundary="false" sam="false"/>
 
    <node x="24.9536" y="39.2645" fixed="false" boundary="false" sam="false"/>
 
    <node x="-3.72411" y="34.914" fixed="false" boundary="false" sam="false"/>
 
    <node x="11.4419" y="33.4112" fixed="false" boundary="false" sam="false"/>
 
    <node x="-62.1782" y="-85.7381" fixed="false" boundary="false" sam="false"/>
 
    <node x="-103.195" y="-80.1484" fixed="false" boundary="false" sam="false"/>
 
    <node x="-70.5568" y="-84.1402" fixed="false" boundary="false" sam="false"/>
 
    <node x="-95.4592" y="-84.0879" fixed="false" boundary="false" sam="false"/>
 
    <node x="-0.66878" y="-105.498" fixed="false" boundary="false" sam="false"/>
 
    <node x="17.3878" y="-139.661" fixed="false" boundary="false" sam="false"/>
 
    <node x="5.77156" y="-120.494" fixed="false" boundary="false" sam="false"/>
 
    <node x="11.1006" y="-134.873" fixed="false" boundary="false" sam="false"/>
 
    <node x="10.0444" y="-87.695" fixed="false" boundary="false" sam="false"/>
 
    <node x="-19.9952" y="-72.6393" fixed="false" boundary="false" sam="false"/>
 
    <node x="-3.44821" y="-79.7141" fixed="false" boundary="false" sam="false"/>
 
    <node x="-14.9778" y="-76.5857" fixed="false" boundary="false" sam="false"/>
 
    <node x="93.8811" y="-27.3374" fixed="false" boundary="false" sam="false"/>
 
    <node x="89.918" y="-19.9833" fixed="false" boundary="false" sam="false"/>
 
    <node x="77.3942" y="-1.12177" fixed="false" boundary="false" sam="false"/>
 
    <node x="85.863" y="117.705" fixed="false" boundary="false" sam="false"/>
 
    <node x="50.6529" y="133.242" fixed="false" boundary="false" sam="false"/>
 
    <node x="77.633" y="122.642" fixed="false" boundary="false" sam="false"/>
 
    <node x="68.2874" y="125.226" fixed="false" boundary="false" sam="false"/>
 
    <node x="-141.493" y="6.06573" fixed="false" boundary="false" sam="false"/>
 
    <node x="-104.59" y="1.59527" fixed="false" boundary="false" sam="false"/>
 
    <node x="-122.425" y="1.57526" fixed="false" boundary="false" sam="false"/>
 
    <node x="-113.412" y="1.68897" fixed="false" boundary="false" sam="false"/>
 
    <node x="57.6243" y="18.8392" fixed="false" boundary="false" sam="false"/>
 
    <node x="26.1667" y="22.5207" fixed="false" boundary="false" sam="false"/>
 
    <node x="48.8287" y="17.5287" fixed="false" boundary="false" sam="false"/>
 
    <node x="33.3926" y="18.8133" fixed="false" boundary="false" sam="false"/>
 
    <node x="-5.38037" y="-208.9" fixed="false" boundary="true" sam="false"/>
 
    <node x="141.939" y="163.101" fixed="false" boundary="true" sam="false"/>
 
    <node x="182.636" y="-115.676" fixed="false" boundary="true" sam="false"/>
 
    <node x="-137.312" y="-157.945" fixed="false" boundary="true" sam="false"/>
 
    <node x="91.8916" y="-187.059" fixed="false" boundary="true" sam="false"/>
 
    <node x="-206.284" y="28.5785" fixed="false" boundary="true" sam="false"/>
 
    <node x="51.6534" y="105.994" fixed="false" boundary="false" sam="false"/>
 
    <node x="197.78" y="88.0545" fixed="false" boundary="true" sam="false"/>
 
    <node x="-193.274" y="-99.0936" fixed="false" boundary="true" sam="false"/>
 
    <node x="-79.8949" y="-198.448" fixed="false" boundary="true" sam="false"/>
 
    <node x="-28.3023" y="-153.733" fixed="false" boundary="false" sam="false"/>
 
    <node x="-77.3624" y="133.331" fixed="false" boundary="false" sam="false"/>
 
    <node x="-1.61757" y="-54.6264" fixed="false" boundary="false" sam="false"/>
 
    <node x="55.1299" y="-16.4168" fixed="false" boundary="false" sam="false"/>
 
    <node x="197.518" y="-75.6467" fixed="false" boundary="true" sam="false"/>
 
    <node x="-151.485" y="155.354" fixed="false" boundary="true" sam="false"/>
 
    <node x="-59.7267" y="-207.903" fixed="false" boundary="true" sam="false"/>
 
    <node x="-100.285" y="194.134" fixed="false" boundary="true" sam="false"/>
 
    <node x="84.1866" y="-125.728" fixed="false" boundary="false" sam="false"/>
 
    <node x="-6.2391" y="14.3459" fixed="false" boundary="false" sam="false"/>
 
    <node x="-90.3063" y="-60.8451" fixed="false" boundary="false" sam="false"/>
 
    <node x="-8.70642" y="144.086" fixed="false" boundary="false" sam="false"/>
 
    <node x="-4.30599" y="167.766" fixed="false" boundary="false" sam="false"/>
 
    <node x="-7.22712" y="150.117" fixed="false" boundary="false" sam="false"/>
 
    <node x="-7.20448" y="156.135" fixed="false" boundary="false" sam="false"/>
 
    <node x="93.8904" y="195.75" fixed="false" boundary="true" sam="false"/>
 
    <node x="-84.2254" y="50.6795" fixed="false" boundary="false" sam="false"/>
 
    <node x="109.694" y="-21.5476" fixed="false" boundary="false" sam="false"/>
 
    <node x="79.8485" y="62.3924" fixed="false" boundary="false" sam="false"/>
 
    <node x="130.76" y="92.9154" fixed="false" boundary="false" sam="false"/>
 
    <node x="95.2574" y="107.816" fixed="false" boundary="false" sam="false"/>
 
    <node x="111.578" y="128.69" fixed="false" boundary="false" sam="false"/>
 
    <node x="98.9517" y="113.893" fixed="false" boundary="false" sam="false"/>
 
    <node x="102.236" y="119.049" fixed="false" boundary="false" sam="false"/>
 
    <node x="-154.896" y="-112.234" fixed="false" boundary="false" sam="false"/>
 
    <node x="-140.668" y="-129.628" fixed="false" boundary="false" sam="false"/>
 
    <node x="-149.671" y="-115.685" fixed="false" boundary="false" sam="false"/>
 
    <node x="-142.716" y="-124.307" fixed="false" boundary="false" sam="false"/>
 
    <node x="192.523" y="-85.3214" fixed="false" boundary="true" sam="false"/>
 
    <node x="169.362" y="-76.6735" fixed="false" boundary="false" sam="false"/>
 
    <node x="185.102" y="-82.367" fixed="false" boundary="false" sam="false"/>
 
    <node x="176.642" y="-79.3533" fixed="false" boundary="false" sam="false"/>
 
    <node x="204.397" y="67.9769" fixed="false" boundary="true" sam="false"/>
 
    <node x="158.341" y="-5.94179" fixed="false" boundary="false" sam="false"/>
 
    <node x="57.7416" y="-1.06819" fixed="false" boundary="false" sam="false"/>
 
    <node x="-32.1273" y="90.9516" fixed="false" boundary="false" sam="false"/>
 
    <node x="-52.7691" y="103.534" fixed="false" boundary="false" sam="false"/>
 
    <node x="-39.4917" y="92.6931" fixed="false" boundary="false" sam="false"/>
 
    <node x="-47.305" y="97.7915" fixed="false" boundary="false" sam="false"/>
 
    <node x="161.08" y="-18.4085" fixed="false" boundary="false" sam="false"/>
 
    <node x="140.567" y="-25.6303" fixed="false" boundary="false" sam="false"/>
 
    <node x="154.32" y="-19.885" fixed="false" boundary="false" sam="false"/>
 
    <node x="146.613" y="-23.0232" fixed="false" boundary="false" sam="false"/>
 
    <node x="35.2429" y="-158.559" fixed="false" boundary="false" sam="false"/>
 
    <node x="44.6914" y="-138.232" fixed="false" boundary="false" sam="false"/>
 
    <node x="37.0075" y="-150.983" fixed="false" boundary="false" sam="false"/>
 
    <node x="40.0964" y="-144.165" fixed="false" boundary="false" sam="false"/>
 
    <node x="144.058" y="-160.27" fixed="false" boundary="true" sam="false"/>
 
    <node x="125.253" y="-144.637" fixed="false" boundary="false" sam="false"/>
 
    <node x="139.919" y="-154.688" fixed="false" boundary="false" sam="false"/>
 
    <node x="130.899" y="-146.501" fixed="false" boundary="false" sam="false"/>
 
    <node x="130.889" y="-98.1183" fixed="false" boundary="false" sam="false"/>
 
    <node x="153.835" y="-108.756" fixed="false" boundary="false" sam="false"/>
 
    <node x="138.666" y="-101.588" fixed="false" boundary="false" sam="false"/>
 
    <node x="146.269" y="-105.028" fixed="false" boundary="false" sam="false"/>
 
    <node x="-194.705" y="-15.4287" fixed="false" boundary="false" sam="false"/>
 
    <node x="-200.129" y="-38.6657" fixed="false" boundary="false" sam="false"/>
 
    <node x="-196.996" y="-23.0519" fixed="false" boundary="false" sam="false"/>
 
    <node x="-198.564" y="-30.9386" fixed="false" boundary="false" sam="false"/>
 
    <node x="171.755" y="-49.0424" fixed="false" boundary="false" sam="false"/>
 
    <node x="186.738" y="-36.8181" fixed="false" boundary="false" sam="false"/>
 
    <node x="175.961" y="-44.3067" fixed="false" boundary="false" sam="false"/>
 
    <node x="181.041" y="-40.1713" fixed="false" boundary="false" sam="false"/>
 
    <node x="137.161" y="139.379" fixed="false" boundary="false" sam="false"/>
 
    <node x="117.949" y="148.722" fixed="false" boundary="false" sam="false"/>
 
    <node x="129.628" y="140.139" fixed="false" boundary="false" sam="false"/>
 
    <node x="123.872" y="144.631" fixed="false" boundary="false" sam="false"/>
 
    <node x="-2.6845" y="112.814" fixed="false" boundary="false" sam="false"/>
 
    <node x="-20.0969" y="127.669" fixed="false" boundary="false" sam="false"/>
 
    <node x="-7.46683" y="118.7" fixed="false" boundary="false" sam="false"/>
 
    <node x="-13.3968" y="123.532" fixed="false" boundary="false" sam="false"/>
 
    <node x="-163.482" y="-12.5392" fixed="false" boundary="false" sam="false"/>
 
    <node x="-167.647" y="11.5354" fixed="false" boundary="false" sam="false"/>
 
    <node x="-167.728" y="-7.12436" fixed="false" boundary="false" sam="false"/>
 
    <node x="-169.878" y="5.23081" fixed="false" boundary="false" sam="false"/>
 
    <node x="-186.048" y="-107.4" fixed="false" boundary="true" sam="false"/>
 
    <node x="-167.709" y="-94.1997" fixed="false" boundary="false" sam="false"/>
 
    <node x="-180.15" y="-102.838" fixed="false" boundary="false" sam="false"/>
 
    <node x="-174.389" y="-98.698" fixed="false" boundary="false" sam="false"/>
 
    <node x="-109.595" y="158.612" fixed="false" boundary="false" sam="false"/>
 
    <node x="-119.165" y="141.186" fixed="false" boundary="false" sam="false"/>
 
    <node x="-111.939" y="153.125" fixed="false" boundary="false" sam="false"/>
 
    <node x="-115.257" y="145.989" fixed="false" boundary="false" sam="false"/>
 
    <node x="-210.603" y="-73.9464" fixed="false" boundary="true" sam="false"/>
 
    <node x="15.8264" y="-207.842" fixed="false" boundary="true" sam="false"/>
 
    <node x="160.28" y="152.786" fixed="false" boundary="true" sam="false"/>
 
    <node x="27.6854" y="64.1702" fixed="false" boundary="false" sam="false"/>
 
    <node x="-94.8202" y="104.234" fixed="false" boundary="false" sam="false"/>
 
    <node x="114.929" y="-79.112" fixed="false" boundary="false" sam="false"/>
 
    <node x="102.485" y="-97.1467" fixed="false" boundary="false" sam="false"/>
 
    <node x="109.583" y="-83.9336" fixed="false" boundary="false" sam="false"/>
 
    <node x="105.672" y="-89.4309" fixed="false" boundary="false" sam="false"/>
 
    <node x="-109.781" y="-85.0268" fixed="false" boundary="false" sam="false"/>
 
    <node x="-128.934" y="-73.8117" fixed="false" boundary="false" sam="false"/>
 
    <node x="-115.56" y="-80.4951" fixed="false" boundary="false" sam="false"/>
 
    <node x="-122.045" y="-76.7379" fixed="false" boundary="false" sam="false"/>
 
    <node x="-24.6229" y="144.428" fixed="false" boundary="false" sam="false"/>
 
    <node x="-48.6092" y="136.734" fixed="false" boundary="false" sam="false"/>
 
    <node x="-31.5407" y="140.624" fixed="false" boundary="false" sam="false"/>
 
    <node x="-41.1308" y="137.744" fixed="false" boundary="false" sam="false"/>
 
    <node x="-202.464" y="6.18416" fixed="false" boundary="false" sam="false"/>
 
    <node x="-193.857" y="5.65594" fixed="false" boundary="false" sam="false"/>
 
    <node x="100.067" y="145.08" fixed="false" boundary="false" sam="false"/>
 
    <node x="98.0719" y="166.113" fixed="false" boundary="false" sam="false"/>
 
    <node x="98.7382" y="151.492" fixed="false" boundary="false" sam="false"/>
 
    <node x="98.1188" y="158.113" fixed="false" boundary="false" sam="false"/>
 
    <node x="-37.6637" y="-150.675" fixed="false" boundary="false" sam="false"/>
 
    <node x="-31.6727" y="-129.133" fixed="false" boundary="false" sam="false"/>
 
    <node x="-34.8866" y="-143.586" fixed="false" boundary="false" sam="false"/>
 
    <node x="-32.9084" y="-136.366" fixed="false" boundary="false" sam="false"/>
 
    <node x="-26.7143" y="181.248" fixed="false" boundary="false" sam="false"/>
 
    <node x="-43.2944" y="192.032" fixed="false" boundary="false" sam="false"/>
 
    <node x="-32.2318" y="183.746" fixed="false" boundary="false" sam="false"/>
 
    <node x="-38.4259" y="188.576" fixed="false" boundary="false" sam="false"/>
 
    <node x="168.934" y="145.393" fixed="false" boundary="true" sam="false"/>
 
    <node x="156.557" y="127.189" fixed="false" boundary="false" sam="false"/>
 
    <node x="164.619" y="139.258" fixed="false" boundary="false" sam="false"/>
 
    <node x="160.386" y="133.148" fixed="false" boundary="false" sam="false"/>
 
    <node x="-166.784" y="115.549" fixed="false" boundary="false" sam="false"/>
 
    <node x="-169.876" y="91.5617" fixed="false" boundary="false" sam="false"/>
 
    <node x="-165.785" y="109.013" fixed="false" boundary="false" sam="false"/>
 
    <node x="-164.76" y="102.64" fixed="false" boundary="false" sam="false"/>
 
    <node x="87.5652" y="16.9149" fixed="false" boundary="false" sam="false"/>
 
    <node x="74.3467" y="34.9148" fixed="false" boundary="false" sam="false"/>
 
    <node x="83.0696" y="22.949" fixed="false" boundary="false" sam="false"/>
 
    <node x="78.7189" y="28.9398" fixed="false" boundary="false" sam="false"/>
 
    <node x="69.1583" y="73.2912" fixed="false" boundary="false" sam="false"/>
 
    <node x="90.5801" y="86.4441" fixed="false" boundary="false" sam="false"/>
 
    <node x="76.2841" y="77.7488" fixed="false" boundary="false" sam="false"/>
 
    <node x="83.3299" y="82.2034" fixed="false" boundary="false" sam="false"/>
 
    <node x="-107.408" y="186.273" fixed="false" boundary="true" sam="false"/>
 
    <node x="-90.1325" y="169.836" fixed="false" boundary="false" sam="false"/>
 
    <node x="-102.231" y="180.195" fixed="false" boundary="false" sam="false"/>
 
    <node x="-96.3673" y="174.66" fixed="false" boundary="false" sam="false"/>
 
    <node x="-144.037" y="31.5373" fixed="false" boundary="false" sam="false"/>
 
    <node x="-167.324" y="33.8854" fixed="false" boundary="false" sam="false"/>
 
    <node x="-151.507" y="33.9453" fixed="false" boundary="false" sam="false"/>
 
    <node x="-159.334" y="34.7665" fixed="false" boundary="false" sam="false"/>
 
    <node x="-59.0093" y="-118.561" fixed="false" boundary="false" sam="false"/>
 
    <node x="-78.7162" y="-128.609" fixed="false" boundary="false" sam="false"/>
 
    <node x="-66.0169" y="-121.123" fixed="false" boundary="false" sam="false"/>
 
    <node x="-72.6772" y="-124.507" fixed="false" boundary="false" sam="false"/>
 
    <node x="206.27" y="57.1689" fixed="false" boundary="true" sam="false"/>
 
    <node x="182.856" y="49.5307" fixed="false" boundary="false" sam="false"/>
 
    <node x="198.264" y="54.7366" fixed="false" boundary="false" sam="false"/>
 
    <node x="190.55" y="52.2121" fixed="false" boundary="false" sam="false"/>
 
    <node x="28.1105" y="-189.313" fixed="false" boundary="false" sam="false"/>
 
    <node x="46.2085" y="-180.75" fixed="false" boundary="false" sam="false"/>
 
    <node x="34.2845" y="-186.628" fixed="false" boundary="false" sam="false"/>
 
    <node x="40.3208" y="-183.943" fixed="false" boundary="false" sam="false"/>
 
    <node x="68.2116" y="184.288" fixed="false" boundary="false" sam="false"/>
 
    <node x="49.2189" y="179.799" fixed="false" boundary="false" sam="false"/>
 
    <node x="61.9348" y="182.654" fixed="false" boundary="false" sam="false"/>
 
    <node x="55.6827" y="181.086" fixed="false" boundary="false" sam="false"/>
 
    <node x="-48.3967" y="-210.386" fixed="false" boundary="true" sam="false"/>
 
    <node x="-40.681" y="-187.763" fixed="false" boundary="false" sam="false"/>
 
    <node x="-46.1271" y="-202.578" fixed="false" boundary="false" sam="false"/>
 
    <node x="-43.4309" y="-195.005" fixed="false" boundary="false" sam="false"/>
 
    <node x="81.4423" y="-46.8909" fixed="false" boundary="false" sam="false"/>
 
    <node x="99.855" y="-55.7046" fixed="false" boundary="false" sam="false"/>
 
    <node x="87.0237" y="-50.8774" fixed="false" boundary="false" sam="false"/>
 
    <node x="93.3153" y="-53.8541" fixed="false" boundary="false" sam="false"/>
 
    <node x="118.543" y="-42.9734" fixed="false" boundary="false" sam="false"/>
 
    <node x="133.907" y="-23.0971" fixed="false" boundary="false" sam="false"/>
 
    <node x="124.278" y="-36.9391" fixed="false" boundary="false" sam="false"/>
 
    <node x="129.407" y="-30.1137" fixed="false" boundary="false" sam="false"/>
 
    <node x="104.938" y="-123.954" fixed="false" boundary="false" sam="false"/>
 
    <node x="125.263" y="-136.976" fixed="false" boundary="false" sam="false"/>
 
    <node x="111.373" y="-128.68" fixed="false" boundary="false" sam="false"/>
 
    <node x="118.08" y="-133.071" fixed="false" boundary="false" sam="false"/>
 
    <node x="108.398" y="75.6399" fixed="false" boundary="false" sam="false"/>
 
    <node x="113.956" y="98.7354" fixed="false" boundary="false" sam="false"/>
 
    <node x="109.013" y="83.662" fixed="false" boundary="false" sam="false"/>
 
    <node x="110.931" y="91.3769" fixed="false" boundary="false" sam="false"/>
 
    <node x="176.685" y="-125.291" fixed="false" boundary="true" sam="false"/>
 
    <node x="155.086" y="-117.408" fixed="false" boundary="false" sam="false"/>
 
    <node x="169.52" y="-123.533" fixed="false" boundary="false" sam="false"/>
 
    <node x="162.367" y="-120.911" fixed="false" boundary="false" sam="false"/>
 
    <node x="5.30269" y="-206.019" fixed="false" boundary="true" sam="false"/>
 
    <node x="3.96868" y="-180.652" fixed="false" boundary="false" sam="false"/>
 
    <node x="5.40733" y="-197.771" fixed="false" boundary="false" sam="false"/>
 
    <node x="4.89586" y="-188.719" fixed="false" boundary="false" sam="false"/>
 
    <node x="-212.242" y="-63.7941" fixed="false" boundary="true" sam="false"/>
 
    <node x="-188.006" y="-59.1015" fixed="false" boundary="false" sam="false"/>
 
    <node x="-203.863" y="-62.7894" fixed="false" boundary="false" sam="false"/>
 
    <node x="-195.807" y="-61.3818" fixed="false" boundary="false" sam="false"/>
 
    <node x="-174.623" y="66.7048" fixed="false" boundary="false" sam="false"/>
 
    <node x="-160.003" y="84.8162" fixed="false" boundary="false" sam="false"/>
 
    <node x="-170.213" y="73.2108" fixed="false" boundary="false" sam="false"/>
 
    <node x="-165.248" y="79.1779" fixed="false" boundary="false" sam="false"/>
 
    <node x="-71.7678" y="148.48" fixed="false" boundary="false" sam="false"/>
 
    <node x="-68.5131" y="172.324" fixed="false" boundary="false" sam="false"/>
 
    <node x="-71.5314" y="155.93" fixed="false" boundary="false" sam="false"/>
 
    <node x="-70.987" y="164.809" fixed="false" boundary="false" sam="false"/>
 
    <node x="141.573" y="-64.3787" fixed="false" boundary="false" sam="false"/>
 
    <node x="166.282" y="-67.8979" fixed="false" boundary="false" sam="false"/>
 
    <node x="149.901" y="-64.0867" fixed="false" boundary="false" sam="false"/>
 
    <node x="158.19" y="-65.2639" fixed="false" boundary="false" sam="false"/>
 
    <node x="102.885" y="53.7023" fixed="false" boundary="false" sam="false"/>
 
    <node x="124.85" y="48.8062" fixed="false" boundary="false" sam="false"/>
 
    <node x="108.995" y="53.3457" fixed="false" boundary="false" sam="false"/>
 
    <node x="118.159" y="51.8219" fixed="false" boundary="false" sam="false"/>
 
    <node x="-99.3187" y="-7.82792" fixed="false" boundary="false" sam="false"/>
 
    <node x="-83.2853" y="-7.9428" fixed="false" boundary="false" sam="false"/>
 
    <node x="-91.3305" y="-8.67824" fixed="false" boundary="false" sam="false"/>
 
    <node x="28.7304" y="116.782" fixed="false" boundary="false" sam="false"/>
 
    <node x="43.3937" y="58.7703" fixed="false" boundary="false" sam="false"/>
 
    <node x="46.415" y="80.5288" fixed="false" boundary="false" sam="false"/>
 
    <node x="44.1345" y="66.0258" fixed="false" boundary="false" sam="false"/>
 
    <node x="45.0581" y="73.3742" fixed="false" boundary="false" sam="false"/>
 
    <node x="-88.5809" y="112.131" fixed="false" boundary="false" sam="false"/>
 
    <node x="-101.814" y="127.539" fixed="false" boundary="false" sam="false"/>
 
    <node x="-92.3949" y="116.471" fixed="false" boundary="false" sam="false"/>
 
    <node x="-97.9664" y="122.62" fixed="false" boundary="false" sam="false"/>
 
    <node x="174.788" y="-11.7933" fixed="false" boundary="false" sam="false"/>
 
    <node x="179.517" y="4.59507" fixed="false" boundary="false" sam="false"/>
 
    <node x="177.081" y="-3.593" fixed="false" boundary="false" sam="false"/>
 
    <node x="-74.3832" y="37.7072" fixed="false" boundary="false" sam="false"/>
 
    <node x="-55.8313" y="24.9593" fixed="false" boundary="false" sam="false"/>
 
    <node x="-67.7597" y="34.0221" fixed="false" boundary="false" sam="false"/>
 
    <node x="-61.4669" y="29.7861" fixed="false" boundary="false" sam="false"/>
 
    <node x="-141.483" y="-87.155" fixed="false" boundary="false" sam="false"/>
 
    <node x="-162.787" y="-73.1826" fixed="false" boundary="false" sam="false"/>
 
    <node x="-148.41" y="-82.3471" fixed="false" boundary="false" sam="false"/>
 
    <node x="-155.595" y="-77.7049" fixed="false" boundary="false" sam="false"/>
 
    <node x="78.708" y="-128.987" fixed="false" boundary="false" sam="false"/>
 
    <node x="80.0086" y="-156.308" fixed="false" boundary="false" sam="false"/>
 
    <node x="79.9778" y="-137.139" fixed="false" boundary="false" sam="false"/>
 
    <node x="81.4263" y="-147.856" fixed="false" boundary="false" sam="false"/>
 
    <node x="110.502" y="-72.6302" fixed="false" boundary="false" sam="false"/>
 
    <node x="128.138" y="-56.8851" fixed="false" boundary="false" sam="false"/>
 
    <node x="116.367" y="-68.3534" fixed="false" boundary="false" sam="false"/>
 
    <node x="122.218" y="-62.0291" fixed="false" boundary="false" sam="false"/>
 
    <node x="-147.494" y="128.563" fixed="false" boundary="false" sam="false"/>
 
    <node x="-155.827" y="140.513" fixed="false" boundary="false" sam="false"/>
 
    <node x="-151.83" y="134.383" fixed="false" boundary="false" sam="false"/>
 
    <node x="-22.398" y="28.4478" fixed="false" boundary="false" sam="false"/>
 
    <node x="-39.8839" y="45.2342" fixed="false" boundary="false" sam="false"/>
 
    <node x="-27.9554" y="34.2114" fixed="false" boundary="false" sam="false"/>
 
    <node x="-33.8268" y="39.7174" fixed="false" boundary="false" sam="false"/>
 
    <node x="-159.013" y="-66.0512" fixed="false" boundary="false" sam="false"/>
 
    <node x="-172.417" y="-48.8764" fixed="false" boundary="false" sam="false"/>
 
    <node x="-164.467" y="-61.7612" fixed="false" boundary="false" sam="false"/>
 
    <node x="-169.619" y="-55.4011" fixed="false" boundary="false" sam="false"/>
 
    <node x="-18.7038" y="-103.254" fixed="false" boundary="false" sam="false"/>
 
    <node x="-10.629" y="-81.3398" fixed="false" boundary="false" sam="false"/>
 
    <node x="-16.4503" y="-95.6413" fixed="false" boundary="false" sam="false"/>
 
    <node x="-13.6859" y="-88.2873" fixed="false" boundary="false" sam="false"/>
 
    <node x="-74.8596" y="-44.1959" fixed="false" boundary="false" sam="false"/>
 
    <node x="-55.4284" y="-26.174" fixed="false" boundary="false" sam="false"/>
 
    <node x="-68.7815" y="-37.8269" fixed="false" boundary="false" sam="false"/>
 
    <node x="-62.3265" y="-31.8409" fixed="false" boundary="false" sam="false"/>
 
    <node x="26.9002" y="-76.7425" fixed="false" boundary="false" sam="false"/>
 
    <node x="50.4742" y="-77.9162" fixed="false" boundary="false" sam="false"/>
 
    <node x="34.753" y="-77.2799" fixed="false" boundary="false" sam="false"/>
 
    <node x="42.5418" y="-77.6747" fixed="false" boundary="false" sam="false"/>
 
    <node x="-121.049" y="27.5775" fixed="false" boundary="false" sam="false"/>
 
    <node x="-130.913" y="7.10784" fixed="false" boundary="false" sam="false"/>
 
    <node x="-124.717" y="20.9865" fixed="false" boundary="false" sam="false"/>
 
    <node x="-127.958" y="14.1065" fixed="false" boundary="false" sam="false"/>
 
    <node x="-35.0756" y="-101.423" fixed="false" boundary="false" sam="false"/>
 
    <node x="-43.5301" y="-120.748" fixed="false" boundary="false" sam="false"/>
 
    <node x="-37.5846" y="-108.86" fixed="false" boundary="false" sam="false"/>
 
    <node x="-40.9259" y="-114.436" fixed="false" boundary="false" sam="false"/>
 
    <node x="89.9164" y="-123.024" fixed="false" boundary="false" sam="false"/>
 
    <node x="87.9896" y="-97.1637" fixed="false" boundary="false" sam="false"/>
 
    <node x="88.1536" y="-115.03" fixed="false" boundary="false" sam="false"/>
 
    <node x="87.7499" y="-105.685" fixed="false" boundary="false" sam="false"/>
 
    <node x="4.33377" y="183.376" fixed="false" boundary="false" sam="false"/>
 
    <node x="-16.5936" y="195.975" fixed="false" boundary="false" sam="false"/>
 
    <node x="-3.10797" y="186.553" fixed="false" boundary="false" sam="false"/>
 
    <node x="-10.1187" y="190.763" fixed="false" boundary="false" sam="false"/>
 
    <node x="-120.623" y="-137.649" fixed="false" boundary="false" sam="false"/>
 
    <node x="-126.101" y="-144.465" fixed="false" boundary="false" sam="false"/>
 
    <node x="-131.503" y="-151.314" fixed="false" boundary="false" sam="false"/>
 
    <node x="-50.9933" y="127.768" fixed="false" boundary="false" sam="false"/>
 
    <node x="-74.6894" y="124.213" fixed="false" boundary="false" sam="false"/>
 
    <node x="-58.8706" y="126.238" fixed="false" boundary="false" sam="false"/>
 
    <node x="-66.8317" y="125.095" fixed="false" boundary="false" sam="false"/>
 
    <node x="55.6311" y="-112.422" fixed="false" boundary="false" sam="false"/>
 
    <node x="38.0726" y="-127.391" fixed="false" boundary="false" sam="false"/>
 
    <node x="50.2963" y="-117.951" fixed="false" boundary="false" sam="false"/>
 
    <node x="44.3634" y="-122.949" fixed="false" boundary="false" sam="false"/>
 
    <node x="90.9393" y="187.145" fixed="false" boundary="false" sam="false"/>
 
    <node x="86.762" y="179.033" fixed="false" boundary="false" sam="false"/>
 
    <node x="-70.45" y="204.878" fixed="false" boundary="true" sam="false"/>
 
    <node x="-51.5137" y="187.879" fixed="false" boundary="false" sam="false"/>
 
    <node x="-65.0538" y="198.15" fixed="false" boundary="false" sam="false"/>
 
    <node x="-58.7115" y="192.43" fixed="false" boundary="false" sam="false"/>
 
    <node x="135.226" y="121.271" fixed="false" boundary="false" sam="false"/>
 
    <node x="150.229" y="101.232" fixed="false" boundary="false" sam="false"/>
 
    <node x="139.713" y="114.34" fixed="false" boundary="false" sam="false"/>
 
    <node x="144.807" y="107.777" fixed="false" boundary="false" sam="false"/>
 
    <node x="79.2424" y="41.592" fixed="false" boundary="false" sam="false"/>
 
    <node x="71.7538" y="54.7417" fixed="false" boundary="false" sam="false"/>
 
    <node x="74.8775" y="47.7065" fixed="false" boundary="false" sam="false"/>
 
    <node x="-66.9436" y="54.1923" fixed="false" boundary="false" sam="false"/>
 
    <node x="-79.6212" y="72.8389" fixed="false" boundary="false" sam="false"/>
 
    <node x="-69.6542" y="61.4089" fixed="false" boundary="false" sam="false"/>
 
    <node x="-73.9308" y="67.6462" fixed="false" boundary="false" sam="false"/>
 
    <node x="214.383" y="-30.9796" fixed="false" boundary="true" sam="false"/>
 
    <node x="193.184" y="-16.4914" fixed="false" boundary="false" sam="false"/>
 
    <node x="206.883" y="-26.6094" fixed="false" boundary="false" sam="false"/>
 
    <node x="199.802" y="-21.7832" fixed="false" boundary="false" sam="false"/>
 
    <node x="100.068" y="-182.328" fixed="false" boundary="true" sam="false"/>
 
    <node x="91.6459" y="-160.087" fixed="false" boundary="false" sam="false"/>
 
    <node x="96.3494" y="-175.814" fixed="false" boundary="false" sam="false"/>
 
    <node x="93.4053" y="-167.334" fixed="false" boundary="false" sam="false"/>
 
    <node x="-195.053" y="45.4738" fixed="false" boundary="true" sam="false"/>
 
    <node x="-170.583" y="46.3936" fixed="false" boundary="false" sam="false"/>
 
    <node x="-186.71" y="44.643" fixed="false" boundary="false" sam="false"/>
 
    <node x="-178.548" y="44.9177" fixed="false" boundary="false" sam="false"/>
 
    <node x="180.553" y="41.2624" fixed="false" boundary="false" sam="false"/>
 
    <node x="166.518" y="33.6688" fixed="false" boundary="false" sam="false"/>
 
    <node x="173.077" y="37.9586" fixed="false" boundary="false" sam="false"/>
 
    <node x="29.3394" y="199.055" fixed="false" boundary="true" sam="false"/>
 
    <node x="22.4965" y="172.878" fixed="false" boundary="false" sam="false"/>
 
    <node x="26.7014" y="190.291" fixed="false" boundary="false" sam="false"/>
 
    <node x="24.4162" y="181.613" fixed="false" boundary="false" sam="false"/>
 
    <node x="-16.9655" y="72.1622" fixed="false" boundary="false" sam="false"/>
 
    <node x="-1.03767" y="81.736" fixed="false" boundary="false" sam="false"/>
 
    <node x="-12.8599" y="77.0957" fixed="false" boundary="false" sam="false"/>
 
    <node x="-7.43871" y="80.4038" fixed="false" boundary="false" sam="false"/>
 
    <node x="73.1815" y="-172.647" fixed="false" boundary="false" sam="false"/>
 
    <node x="52.8817" y="-185.951" fixed="false" boundary="false" sam="false"/>
 
    <node x="66.5563" y="-177.665" fixed="false" boundary="false" sam="false"/>
 
    <node x="59.9094" y="-182.046" fixed="false" boundary="false" sam="false"/>
 
    <node x="-11.8668" y="-143.166" fixed="false" boundary="false" sam="false"/>
 
    <node x="111.374" y="-4.16002" fixed="false" boundary="false" sam="false"/>
 
    <node x="123.978" y="13.227" fixed="false" boundary="false" sam="false"/>
 
    <node x="116.366" y="1.0246" fixed="false" boundary="false" sam="false"/>
 
    <node x="120.512" y="7.13802" fixed="false" boundary="false" sam="false"/>
 
    <node x="-36.4846" y="-57.0537" fixed="false" boundary="false" sam="false"/>
 
    <node x="-25.077" y="-47.3706" fixed="false" boundary="false" sam="false"/>
 
    <node x="-30.3758" y="-52.607" fixed="false" boundary="false" sam="false"/>
 
    <node x="-104.991" y="-55.8074" fixed="false" boundary="false" sam="false"/>
 
    <node x="-100.059" y="-48.4536" fixed="false" boundary="false" sam="false"/>
 
    <node x="-94.9973" y="-41.3073" fixed="false" boundary="false" sam="false"/>
 
    <node x="74.458" y="-60.3851" fixed="false" boundary="false" sam="false"/>
 
    <node x="54.8897" y="-46.6912" fixed="false" boundary="false" sam="false"/>
 
    <node x="68.3538" y="-55.2448" fixed="false" boundary="false" sam="false"/>
 
    <node x="61.9079" y="-50.6568" fixed="false" boundary="false" sam="false"/>
 
    <node x="-0.652705" y="-154.755" fixed="false" boundary="false" sam="false"/>
 
    <node x="1.41783" y="-163.084" fixed="false" boundary="false" sam="false"/>
 
    <node x="2.9939" y="-171.718" fixed="false" boundary="false" sam="false"/>
 
    <node x="6.86525" y="-52.847" fixed="false" boundary="false" sam="false"/>
 
    <node x="6.97004" y="-33.5211" fixed="false" boundary="false" sam="false"/>
 
    <node x="9.11708" y="-46.9861" fixed="false" boundary="false" sam="false"/>
 
    <node x="8.9196" y="-40.8117" fixed="false" boundary="false" sam="false"/>
 
    <node x="31.0391" y="168.898" fixed="false" boundary="false" sam="false"/>
 
    <node x="37.2329" y="145.803" fixed="false" boundary="false" sam="false"/>
 
    <node x="32.276" y="160.966" fixed="false" boundary="false" sam="false"/>
 
    <node x="34.2778" y="153.284" fixed="false" boundary="false" sam="false"/>
 
    <node x="-80.611" y="31.0358" fixed="false" boundary="false" sam="false"/>
 
    <node x="-105.043" y="33.0373" fixed="false" boundary="false" sam="false"/>
 
    <node x="-88.5455" y="32.6574" fixed="false" boundary="false" sam="false"/>
 
    <node x="-96.6656" y="33.376" fixed="false" boundary="false" sam="false"/>
 
    <node x="-73.3753" y="87.1621" fixed="false" boundary="false" sam="false"/>
 
    <node x="-90.1584" y="94.7627" fixed="false" boundary="false" sam="false"/>
 
    <node x="-81.4561" y="91.8347" fixed="false" boundary="false" sam="false"/>
 
    <node x="-0.417808" y="89.7017" fixed="false" boundary="false" sam="false"/>
 
    <node x="13.3464" y="95.8172" fixed="false" boundary="false" sam="false"/>
 
    <node x="6.28049" y="93.0605" fixed="false" boundary="false" sam="false"/>
 
    <node x="147.115" y="77.4152" fixed="false" boundary="false" sam="false"/>
 
    <node x="168.794" y="82.5337" fixed="false" boundary="false" sam="false"/>
 
    <node x="154.464" y="78.1673" fixed="false" boundary="false" sam="false"/>
 
    <node x="161.639" y="79.8642" fixed="false" boundary="false" sam="false"/>
 
    <node x="-85.2122" y="-106.404" fixed="false" boundary="false" sam="false"/>
 
    <node x="-87.1909" y="-86.3864" fixed="false" boundary="false" sam="false"/>
 
    <node x="-86.7177" y="-99.7996" fixed="false" boundary="false" sam="false"/>
 
    <node x="-87.441" y="-93.1098" fixed="false" boundary="false" sam="false"/>
 
    <node x="40.8648" y="-9.69391" fixed="false" boundary="false" sam="false"/>
 
    <node x="40.4662" y="14.671" fixed="false" boundary="false" sam="false"/>
 
    <node x="39.6233" y="-1.55879" fixed="false" boundary="false" sam="false"/>
 
    <node x="39.5667" y="6.61546" fixed="false" boundary="false" sam="false"/>
 
    <node x="43.8227" y="108.344" fixed="false" boundary="false" sam="false"/>
 
    <node x="40.3714" y="87.0723" fixed="false" boundary="false" sam="false"/>
 
    <node x="42.4454" y="101.208" fixed="false" boundary="false" sam="false"/>
 
    <node x="41.3077" y="94.0912" fixed="false" boundary="false" sam="false"/>
 
    <node x="143.859" y="32.618" fixed="false" boundary="false" sam="false"/>
 
    <node x="138.639" y="9.71549" fixed="false" boundary="false" sam="false"/>
 
    <node x="142.523" y="24.9955" fixed="false" boundary="false" sam="false"/>
 
    <node x="140.694" y="17.3144" fixed="false" boundary="false" sam="false"/>
 
    <node x="6.68772" y="-4.95579" fixed="false" boundary="false" sam="false"/>
 
    <node x="18.7249" y="-26.6566" fixed="false" boundary="false" sam="false"/>
 
    <node x="8.9054" y="-13.0241" fixed="false" boundary="false" sam="false"/>
 
    <node x="12.8911" y="-20.312" fixed="false" boundary="false" sam="false"/>
 
    <node x="-107.62" y="99.0052" fixed="false" boundary="false" sam="false"/>
 
    <node x="-124.836" y="85.7652" fixed="false" boundary="false" sam="false"/>
 
    <node x="-112.515" y="93.2238" fixed="false" boundary="false" sam="false"/>
 
    <node x="-118.364" y="88.8795" fixed="false" boundary="false" sam="false"/>
 
    <node x="74.3234" y="-96.3537" fixed="false" boundary="false" sam="false"/>
 
    <node x="54.1168" y="-84.9703" fixed="false" boundary="false" sam="false"/>
 
    <node x="67.6704" y="-92.0671" fixed="false" boundary="false" sam="false"/>
 
    <node x="60.951" y="-88.3653" fixed="false" boundary="false" sam="false"/>
 
    <node x="-122.306" y="-121.821" fixed="false" boundary="false" sam="false"/>
 
    <node x="-102.252" y="-109.591" fixed="false" boundary="false" sam="false"/>
 
    <node x="-114.713" y="-119.057" fixed="false" boundary="false" sam="false"/>
 
    <node x="-107.992" y="-114.866" fixed="false" boundary="false" sam="false"/>
 
    <node x="-140.167" y="-36.816" fixed="false" boundary="false" sam="false"/>
 
    <node x="-118.324" y="-41.5838" fixed="false" boundary="false" sam="false"/>
 
    <node x="-133.308" y="-40.2056" fixed="false" boundary="false" sam="false"/>
 
    <node x="-125.881" y="-41.931" fixed="false" boundary="false" sam="false"/>
 
    <node x="-83.0598" y="-168.831" fixed="false" boundary="false" sam="false"/>
 
    <node x="-85.5591" y="-184.811" fixed="false" boundary="false" sam="false"/>
 
    <node x="-83.4685" y="-176.859" fixed="false" boundary="false" sam="false"/>
 
    <node x="26.7235" y="124.693" fixed="false" boundary="false" sam="false"/>
 
    <node x="24.5408" y="132.654" fixed="false" boundary="false" sam="false"/>
 
    <node x="-106.172" y="45.2068" fixed="false" boundary="false" sam="false"/>
 
    <node x="-119.376" y="49.4351" fixed="false" boundary="false" sam="false"/>
 
    <node x="-112.925" y="46.737" fixed="false" boundary="false" sam="false"/>
 
    <node x="-138.671" y="129.327" fixed="false" boundary="false" sam="false"/>
 
    <node x="-128.13" y="117.297" fixed="false" boundary="false" sam="false"/>
 
    <node x="-133.806" y="122.944" fixed="false" boundary="false" sam="false"/>
 
    <node x="-168.176" y="-18.3851" fixed="false" boundary="false" sam="false"/>
 
    <node x="-153.193" y="-38.4629" fixed="false" boundary="false" sam="false"/>
 
    <node x="-162.045" y="-24.5396" fixed="false" boundary="false" sam="false"/>
 
    <node x="-157.1" y="-31.1538" fixed="false" boundary="false" sam="false"/>
 
    <node x="-37.9265" y="-30.1676" fixed="false" boundary="false" sam="false"/>
 
    <node x="-29.4193" y="-11.5794" fixed="false" boundary="false" sam="false"/>
 
    <node x="-36.556" y="-23.2828" fixed="false" boundary="false" sam="false"/>
 
    <node x="-33.7146" y="-16.9406" fixed="false" boundary="false" sam="false"/>
 
    <node x="-19.8179" y="-169.959" fixed="false" boundary="false" sam="false"/>
 
    <node x="-27.6757" y="-172.266" fixed="false" boundary="false" sam="false"/>
 
    <node x="-35.5846" y="-174.93" fixed="false" boundary="false" sam="false"/>
 
    <node x="3.19379" y="13.1393" fixed="false" boundary="false" sam="false"/>
 
    <node x="4.12181" y="30.7401" fixed="false" boundary="false" sam="false"/>
 
    <node x="4.66897" y="18.838" fixed="false" boundary="false" sam="false"/>
 
    <node x="4.92929" y="24.7793" fixed="false" boundary="false" sam="false"/>
 
    <node x="12.6166" y="-56.5979" fixed="false" boundary="false" sam="false"/>
 
    <node x="3.82074" y="-79.549" fixed="false" boundary="false" sam="false"/>
 
    <node x="7.82168" y="-63.3835" fixed="false" boundary="false" sam="false"/>
 
    <node x="4.77321" y="-71.2061" fixed="false" boundary="false" sam="false"/>
 
    <node x="-121.279" y="-19.4187" fixed="false" boundary="false" sam="false"/>
 
    <node x="-121.753" y="-12.4186" fixed="false" boundary="false" sam="false"/>
 
    <node x="-122.223" y="-5.37528" fixed="false" boundary="false" sam="false"/>
 
    <node x="6.32884" y="59.2481" fixed="false" boundary="false" sam="false"/>
 
    <node x="17.2217" y="38.677" fixed="false" boundary="false" sam="false"/>
 
    <node x="10.5305" y="52.6216" fixed="false" boundary="false" sam="false"/>
 
    <node x="14.0896" y="45.7324" fixed="false" boundary="false" sam="false"/>
 
    <node x="-70.0213" y="-168.827" fixed="false" boundary="false" sam="false"/>
 
    <node x="-57.5211" y="-156.618" fixed="false" boundary="false" sam="false"/>
 
    <node x="-64.7895" y="-161.701" fixed="false" boundary="false" sam="false"/>
 
    <node x="-147.486" y="69.1174" fixed="false" boundary="false" sam="false"/>
 
    <node x="-124.377" y="70.2365" fixed="false" boundary="false" sam="false"/>
 
    <node x="-139.661" y="68.3243" fixed="false" boundary="false" sam="false"/>
 
    <node x="-131.881" y="68.7923" fixed="false" boundary="false" sam="false"/>
 
    <node x="26.2457" y="-109.047" fixed="false" boundary="false" sam="false"/>
 
    <node x="5.50367" y="-111.977" fixed="false" boundary="false" sam="false"/>
 
    <node x="19.2668" y="-109.452" fixed="false" boundary="false" sam="false"/>
 
    <node x="12.3364" y="-110.521" fixed="false" boundary="false" sam="false"/>
 
    <node x="150.555" y="59.3886" fixed="false" boundary="false" sam="false"/>
 
    <node x="128.554" y="54.7002" fixed="false" boundary="false" sam="false"/>
 
    <node x="143.647" y="56.135" fixed="false" boundary="false" sam="false"/>
 
    <node x="136.134" y="54.4752" fixed="false" boundary="false" sam="false"/>
 
    <node x="-11.988" y="-10.7531" fixed="false" boundary="false" sam="false"/>
 
    <node x="-15.6892" y="13.0727" fixed="false" boundary="false" sam="false"/>
 
    <node x="-15.1142" y="-3.10942" fixed="false" boundary="false" sam="false"/>
 
    <node x="-16.4149" y="4.91019" fixed="false" boundary="false" sam="false"/>
 
    <node x="59.7884" y="104.582" fixed="false" boundary="false" sam="false"/>
 
    <node x="61.1898" y="111.896" fixed="false" boundary="false" sam="false"/>
 
    <node x="64.0805" y="118.844" fixed="false" boundary="false" sam="false"/>
 
    <node x="-104.088" y="-136.654" fixed="false" boundary="false" sam="false"/>
 
    <node x="-85.0632" y="-152.309" fixed="false" boundary="false" sam="false"/>
 
    <node x="-98.1179" y="-142.339" fixed="false" boundary="false" sam="false"/>
 
    <node x="-91.8048" y="-147.601" fixed="false" boundary="false" sam="false"/>
 
    <node x="-58.0079" y="-76.6339" fixed="false" boundary="false" sam="false"/>
 
    <node x="-35.5563" y="-72.5092" fixed="false" boundary="false" sam="false"/>
 
    <node x="-50.2182" y="-76.2276" fixed="false" boundary="false" sam="false"/>
 
    <node x="-42.7382" y="-74.9315" fixed="false" boundary="false" sam="false"/>
 
    <node x="30.4893" y="-31.7016" fixed="false" boundary="false" sam="false"/>
 
    <node x="54.5153" y="-31.7863" fixed="false" boundary="false" sam="false"/>
 
    <node x="38.3721" y="-29.9549" fixed="false" boundary="false" sam="false"/>
 
    <node x="46.5798" y="-30.0527" fixed="false" boundary="false" sam="false"/>
 
    <node x="217.01" y="25.348" fixed="false" boundary="true" sam="false"/>
 
    <node x="197.772" y="8.58862" fixed="false" boundary="false" sam="false"/>
 
    <node x="210.551" y="19.4807" fixed="false" boundary="false" sam="false"/>
 
    <node x="204.199" y="13.9496" fixed="false" boundary="false" sam="false"/>
 
    <node x="-45.596" y="-3.41092" fixed="false" boundary="false" sam="false"/>
 
    <node x="-61.1954" y="10.8423" fixed="false" boundary="false" sam="false"/>
 
    <node x="-51.0842" y="1.04297" fixed="false" boundary="false" sam="false"/>
 
    <node x="-56.2139" y="5.85536" fixed="false" boundary="false" sam="false"/>
 
    <node x="193.276" y="97.958" fixed="false" boundary="true" sam="false"/>
 
    <node x="171.095" y="91.1488" fixed="false" boundary="false" sam="false"/>
 
    <node x="185.766" y="95.7947" fixed="false" boundary="false" sam="false"/>
 
    <node x="178.41" y="93.5553" fixed="false" boundary="false" sam="false"/>
 
    <node x="-43.1179" y="77.6232" fixed="false" boundary="false" sam="false"/>
 
    <node x="-31.6952" y="55.8327" fixed="false" boundary="false" sam="false"/>
 
    <node x="-40.5664" y="69.3804" fixed="false" boundary="false" sam="false"/>
 
    <node x="-36.6594" y="62.21" fixed="false" boundary="false" sam="false"/>
 
    <node x="102.921" y="0.558928" fixed="false" boundary="false" sam="false"/>
 
    <node x="86.8563" y="-12.3149" fixed="false" boundary="false" sam="false"/>
 
    <node x="97.1089" y="-3.25806" fixed="false" boundary="false" sam="false"/>
 
    <node x="91.8084" y="-7.57168" fixed="false" boundary="false" sam="false"/>
 
    <node x="52.4051" y="37.284" fixed="false" boundary="false" sam="false"/>
 
    <node x="28.1767" y="31.8668" fixed="false" boundary="false" sam="false"/>
 
    <node x="44.0784" y="36.1944" fixed="false" boundary="false" sam="false"/>
 
    <node x="35.9849" y="34.4216" fixed="false" boundary="false" sam="false"/>
 
    <node x="61.2115" y="-21.4544" fixed="false" boundary="false" sam="false"/>
 
    <node x="79.8881" y="-8.98414" fixed="false" boundary="false" sam="false"/>
 
    <node x="67.9799" y="-18.1629" fixed="false" boundary="false" sam="false"/>
 
    <node x="74.2809" y="-14.081" fixed="false" boundary="false" sam="false"/>
 
    <node x="-80.7856" y="-60.0675" fixed="false" boundary="false" sam="false"/>
 
    <node x="-78.8158" y="-82.1518" fixed="false" boundary="false" sam="false"/>
 
    <node x="-79.6382" y="-67.3767" fixed="false" boundary="false" sam="false"/>
 
    <node x="-78.8834" y="-74.6063" fixed="false" boundary="false" sam="false"/>
 
    <node x="-12.6083" y="-134.752" fixed="false" boundary="false" sam="false"/>
 
    <node x="5.94169" y="-129.167" fixed="false" boundary="false" sam="false"/>
 
    <node x="-6.18112" y="-134.02" fixed="false" boundary="false" sam="false"/>
 
    <node x="-0.0220951" y="-132.12" fixed="false" boundary="false" sam="false"/>
 
    <node x="75.8382" y="148.384" fixed="false" boundary="false" sam="false"/>
 
    <node x="61.8246" y="131.476" fixed="false" boundary="false" sam="false"/>
 
    <node x="72.4656" y="141.87" fixed="false" boundary="false" sam="false"/>
 
    <node x="67.7281" y="136.156" fixed="false" boundary="false" sam="false"/>
 
    <node x="-189.306" y="102.55" fixed="false" boundary="true" sam="false"/>
 
    <node x="-146.512" y="-152.686" fixed="false" boundary="true" sam="false"/>
 
    <node x="115.444" y="-163.681" fixed="false" boundary="false" sam="false"/>
 
    <node x="-27.5159" y="212.09" fixed="false" boundary="true" sam="false"/>
 
    <node x="-213.784" y="-1.53002" fixed="false" boundary="true" sam="false"/>
 
    <node x="-110.513" y="69.337" fixed="false" boundary="false" sam="false"/>
 
    <node x="-107.414" y="-180.496" fixed="false" boundary="true" sam="false"/>
 
    <node x="6.09285" y="128.951" fixed="false" boundary="false" sam="false"/>
 
    <node x="-188.797" y="-81.6133" fixed="false" boundary="false" sam="false"/>
 
    <node x="62.5354" y="-148.356" fixed="false" boundary="false" sam="false"/>
 
    <node x="-144.575" y="49.7252" fixed="false" boundary="false" sam="false"/>
 
    <node x="-49.0266" y="154.563" fixed="false" boundary="false" sam="false"/>
 
    <node x="154.699" y="44.4183" fixed="false" boundary="false" sam="false"/>
 
    <node x="59.6319" y="206.205" fixed="false" boundary="true" sam="false"/>
 
    <node x="76.1451" y="-198.138" fixed="false" boundary="true" sam="false"/>
 
    <node x="-219.499" y="-20.7593" fixed="false" boundary="true" sam="false"/>
 
    <node x="70.8883" y="-32.8043" fixed="false" boundary="false" sam="false"/>
 
    <node x="89.4559" y="124.674" fixed="false" boundary="false" sam="false"/>
 
    <node x="224.9" y="-14.3103" fixed="false" boundary="true" sam="false"/>
 
    <node x="-96.9631" y="63.442" fixed="false" boundary="false" sam="false"/>
 
    <node x="213.909" y="-4.2958" fixed="false" boundary="false" sam="false"/>
 
    <node x="-6.69251" y="211.479" fixed="false" boundary="true" sam="false"/>
 
    <node x="-90.5775" y="198.415" fixed="false" boundary="true" sam="false"/>
 
    <node x="-49.5302" y="-41.4796" fixed="false" boundary="false" sam="false"/>
 
    <node x="175.981" y="114.952" fixed="false" boundary="false" sam="false"/>
 
    <node x="-168.652" y="140.683" fixed="false" boundary="true" sam="false"/>
 
    <node x="-15.0503" y="-48.4474" fixed="false" boundary="false" sam="false"/>
 
    <node x="54.3395" y="165.581" fixed="false" boundary="false" sam="false"/>
 
    <node x="186.442" y="21.4677" fixed="false" boundary="false" sam="false"/>
 
    <node x="173.1" y="-134.507" fixed="false" boundary="true" sam="false"/>
 
    <node x="-28.4294" y="107.252" fixed="false" boundary="false" sam="false"/>
 
    <node x="-130.334" y="-165.887" fixed="false" boundary="true" sam="false"/>
 
    <node x="-91.3562" y="12.5025" fixed="false" boundary="false" sam="false"/>
 
    <node x="-66.1889" y="-147.3" fixed="false" boundary="false" sam="false"/>
 
    <node x="-210.899" y="18.9334" fixed="false" boundary="true" sam="false"/>
 
    <node x="-144.637" y="-2.26153" fixed="false" boundary="false" sam="false"/>
 
    <node x="13.4732" y="114.639" fixed="false" boundary="false" sam="false"/>
 
    <node x="-48.9867" y="-96.4464" fixed="false" boundary="false" sam="false"/>
 
    <node x="-39.7913" y="19.8431" fixed="false" boundary="false" sam="false"/>
 
    <node x="133.501" y="166.949" fixed="false" boundary="true" sam="false"/>
 
    <node x="-113.255" y="105.959" fixed="false" boundary="false" sam="false"/>
 
    <node x="103.831" y="192.445" fixed="false" boundary="true" sam="false"/>
 
    <node x="23.031" y="-167.471" fixed="false" boundary="false" sam="false"/>
 
    <node x="157.811" y="9.59141" fixed="false" boundary="false" sam="false"/>
 
    <node x="-100.037" y="-128" fixed="false" boundary="false" sam="false"/>
 
    <node x="154.745" y="-46.313" fixed="false" boundary="false" sam="false"/>
 
    <node x="137.68" y="-167.302" fixed="false" boundary="true" sam="false"/>
 
    <node x="-16.5308" y="-116.802" fixed="false" boundary="false" sam="false"/>
 
    <node x="23.7942" y="79.4704" fixed="false" boundary="false" sam="false"/>
 
    <node x="203.219" y="-56.4522" fixed="false" boundary="true" sam="false"/>
 
    <node x="-115.971" y="165.84" fixed="false" boundary="false" sam="false"/>
 
    <node x="76.9466" y="163.949" fixed="false" boundary="false" sam="false"/>
 
    <node x="36.4182" y="-208.375" fixed="false" boundary="true" sam="false"/>
 
    <node x="-161.143" y="-139.476" fixed="false" boundary="true" sam="false"/>
 
    <node x="-111.001" y="-159.919" fixed="false" boundary="false" sam="false"/>
 
    <node x="89.7117" y="62.7065" fixed="false" boundary="false" sam="false"/>
 
    <node x="64.6195" y="89.7552" fixed="false" boundary="false" sam="false"/>
 
    <node x="165.032" y="57.4118" fixed="false" boundary="false" sam="false"/>
 
    <node x="-142.467" y="-50.8431" fixed="false" boundary="false" sam="false"/>
 
    <node x="26.3115" y="-93.2704" fixed="false" boundary="false" sam="false"/>
 
    <node x="92.4441" y="131.942" fixed="false" boundary="false" sam="false"/>
 
    <node x="105.435" y="124.622" fixed="false" boundary="false" sam="false"/>
 
    <node x="96.5198" y="129.012" fixed="false" boundary="false" sam="false"/>
 
    <node x="100.934" y="126.583" fixed="false" boundary="false" sam="false"/>
 
    <node x="182.288" y="-30.009" fixed="false" boundary="false" sam="false"/>
 
    <node x="167.034" y="-30.0118" fixed="false" boundary="false" sam="false"/>
 
    <node x="177.152" y="-28.6239" fixed="false" boundary="false" sam="false"/>
 
    <node x="172.034" y="-28.6579" fixed="false" boundary="false" sam="false"/>
 
    <node x="-132.989" y="-109.791" fixed="false" boundary="false" sam="false"/>
 
    <node x="-144.485" y="-118.63" fixed="false" boundary="false" sam="false"/>
 
    <node x="-136.927" y="-112.189" fixed="false" boundary="false" sam="false"/>
 
    <node x="-140.834" y="-115.276" fixed="false" boundary="false" sam="false"/>
 
    <node x="-171.511" y="-1.38312" fixed="false" boundary="false" sam="false"/>
 
    <node x="-177.599" y="-2.37941" fixed="false" boundary="false" sam="false"/>
 
    <node x="-183.367" y="67.6513" fixed="false" boundary="false" sam="false"/>
 
    <node x="-66.1725" y="-192.652" fixed="false" boundary="false" sam="false"/>
 
    <node x="-14.6298" y="-35.0219" fixed="false" boundary="false" sam="false"/>
 
    <node x="-146.59" y="103.364" fixed="false" boundary="false" sam="false"/>
 
    <node x="-164.094" y="96.3222" fixed="false" boundary="false" sam="false"/>
 
    <node x="-151.533" y="99.2612" fixed="false" boundary="false" sam="false"/>
 
    <node x="-157.67" y="96.9049" fixed="false" boundary="false" sam="false"/>
 
    <node x="-24.3928" y="152.963" fixed="false" boundary="false" sam="false"/>
 
    <node x="-8.20932" y="161.844" fixed="false" boundary="false" sam="false"/>
 
    <node x="-19.6663" y="156.902" fixed="false" boundary="false" sam="false"/>
 
    <node x="-14.2576" y="159.971" fixed="false" boundary="false" sam="false"/>
 
    <node x="118.394" y="126.586" fixed="false" boundary="false" sam="false"/>
 
    <node x="122.606" y="130.628" fixed="false" boundary="false" sam="false"/>
 
    <node x="126.394" y="135.055" fixed="false" boundary="false" sam="false"/>
 
    <node x="146.038" y="-136.538" fixed="false" boundary="false" sam="false"/>
 
    <node x="136.368" y="-148.835" fixed="false" boundary="false" sam="false"/>
 
    <node x="142.09" y="-140.05" fixed="false" boundary="false" sam="false"/>
 
    <node x="138.957" y="-144.347" fixed="false" boundary="false" sam="false"/>
 
    <node x="65.7611" y="-131.602" fixed="false" boundary="false" sam="false"/>
 
    <node x="-113.504" y="134.488" fixed="false" boundary="false" sam="false"/>
 
    <node x="86.5284" y="-32.0328" fixed="false" boundary="false" sam="false"/>
 
    <node x="122.481" y="-13.2548" fixed="false" boundary="false" sam="false"/>
 
    <node x="76.6598" y="204.126" fixed="false" boundary="true" sam="false"/>
 
    <node x="-55.4721" y="78.6494" fixed="false" boundary="false" sam="false"/>
 
    <node x="-45.8858" y="96.2781" fixed="false" boundary="false" sam="false"/>
 
    <node x="-52.3162" y="84.4158" fixed="false" boundary="false" sam="false"/>
 
    <node x="-48.9837" y="90.4496" fixed="false" boundary="false" sam="false"/>
 
    <node x="141.674" y="-28.9675" fixed="false" boundary="false" sam="false"/>
 
    <node x="149.822" y="-31.7557" fixed="false" boundary="false" sam="false"/>
 
    <node x="157.731" y="-34.4906" fixed="false" boundary="false" sam="false"/>
 
    <node x="-29.6528" y="120.085" fixed="false" boundary="false" sam="false"/>
 
    <node x="-36.9108" y="138.533" fixed="false" boundary="false" sam="false"/>
 
    <node x="-32.6079" y="125.787" fixed="false" boundary="false" sam="false"/>
 
    <node x="-34.9151" y="132.145" fixed="false" boundary="false" sam="false"/>
 
    <node x="123.564" y="-147.011" fixed="false" boundary="false" sam="false"/>
 
    <node x="131.062" y="-170.369" fixed="false" boundary="true" sam="false"/>
 
    <node x="125.64" y="-154.658" fixed="false" boundary="false" sam="false"/>
 
    <node x="128.32" y="-162.795" fixed="false" boundary="false" sam="false"/>
 
    <node x="-114.924" y="107.047" fixed="false" boundary="false" sam="false"/>
 
    <node x="-93.9469" y="118.132" fixed="false" boundary="false" sam="false"/>
 
    <node x="-107.66" y="110.407" fixed="false" boundary="false" sam="false"/>
 
    <node x="-100.701" y="114.029" fixed="false" boundary="false" sam="false"/>
 
    <node x="77.8517" y="148.289" fixed="false" boundary="false" sam="false"/>
 
    <node x="98.099" y="164.808" fixed="false" boundary="false" sam="false"/>
 
    <node x="84.1853" y="154.121" fixed="false" boundary="false" sam="false"/>
 
    <node x="91.0811" y="159.717" fixed="false" boundary="false" sam="false"/>
 
    <node x="-46.5762" y="165.672" fixed="false" boundary="false" sam="false"/>
 
    <node x="-37.1034" y="186.79" fixed="false" boundary="false" sam="false"/>
 
    <node x="-43.2745" y="172.681" fixed="false" boundary="false" sam="false"/>
 
    <node x="-40.1038" y="179.849" fixed="false" boundary="false" sam="false"/>
 
    <node x="99.2061" y="-141.737" fixed="false" boundary="false" sam="false"/>
 
    <node x="81.7761" y="-142.72" fixed="false" boundary="false" sam="false"/>
 
    <node x="90.4162" y="-141.991" fixed="false" boundary="false" sam="false"/>
 
    <node x="102.867" y="-51.9952" fixed="false" boundary="false" sam="false"/>
 
    <node x="109.188" y="-55.5371" fixed="false" boundary="false" sam="false"/>
 
    <node x="115.72" y="-58.8351" fixed="false" boundary="false" sam="false"/>
 
    <node x="172.975" y="-99.8289" fixed="false" boundary="false" sam="false"/>
 
    <node x="179.656" y="-80.9498" fixed="false" boundary="false" sam="false"/>
 
    <node x="175.828" y="-93.9628" fixed="false" boundary="false" sam="false"/>
 
    <node x="177.985" y="-87.555" fixed="false" boundary="false" sam="false"/>
 
    <node x="-183.599" y="-67.354" fixed="false" boundary="false" sam="false"/>
 
    <node x="-167.86" y="-58.1986" fixed="false" boundary="false" sam="false"/>
 
    <node x="-178.411" y="-64.4653" fixed="false" boundary="false" sam="false"/>
 
    <node x="-172.785" y="-61.4389" fixed="false" boundary="false" sam="false"/>
 
    <node x="-20.6661" y="-126.425" fixed="false" boundary="false" sam="false"/>
 
    <node x="-34.8752" y="-103.388" fixed="false" boundary="false" sam="false"/>
 
    <node x="-25.0948" y="-118.505" fixed="false" boundary="false" sam="false"/>
 
    <node x="-29.9066" y="-110.675" fixed="false" boundary="false" sam="false"/>
 
    <node x="68.6489" y="-110.226" fixed="false" boundary="false" sam="false"/>
 
    <node x="87.5415" y="-111.623" fixed="false" boundary="false" sam="false"/>
 
    <node x="74.9945" y="-111.455" fixed="false" boundary="false" sam="false"/>
 
    <node x="81.4871" y="-112.18" fixed="false" boundary="false" sam="false"/>
 
    <node x="-191.52" y="-84.146" fixed="false" boundary="false" sam="false"/>
 
    <node x="-172.837" y="-97.4629" fixed="false" boundary="false" sam="false"/>
 
    <node x="-185.264" y="-88.4402" fixed="false" boundary="false" sam="false"/>
 
    <node x="-179.054" y="-92.8257" fixed="false" boundary="false" sam="false"/>
 
    <node x="-94.6757" y="137.976" fixed="false" boundary="false" sam="false"/>
 
    <node x="-113.635" y="148.27" fixed="false" boundary="false" sam="false"/>
 
    <node x="-100.781" y="141.681" fixed="false" boundary="false" sam="false"/>
 
    <node x="-107.277" y="145.258" fixed="false" boundary="false" sam="false"/>
 
    <node x="161.589" y="-144.389" fixed="false" boundary="true" sam="false"/>
 
    <node x="157.53" y="-119.382" fixed="false" boundary="false" sam="false"/>
 
    <node x="160.001" y="-136.021" fixed="false" boundary="false" sam="false"/>
 
    <node x="158.63" y="-127.603" fixed="false" boundary="false" sam="false"/>
 
    <node x="-15.9438" y="-193.602" fixed="false" boundary="false" sam="false"/>
 
    <node x="5.48345" y="-196.158" fixed="false" boundary="false" sam="false"/>
 
    <node x="-9.37485" y="-194.805" fixed="false" boundary="false" sam="false"/>
 
    <node x="-1.79968" y="-196.086" fixed="false" boundary="false" sam="false"/>
 
    <node x="76.3069" y="-177.484" fixed="false" boundary="false" sam="false"/>
 
    <node x="94.104" y="-169.093" fixed="false" boundary="false" sam="false"/>
 
    <node x="82.222" y="-174.47" fixed="false" boundary="false" sam="false"/>
 
    <node x="88.1585" y="-171.666" fixed="false" boundary="false" sam="false"/>
 
    <node x="-91.2965" y="162.918" fixed="false" boundary="false" sam="false"/>
 
    <node x="-71.9737" y="157.853" fixed="false" boundary="false" sam="false"/>
 
    <node x="-84.9729" y="160.626" fixed="false" boundary="false" sam="false"/>
 
    <node x="-78.4919" y="158.756" fixed="false" boundary="false" sam="false"/>
 
    <node x="117.61" y="72.8214" fixed="false" boundary="false" sam="false"/>
 
    <node x="111.769" y="53.2289" fixed="false" boundary="false" sam="false"/>
 
    <node x="115.371" y="66.4808" fixed="false" boundary="false" sam="false"/>
 
    <node x="113.587" y="59.7989" fixed="false" boundary="false" sam="false"/>
 
    <node x="12.9786" y="155.077" fixed="false" boundary="false" sam="false"/>
 
    <node x="6.16213" y="155.63" fixed="false" boundary="false" sam="false"/>
 
    <node x="-0.659339" y="155.661" fixed="false" boundary="false" sam="false"/>
 
    <node x="125.739" y="114.736" fixed="false" boundary="false" sam="false"/>
 
    <node x="97.9114" y="111.769" fixed="false" boundary="false" sam="false"/>
 
    <node x="116.542" y="113.897" fixed="false" boundary="false" sam="false"/>
 
    <node x="107.149" y="113.023" fixed="false" boundary="false" sam="false"/>
 
    <node x="-169.3" y="-123.099" fixed="false" boundary="false" sam="false"/>
 
    <node x="-143.13" y="-131.694" fixed="false" boundary="false" sam="false"/>
 
    <node x="-160.529" y="-126.103" fixed="false" boundary="false" sam="false"/>
 
    <node x="-151.849" y="-129.008" fixed="false" boundary="false" sam="false"/>
 
    <node x="141.436" y="-0.951545" fixed="false" boundary="false" sam="false"/>
 
    <node x="151.075" y="-20.6058" fixed="false" boundary="false" sam="false"/>
 
    <node x="144.839" y="-7.48247" fixed="false" boundary="false" sam="false"/>
 
    <node x="148.062" y="-13.9738" fixed="false" boundary="false" sam="false"/>
 
    <node x="146.781" y="157.571" fixed="false" boundary="true" sam="false"/>
 
    <node x="118.877" y="150.486" fixed="false" boundary="false" sam="false"/>
 
    <node x="137.627" y="154.996" fixed="false" boundary="false" sam="false"/>
 
    <node x="128.261" y="152.713" fixed="false" boundary="false" sam="false"/>
 
    <node x="102.606" y="-93.9239" fixed="false" boundary="false" sam="false"/>
 
    <node x="94.9846" y="-82.0355" fixed="false" boundary="false" sam="false"/>
 
    <node x="99.1798" y="-87.9513" fixed="false" boundary="false" sam="false"/>
 
    <node x="-199.678" y="-13.9702" fixed="false" boundary="false" sam="false"/>
 
    <node x="-197.847" y="5.40263" fixed="false" boundary="false" sam="false"/>
 
    <node x="-198.675" y="-7.53405" fixed="false" boundary="false" sam="false"/>
 
    <node x="-198.244" y="-1.041" fixed="false" boundary="false" sam="false"/>
 
    <node x="120.731" y="-64.8287" fixed="false" boundary="false" sam="false"/>
 
    <node x="132.936" y="-75.7449" fixed="false" boundary="false" sam="false"/>
 
    <node x="126.924" y="-70.0782" fixed="false" boundary="false" sam="false"/>
 
    <node x="28.5622" y="-44.4207" fixed="false" boundary="false" sam="false"/>
 
    <node x="8.93917" y="-38.133" fixed="false" boundary="false" sam="false"/>
 
    <node x="21.9926" y="-42.5654" fixed="false" boundary="false" sam="false"/>
 
    <node x="15.535" y="-40.3316" fixed="false" boundary="false" sam="false"/>
 
  </nodes>
 
  <cells n="293" offsetx="0" offsety="0" magnification="1" base_area="293.893" nchem="2">
 
    <cell index="0" area="591.176" target_area="661.019" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="305"/>
 
      <node n="303"/>
 
      <node n="98"/>
 
      <node n="607"/>
 
      <node n="179"/>
 
      <node n="181"/>
 
      <node n="644"/>
 
      <node n="646"/>
 
      <node n="647"/>
 
      <node n="1263"/>
 
      <node n="645"/>
 
      <wall w="17"/>
 
      <wall w="1"/>
 
      <wall w="280"/>
 
      <wall w="96"/>
 
      <wall w="248"/>
 
      <wall w="834"/>
 
      <wall w="832"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="1" area="291.613" target_area="336.799" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="594"/>
 
      <node n="592"/>
 
      <node n="345"/>
 
      <node n="343"/>
 
      <node n="396"/>
 
      <node n="164"/>
 
      <node n="1167"/>
 
      <node n="1169"/>
 
      <node n="1170"/>
 
      <node n="1168"/>
 
      <wall w="21"/>
 
      <wall w="32"/>
 
      <wall w="82"/>
 
      <wall w="693"/>
 
      <wall w="694"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="2" area="293.131" target_area="351.525" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="577"/>
 
      <node n="309"/>
 
      <node n="307"/>
 
      <node n="658"/>
 
      <node n="138"/>
 
      <node n="1130"/>
 
      <node n="1132"/>
 
      <node n="1133"/>
 
      <node n="1131"/>
 
      <wall w="724"/>
 
      <wall w="13"/>
 
      <wall w="811"/>
 
      <wall w="132"/>
 
      <wall w="649"/>
 
      <wall w="650"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="3" area="583.864" target_area="653.285" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="110"/>
 
      <node n="777"/>
 
      <node n="176"/>
 
      <node n="449"/>
 
      <node n="451"/>
 
      <node n="452"/>
 
      <node n="450"/>
 
      <node n="648"/>
 
      <node n="650"/>
 
      <node n="651"/>
 
      <node n="649"/>
 
      <wall w="0"/>
 
      <wall w="665"/>
 
      <wall w="47"/>
 
      <wall w="121"/>
 
      <wall w="122"/>
 
      <wall w="242"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="4" area="289.711" target_area="338.322" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="1135"/>
 
      <node n="167"/>
 
      <node n="595"/>
 
      <node n="597"/>
 
      <node n="1256"/>
 
      <node n="598"/>
 
      <node n="596"/>
 
      <node n="1171"/>
 
      <node n="1172"/>
 
      <node n="1173"/>
 
      <node n="166"/>
 
      <wall w="660"/>
 
      <wall w="823"/>
 
      <wall w="655"/>
 
      <wall w="700"/>
 
      <wall w="701"/>
 
      <wall w="821"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="5" area="292.198" target_area="336.838" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="655"/>
 
      <node n="653"/>
 
      <node n="831"/>
 
      <node n="342"/>
 
      <node n="44"/>
 
      <node n="314"/>
 
      <node n="1174"/>
 
      <node n="1176"/>
 
      <node n="1177"/>
 
      <node n="1175"/>
 
      <wall w="84"/>
 
      <wall w="22"/>
 
      <wall w="124"/>
 
      <wall w="293"/>
 
      <wall w="705"/>
 
      <wall w="706"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="6" area="587.452" target_area="660.785" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="348"/>
 
      <node n="836"/>
 
      <node n="346"/>
 
      <node n="231"/>
 
      <node n="524"/>
 
      <node n="229"/>
 
      <node n="213"/>
 
      <node n="599"/>
 
      <node n="601"/>
 
      <node n="602"/>
 
      <node n="600"/>
 
      <wall w="5"/>
 
      <wall w="638"/>
 
      <wall w="297"/>
 
      <wall w="69"/>
 
      <wall w="88"/>
 
      <wall w="89"/>
 
      <wall w="295"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="7" area="582.853" target_area="659.535" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="true" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="319"/>
 
      <node n="185"/>
 
      <node n="25"/>
 
      <node n="551"/>
 
      <node n="1104"/>
 
      <node n="80"/>
 
      <node n="656"/>
 
      <node n="1267"/>
 
      <node n="657"/>
 
      <node n="321"/>
 
      <wall w="341"/>
 
      <wall w="16"/>
 
      <wall w="126"/>
 
      <wall w="842"/>
 
      <wall w="840"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="8" area="290.781" target_area="338.322" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="true" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="1116"/>
 
      <node n="603"/>
 
      <node n="605"/>
 
      <node n="1159"/>
 
      <node n="606"/>
 
      <node n="604"/>
 
      <node n="1178"/>
 
      <node n="1180"/>
 
      <node n="1181"/>
 
      <node n="1179"/>
 
      <wall w="92"/>
 
      <wall w="688"/>
 
      <wall w="686"/>
 
      <wall w="711"/>
 
      <wall w="712"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="9" area="575.646" target_area="651.8" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="932"/>
 
      <node n="351"/>
 
      <node n="189"/>
 
      <node n="1118"/>
 
      <node n="187"/>
 
      <node n="642"/>
 
      <node n="121"/>
 
      <node n="762"/>
 
      <node n="764"/>
 
      <node n="765"/>
 
      <node n="763"/>
 
      <wall w="2"/>
 
      <wall w="12"/>
 
      <wall w="423"/>
 
      <wall w="621"/>
 
      <wall w="226"/>
 
      <wall w="421"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="10" area="289.005" target_area="330.861" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="769"/>
 
      <node n="767"/>
 
      <node n="353"/>
 
      <node n="193"/>
 
      <node n="191"/>
 
      <node n="1182"/>
 
      <node n="1184"/>
 
      <node n="1185"/>
 
      <node n="1183"/>
 
      <wall w="486"/>
 
      <wall w="25"/>
 
      <wall w="230"/>
 
      <wall w="716"/>
 
      <wall w="717"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="11" area="294.542" target_area="332.463" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="659"/>
 
      <node n="359"/>
 
      <node n="357"/>
 
      <node n="1121"/>
 
      <node n="233"/>
 
      <node n="1066"/>
 
      <node n="1186"/>
 
      <node n="1188"/>
 
      <node n="1189"/>
 
      <node n="1187"/>
 
      <wall w="7"/>
 
      <wall w="26"/>
 
      <wall w="128"/>
 
      <wall w="648"/>
 
      <wall w="722"/>
 
      <wall w="723"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="12" area="554.255" target_area="645.394" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="363"/>
 
      <node n="361"/>
 
      <node n="237"/>
 
      <node n="251"/>
 
      <node n="129"/>
 
      <node n="1046"/>
 
      <node n="884"/>
 
      <node n="886"/>
 
      <node n="887"/>
 
      <node n="885"/>
 
      <wall w="219"/>
 
      <wall w="150"/>
 
      <wall w="430"/>
 
      <wall w="370"/>
 
      <wall w="371"/>
 
      <wall w="615"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="13" area="556.627" target_area="642.66" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="456"/>
 
      <node n="1023"/>
 
      <node n="454"/>
 
      <node n="528"/>
 
      <node n="242"/>
 
      <node n="132"/>
 
      <node n="1096"/>
 
      <node n="255"/>
 
      <node n="889"/>
 
      <node n="890"/>
 
      <node n="888"/>
 
      <wall w="514"/>
 
      <wall w="8"/>
 
      <wall w="572"/>
 
      <wall w="70"/>
 
      <wall w="374"/>
 
      <wall w="570"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="14" area="566.179" target_area="642.035" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="245"/>
 
      <node n="243"/>
 
      <node n="457"/>
 
      <node n="459"/>
 
      <node n="956"/>
 
      <node n="460"/>
 
      <node n="458"/>
 
      <node n="891"/>
 
      <node n="892"/>
 
      <node n="893"/>
 
      <node n="440"/>
 
      <wall w="44"/>
 
      <wall w="522"/>
 
      <wall w="459"/>
 
      <wall w="378"/>
 
      <wall w="379"/>
 
      <wall w="457"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="15" area="583.103" target_area="661.41" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="295"/>
 
      <node n="817"/>
 
      <node n="293"/>
 
      <node n="196"/>
 
      <node n="136"/>
 
      <node n="259"/>
 
      <node n="662"/>
 
      <node n="664"/>
 
      <node n="665"/>
 
      <node n="663"/>
 
      <wall w="4"/>
 
      <wall w="532"/>
 
      <wall w="275"/>
 
      <wall w="505"/>
 
      <wall w="134"/>
 
      <wall w="273"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="16" area="295.946" target_area="334.338" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="669"/>
 
      <node n="667"/>
 
      <node n="842"/>
 
      <node n="367"/>
 
      <node n="365"/>
 
      <node n="174"/>
 
      <node n="1190"/>
 
      <node n="1192"/>
 
      <node n="1193"/>
 
      <node n="1191"/>
 
      <wall w="309"/>
 
      <wall w="137"/>
 
      <wall w="307"/>
 
      <wall w="727"/>
 
      <wall w="728"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="17" area="548.463" target_area="643.519" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="463"/>
 
      <node n="461"/>
 
      <node n="248"/>
 
      <node n="444"/>
 
      <node n="249"/>
 
      <node n="247"/>
 
      <node n="894"/>
 
      <node n="896"/>
 
      <node n="897"/>
 
      <node n="895"/>
 
      <wall w="177"/>
 
      <wall w="445"/>
 
      <wall w="45"/>
 
      <wall w="579"/>
 
      <wall w="384"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="18" area="585.384" target_area="656.8" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="true" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="371"/>
 
      <node n="369"/>
 
      <node n="1094"/>
 
      <node n="197"/>
 
      <node n="162"/>
 
      <node n="53"/>
 
      <node n="670"/>
 
      <node n="672"/>
 
      <node n="673"/>
 
      <node n="671"/>
 
      <wall w="602"/>
 
      <wall w="27"/>
 
      <wall w="141"/>
 
      <wall w="142"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="19" area="583.452" target_area="649.144" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="400"/>
 
      <node n="857"/>
 
      <node n="96"/>
 
      <node n="464"/>
 
      <node n="466"/>
 
      <node n="1031"/>
 
      <node n="467"/>
 
      <node n="465"/>
 
      <node n="771"/>
 
      <node n="772"/>
 
      <node n="770"/>
 
      <wall w="33"/>
 
      <wall w="586"/>
 
      <wall w="661"/>
 
      <wall w="234"/>
 
      <wall w="331"/>
 
      <wall w="584"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="20" area="584.795" target_area="661.644" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="375"/>
 
      <node n="373"/>
 
      <node n="424"/>
 
      <node n="207"/>
 
      <node n="205"/>
 
      <node n="179"/>
 
      <node n="607"/>
 
      <node n="609"/>
 
      <node n="610"/>
 
      <node n="608"/>
 
      <wall w="1"/>
 
      <wall w="247"/>
 
      <wall w="214"/>
 
      <wall w="188"/>
 
      <wall w="38"/>
 
      <wall w="94"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="21" area="572.157" target_area="648.597" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="469"/>
 
      <node n="210"/>
 
      <node n="211"/>
 
      <node n="496"/>
 
      <node n="209"/>
 
      <node n="852"/>
 
      <node n="104"/>
 
      <node n="773"/>
 
      <node n="775"/>
 
      <node n="776"/>
 
      <node n="774"/>
 
      <wall w="326"/>
 
      <wall w="608"/>
 
      <wall w="593"/>
 
      <wall w="59"/>
 
      <wall w="397"/>
 
      <wall w="237"/>
 
      <wall w="323"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="22" area="572.767" target_area="654.535" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="325"/>
 
      <node n="327"/>
 
      <node n="632"/>
 
      <node n="328"/>
 
      <node n="326"/>
 
      <node n="176"/>
 
      <node n="777"/>
 
      <node n="779"/>
 
      <node n="780"/>
 
      <node n="778"/>
 
      <wall w="0"/>
 
      <wall w="663"/>
 
      <wall w="115"/>
 
      <wall w="113"/>
 
      <wall w="749"/>
 
      <wall w="240"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="23" area="562.721" target_area="645.785" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="379"/>
 
      <node n="377"/>
 
      <node n="1112"/>
 
      <node n="213"/>
 
      <node n="229"/>
 
      <node n="113"/>
 
      <node n="898"/>
 
      <node n="899"/>
 
      <node n="900"/>
 
      <node n="735"/>
 
      <wall w="5"/>
 
      <wall w="6"/>
 
      <wall w="639"/>
 
      <wall w="193"/>
 
      <wall w="387"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="24" area="581.65" target_area="660.785" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="383"/>
 
      <node n="381"/>
 
      <node n="504"/>
 
      <node n="219"/>
 
      <node n="217"/>
 
      <node n="318"/>
 
      <node n="611"/>
 
      <node n="613"/>
 
      <node n="614"/>
 
      <node n="612"/>
 
      <wall w="669"/>
 
      <wall w="492"/>
 
      <wall w="843"/>
 
      <wall w="28"/>
 
      <wall w="61"/>
 
      <wall w="97"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="25" area="542.649" target_area="633.05" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="516"/>
 
      <node n="271"/>
 
      <node n="121"/>
 
      <node n="642"/>
 
      <node n="187"/>
 
      <node n="485"/>
 
      <node n="992"/>
 
      <node n="994"/>
 
      <node n="995"/>
 
      <node n="993"/>
 
      <wall w="3"/>
 
      <wall w="12"/>
 
      <wall w="618"/>
 
      <wall w="361"/>
 
      <wall w="507"/>
 
      <wall w="525"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="26" area="294.455" target_area="337.736" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="675"/>
 
      <node n="387"/>
 
      <node n="743"/>
 
      <node n="385"/>
 
      <node n="428"/>
 
      <node n="221"/>
 
      <node n="1147"/>
 
      <node n="1149"/>
 
      <node n="1150"/>
 
      <node n="1148"/>
 
      <wall w="57"/>
 
      <wall w="440"/>
 
      <wall w="205"/>
 
      <wall w="40"/>
 
      <wall w="146"/>
 
      <wall w="203"/>
 
      <wall w="673"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="27" area="564.602" target_area="654.144" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="391"/>
 
      <node n="389"/>
 
      <node n="542"/>
 
      <node n="250"/>
 
      <node n="252"/>
 
      <node n="253"/>
 
      <node n="678"/>
 
      <node n="680"/>
 
      <node n="681"/>
 
      <node n="679"/>
 
      <wall w="418"/>
 
      <wall w="319"/>
 
      <wall w="71"/>
 
      <wall w="77"/>
 
      <wall w="614"/>
 
      <wall w="149"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="28" area="573.18" target_area="643.91" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="395"/>
 
      <node n="393"/>
 
      <node n="1146"/>
 
      <node n="255"/>
 
      <node n="1096"/>
 
      <node n="132"/>
 
      <node n="558"/>
 
      <node n="901"/>
 
      <node n="903"/>
 
      <node n="904"/>
 
      <node n="1274"/>
 
      <node n="902"/>
 
      <wall w="515"/>
 
      <wall w="8"/>
 
      <wall w="497"/>
 
      <wall w="435"/>
 
      <wall w="856"/>
 
      <wall w="854"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="29" area="537.694" target_area="636.41" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="475"/>
 
      <node n="473"/>
 
      <node n="260"/>
 
      <node n="512"/>
 
      <node n="261"/>
 
      <node n="259"/>
 
      <node n="997"/>
 
      <node n="998"/>
 
      <node n="996"/>
 
      <wall w="502"/>
 
      <wall w="466"/>
 
      <wall w="64"/>
 
      <wall w="530"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="30" area="556.575" target_area="641.175" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="477"/>
 
      <node n="264"/>
 
      <node n="262"/>
 
      <node n="1097"/>
 
      <node n="432"/>
 
      <node n="139"/>
 
      <node n="905"/>
 
      <node n="907"/>
 
      <node n="908"/>
 
      <node n="906"/>
 
      <wall w="10"/>
 
      <wall w="645"/>
 
      <wall w="42"/>
 
      <wall w="472"/>
 
      <wall w="391"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="31" area="536.576" target_area="640.785" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="481"/>
 
      <node n="268"/>
 
      <node n="266"/>
 
      <node n="1102"/>
 
      <node n="141"/>
 
      <node n="42"/>
 
      <node n="909"/>
 
      <node n="911"/>
 
      <node n="912"/>
 
      <node n="910"/>
 
      <wall w="238"/>
 
      <wall w="223"/>
 
      <wall w="11"/>
 
      <wall w="478"/>
 
      <wall w="395"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="32" area="565.261" target_area="660.55" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="331"/>
 
      <node n="60"/>
 
      <node n="61"/>
 
      <node n="59"/>
 
      <node n="1126"/>
 
      <node n="349"/>
 
      <node n="682"/>
 
      <node n="684"/>
 
      <node n="685"/>
 
      <node n="683"/>
 
      <wall w="562"/>
 
      <wall w="18"/>
 
      <wall w="24"/>
 
      <wall w="228"/>
 
      <wall w="151"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="33" area="293.597" target_area="348.088" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="568"/>
 
      <node n="334"/>
 
      <node n="335"/>
 
      <node n="333"/>
 
      <node n="159"/>
 
      <node n="161"/>
 
      <node n="1151"/>
 
      <node n="1153"/>
 
      <node n="1154"/>
 
      <node n="1152"/>
 
      <wall w="125"/>
 
      <wall w="729"/>
 
      <wall w="19"/>
 
      <wall w="803"/>
 
      <wall w="677"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="34" area="565.766" target_area="646.097" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="396"/>
 
      <node n="343"/>
 
      <node n="163"/>
 
      <node n="56"/>
 
      <node n="766"/>
 
      <node n="643"/>
 
      <node n="123"/>
 
      <node n="914"/>
 
      <node n="915"/>
 
      <node n="913"/>
 
      <wall w="718"/>
 
      <wall w="23"/>
 
      <wall w="32"/>
 
      <wall w="325"/>
 
      <wall w="232"/>
 
      <wall w="399"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="35" area="288.92" target_area="345.822" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="166"/>
 
      <node n="144"/>
 
      <node n="615"/>
 
      <node n="617"/>
 
      <node n="618"/>
 
      <node n="616"/>
 
      <node n="1134"/>
 
      <node n="1136"/>
 
      <node n="1137"/>
 
      <node n="1135"/>
 
      <wall w="39"/>
 
      <wall w="100"/>
 
      <wall w="654"/>
 
      <wall w="655"/>
 
      <wall w="656"/>
 
      <wall w="704"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="36" area="292.449" target_area="330.822" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="784"/>
 
      <node n="782"/>
 
      <node n="405"/>
 
      <node n="861"/>
 
      <node n="406"/>
 
      <node n="404"/>
 
      <node n="1194"/>
 
      <node n="1196"/>
 
      <node n="1195"/>
 
      <wall w="182"/>
 
      <wall w="334"/>
 
      <wall w="243"/>
 
      <wall w="332"/>
 
      <wall w="734"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="37" area="594.181" target_area="656.175" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="true" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="410"/>
 
      <node n="408"/>
 
      <node n="173"/>
 
      <node n="172"/>
 
      <node n="1092"/>
 
      <node n="563"/>
 
      <node n="686"/>
 
      <node n="688"/>
 
      <node n="689"/>
 
      <node n="687"/>
 
      <wall w="312"/>
 
      <wall w="34"/>
 
      <wall w="154"/>
 
      <wall w="155"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="38" area="290.693" target_area="348.517" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="583"/>
 
      <node n="581"/>
 
      <node n="338"/>
 
      <node n="336"/>
 
      <node n="951"/>
 
      <node n="111"/>
 
      <node n="1138"/>
 
      <node n="1140"/>
 
      <node n="1141"/>
 
      <node n="1139"/>
 
      <wall w="453"/>
 
      <wall w="287"/>
 
      <wall w="79"/>
 
      <wall w="449"/>
 
      <wall w="662"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="39" area="286.982" target_area="333.01" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="786"/>
 
      <node n="286"/>
 
      <node n="718"/>
 
      <node n="296"/>
 
      <node n="298"/>
 
      <node n="1197"/>
 
      <node n="1198"/>
 
      <node n="1199"/>
 
      <node n="788"/>
 
      <wall w="15"/>
 
      <wall w="180"/>
 
      <wall w="849"/>
 
      <wall w="738"/>
 
      <wall w="739"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="40" area="567.472" target_area="654.535" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="414"/>
 
      <node n="412"/>
 
      <node n="628"/>
 
      <node n="184"/>
 
      <node n="183"/>
 
      <node n="71"/>
 
      <node n="690"/>
 
      <node n="692"/>
 
      <node n="693"/>
 
      <node n="691"/>
 
      <wall w="35"/>
 
      <wall w="340"/>
 
      <wall w="112"/>
 
      <wall w="271"/>
 
      <wall w="159"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="41" area="551.413" target_area="641.8" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="876"/>
 
      <node n="487"/>
 
      <node n="485"/>
 
      <node n="187"/>
 
      <node n="1118"/>
 
      <node n="189"/>
 
      <node n="188"/>
 
      <node n="917"/>
 
      <node n="918"/>
 
      <node n="916"/>
 
      <wall w="2"/>
 
      <wall w="3"/>
 
      <wall w="424"/>
 
      <wall w="359"/>
 
      <wall w="357"/>
 
      <wall w="403"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="42" area="580.892" target_area="646.722" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="true" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="967"/>
 
      <node n="491"/>
 
      <node n="489"/>
 
      <node n="192"/>
 
      <node n="190"/>
 
      <node n="561"/>
 
      <node n="23"/>
 
      <node n="790"/>
 
      <node n="791"/>
 
      <node n="789"/>
 
      <wall w="120"/>
 
      <wall w="485"/>
 
      <wall w="250"/>
 
      <wall w="251"/>
 
      <wall w="483"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="43" area="571.841" target_area="653.91" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="418"/>
 
      <node n="416"/>
 
      <node n="1103"/>
 
      <node n="136"/>
 
      <node n="196"/>
 
      <node n="293"/>
 
      <node n="694"/>
 
      <node n="696"/>
 
      <node n="697"/>
 
      <node n="695"/>
 
      <wall w="4"/>
 
      <wall w="531"/>
 
      <wall w="277"/>
 
      <wall w="36"/>
 
      <wall w="160"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="44" area="567.265" target_area="641.8" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="1039"/>
 
      <node n="494"/>
 
      <node n="199"/>
 
      <node n="846"/>
 
      <node n="198"/>
 
      <node n="90"/>
 
      <node n="919"/>
 
      <node n="921"/>
 
      <node n="922"/>
 
      <node n="920"/>
 
      <wall w="550"/>
 
      <wall w="58"/>
 
      <wall w="601"/>
 
      <wall w="316"/>
 
      <wall w="408"/>
 
      <wall w="599"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="45" area="583.134" target_area="654.144" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="true" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="868"/>
 
      <node n="422"/>
 
      <node n="420"/>
 
      <node n="202"/>
 
      <node n="200"/>
 
      <node n="14"/>
 
      <node n="698"/>
 
      <node n="700"/>
 
      <node n="701"/>
 
      <node n="699"/>
 
      <wall w="588"/>
 
      <wall w="348"/>
 
      <wall w="162"/>
 
      <wall w="163"/>
 
      <wall w="346"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="46" area="280.136" target_area="337.072" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="587"/>
 
      <node n="585"/>
 
      <node n="426"/>
 
      <node n="424"/>
 
      <node n="373"/>
 
      <node n="1200"/>
 
      <node n="1202"/>
 
      <node n="1203"/>
 
      <node n="1201"/>
 
      <wall w="190"/>
 
      <wall w="38"/>
 
      <wall w="213"/>
 
      <wall w="80"/>
 
      <wall w="743"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="47" area="563.924" target_area="646.097" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="496"/>
 
      <node n="211"/>
 
      <node n="210"/>
 
      <node n="469"/>
 
      <node n="1108"/>
 
      <node n="208"/>
 
      <node n="20"/>
 
      <node n="792"/>
 
      <node n="794"/>
 
      <node n="795"/>
 
      <node n="793"/>
 
      <wall w="67"/>
 
      <wall w="9"/>
 
      <wall w="595"/>
 
      <wall w="59"/>
 
      <wall w="607"/>
 
      <wall w="255"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="48" area="585.405" target_area="650.785" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="502"/>
 
      <node n="500"/>
 
      <node n="599"/>
 
      <node n="213"/>
 
      <node n="1112"/>
 
      <node n="377"/>
 
      <node n="215"/>
 
      <node n="702"/>
 
      <node n="704"/>
 
      <node n="705"/>
 
      <node n="703"/>
 
      <wall w="6"/>
 
      <wall w="195"/>
 
      <wall w="90"/>
 
      <wall w="365"/>
 
      <wall w="88"/>
 
      <wall w="167"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="49" area="285.611" target_area="327.892" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="799"/>
 
      <node n="797"/>
 
      <node n="504"/>
 
      <node n="381"/>
 
      <node n="739"/>
 
      <node n="218"/>
 
      <node n="1204"/>
 
      <node n="1206"/>
 
      <node n="1207"/>
 
      <node n="1205"/>
 
      <wall w="29"/>
 
      <wall w="61"/>
 
      <wall w="491"/>
 
      <wall w="201"/>
 
      <wall w="257"/>
 
      <wall w="747"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="50" area="537.333" target_area="637.972" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="429"/>
 
      <node n="944"/>
 
      <node n="430"/>
 
      <node n="428"/>
 
      <node n="385"/>
 
      <node n="223"/>
 
      <node n="999"/>
 
      <node n="1001"/>
 
      <node n="1002"/>
 
      <node n="1000"/>
 
      <wall w="207"/>
 
      <wall w="40"/>
 
      <wall w="439"/>
 
      <wall w="437"/>
 
      <wall w="536"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="51" area="574.302" target_area="638.285" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="522"/>
 
      <node n="520"/>
 
      <node n="648"/>
 
      <node n="450"/>
 
      <node n="226"/>
 
      <node n="952"/>
 
      <node n="74"/>
 
      <node n="923"/>
 
      <node n="925"/>
 
      <node n="926"/>
 
      <node n="924"/>
 
      <wall w="48"/>
 
      <wall w="123"/>
 
      <wall w="631"/>
 
      <wall w="121"/>
 
      <wall w="412"/>
 
      <wall w="413"/>
 
      <wall w="456"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="52" area="544.773" target_area="633.285" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="525"/>
 
      <node n="1063"/>
 
      <node n="526"/>
 
      <node n="524"/>
 
      <node n="231"/>
 
      <node n="346"/>
 
      <node n="230"/>
 
      <node n="1003"/>
 
      <node n="1005"/>
 
      <node n="1006"/>
 
      <node n="1004"/>
 
      <wall w="298"/>
 
      <wall w="69"/>
 
      <wall w="637"/>
 
      <wall w="542"/>
 
      <wall w="635"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="53" area="592.933" target_area="652.425" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="432"/>
 
      <node n="1097"/>
 
      <node n="262"/>
 
      <node n="233"/>
 
      <node n="1121"/>
 
      <node n="357"/>
 
      <node n="235"/>
 
      <node n="706"/>
 
      <node n="708"/>
 
      <node n="709"/>
 
      <node n="707"/>
 
      <wall w="7"/>
 
      <wall w="646"/>
 
      <wall w="10"/>
 
      <wall w="304"/>
 
      <wall w="41"/>
 
      <wall w="169"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="54" area="577.678" target_area="637.894" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="755"/>
 
      <node n="436"/>
 
      <node n="238"/>
 
      <node n="935"/>
 
      <node n="236"/>
 
      <node n="1082"/>
 
      <node n="62"/>
 
      <node n="1007"/>
 
      <node n="1009"/>
 
      <node n="1010"/>
 
      <node n="1008"/>
 
      <wall w="37"/>
 
      <wall w="432"/>
 
      <wall w="218"/>
 
      <wall w="216"/>
 
      <wall w="427"/>
 
      <wall w="548"/>
 
      <wall w="549"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="55" area="562.702" target_area="642.66" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="530"/>
 
      <node n="528"/>
 
      <node n="454"/>
 
      <node n="241"/>
 
      <node n="240"/>
 
      <node n="816"/>
 
      <node n="38"/>
 
      <node n="800"/>
 
      <node n="802"/>
 
      <node n="803"/>
 
      <node n="801"/>
 
      <wall w="276"/>
 
      <wall w="574"/>
 
      <wall w="70"/>
 
      <wall w="513"/>
 
      <wall w="259"/>
 
      <wall w="756"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="56" area="548.388" target_area="647.035" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="40"/>
 
      <node n="439"/>
 
      <node n="441"/>
 
      <node n="442"/>
 
      <node n="440"/>
 
      <node n="244"/>
 
      <node n="804"/>
 
      <node n="806"/>
 
      <node n="807"/>
 
      <node n="805"/>
 
      <wall w="52"/>
 
      <wall w="63"/>
 
      <wall w="382"/>
 
      <wall w="43"/>
 
      <wall w="261"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="57" area="562.442" target_area="648.519" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="444"/>
 
      <node n="248"/>
 
      <node n="461"/>
 
      <node n="246"/>
 
      <node n="130"/>
 
      <node n="340"/>
 
      <node n="808"/>
 
      <node n="810"/>
 
      <node n="811"/>
 
      <node n="809"/>
 
      <wall w="390"/>
 
      <wall w="45"/>
 
      <wall w="444"/>
 
      <wall w="581"/>
 
      <wall w="265"/>
 
      <wall w="266"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="58" area="526.731" target_area="626.644" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="533"/>
 
      <node n="252"/>
 
      <node n="250"/>
 
      <node n="590"/>
 
      <node n="28"/>
 
      <node n="559"/>
 
      <node n="1054"/>
 
      <node n="1056"/>
 
      <node n="1057"/>
 
      <node n="1055"/>
 
      <wall w="50"/>
 
      <wall w="417"/>
 
      <wall w="71"/>
 
      <wall w="612"/>
 
      <wall w="623"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="59" area="557.767" target_area="633.91" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="20"/>
 
      <node n="208"/>
 
      <node n="507"/>
 
      <node n="509"/>
 
      <node n="975"/>
 
      <node n="510"/>
 
      <node n="508"/>
 
      <node n="1011"/>
 
      <node n="1013"/>
 
      <node n="1014"/>
 
      <node n="1012"/>
 
      <wall w="9"/>
 
      <wall w="594"/>
 
      <wall w="436"/>
 
      <wall w="496"/>
 
      <wall w="494"/>
 
      <wall w="554"/>
 
      <wall w="555"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="60" area="582.091" target_area="648.91" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="true" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="512"/>
 
      <node n="260"/>
 
      <node n="473"/>
 
      <node n="1145"/>
 
      <node n="258"/>
 
      <node n="562"/>
 
      <node n="710"/>
 
      <node n="712"/>
 
      <node n="713"/>
 
      <node n="711"/>
 
      <wall w="468"/>
 
      <wall w="64"/>
 
      <wall w="65"/>
 
      <wall w="172"/>
 
      <wall w="173"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="61" area="540.456" target_area="631.175" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="1067"/>
 
      <node n="535"/>
 
      <node n="263"/>
 
      <node n="34"/>
 
      <node n="931"/>
 
      <node n="552"/>
 
      <node n="1015"/>
 
      <node n="1016"/>
 
      <node n="1017"/>
 
      <node n="537"/>
 
      <wall w="474"/>
 
      <wall w="644"/>
 
      <wall w="426"/>
 
      <wall w="560"/>
 
      <wall w="561"/>
 
      <wall w="642"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="62" area="548.055" target_area="640.785" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="540"/>
 
      <node n="541"/>
 
      <node n="539"/>
 
      <node n="266"/>
 
      <node n="268"/>
 
      <node n="481"/>
 
      <node n="812"/>
 
      <node n="814"/>
 
      <node n="815"/>
 
      <node n="813"/>
 
      <wall w="11"/>
 
      <wall w="480"/>
 
      <wall w="224"/>
 
      <wall w="520"/>
 
      <wall w="268"/>
 
      <wall w="518"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="63" area="533.354" target_area="635.55" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="545"/>
 
      <node n="543"/>
 
      <node n="270"/>
 
      <node n="269"/>
 
      <node n="145"/>
 
      <node n="17"/>
 
      <node n="927"/>
 
      <node n="929"/>
 
      <node n="930"/>
 
      <node n="928"/>
 
      <wall w="49"/>
 
      <wall w="31"/>
 
      <wall w="509"/>
 
      <wall w="76"/>
 
      <wall w="416"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="64" area="287.312" target_area="330.705" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="9" cell_type="0">
 
      <node n="818"/>
 
      <node n="819"/>
 
      <node n="817"/>
 
      <node n="295"/>
 
      <node n="663"/>
 
      <node n="294"/>
 
      <node n="1208"/>
 
      <node n="1210"/>
 
      <node n="1211"/>
 
      <node n="1209"/>
 
      <wall w="136"/>
 
      <wall w="273"/>
 
      <wall w="274"/>
 
      <wall w="753"/>
 
      <chem n="2">
 
        <val v="1"/>
 
        <val v="0"/>
 
      </chem>
 
    </cell>
 
    <cell index="65" area="571.748" target_area="656.019" target_length="60" lambda_celllength="0" stiffness="0" fixed="false" pin_fixed="false" at_boundary="false" dead="false" source="false" boundary="None" div_counter="8" cell_type="0">
 
      <node n="1197"/>
 
      <node n="298"/>
 
      <node n="296"/>
src/VirtualLeaf.cpp
Show inline comments
 
/*
 
 *
 
 *  This file is part of the Virtual Leaf.
 
 *
 
 *  VirtualLeaf is free software: you can redistribute it and/or modify
 
 *  it under the terms of the GNU General Public License as published by
 
 *  the Free Software Foundation, either version 3 of the License, or
 
 *  (at your option) any later version.
 
 *
 
 *  VirtualLeaf 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 for more details.
 
 *
 
 *  You should have received a copy of the GNU General Public License
 
 *  along with the Virtual Leaf.  If not, see <http://www.gnu.org/licenses/>.
 
 *
 
 *  Copyright 2010 Roeland Merks.
 
 *
 
 */
 

	
 
#include <string>
 
#include <fstream>
 
#include <sstream>
 
#include <cstring>
 
#include <functional> 
 
#include <getopt.h>
 
#include <cerrno>
 
#include "mesh.h"
 
#include "parameter.h"
 
#include "random.h"
 
#include "pi.h"
 
#include "cellitem.h"
 
#include "canvas.h"
 
#include "cell.h"
 
#include "output.h"
 
#include <qwidget.h>
 
#include <q3process.h>
 
#include <qapplication.h>
 
#include <QDesktopWidget>
 
#include <QGraphicsScene>
 
#include <QMessageBox>
 
//Added by qt3to4:
 
#include <QMouseEvent>
 

	
 
#include <unistd.h>
 
#include <q3textstream.h> 
 

	
 
#ifdef HAVE_QWT
 
#include "data_plot.h"
 
#endif
 
#include <QPalette>
 
#include <QBrush>
 
#include <QToolTip>
 
#include "simplugin.h"
 
#include <QPluginLoader>
 
#include <QDir>
 
#include "modelcatalogue.h"
 

	
 
static const std::string _module_id("$Id$");
 

	
 
extern Parameter par;
 

	
 
MainBase *main_window = 0;
 

	
 
#ifdef XFIGGRAPHICS
 
#define TIMESTEP double Graphics::TimeStep(void)
 
#endif
 

	
 
class PrintNode {
 
public:
 
  void operator() (const Node &n) const 
 
  {
 
    cerr << n.Index() << ": " << n <<  endl;
 
  }
 
};
 

	
 

	
 
class EdgeSource {
 

	
 
public:
 
  void operator() (Cell &c) {
 

	
 
    if (c.AtBoundaryP()) {
 
      cerr << "Cell " << c.Index() << " is a source cell.\n";
 
      c.SetSource(0,par.source);
 
    } else {
 
      cerr << "Cell " << c.Index() << " is _not_ a source cell.\n";
 
    }
 
  }
 
};
 

	
 

	
 

	
 
class CellInfo {
 
public:
 
  void operator() (Cell &c,std::ostream &os) const {
 
    os << "Cell " << c.index << " says: " << endl;
 
    os << "c.nodes.size() = " << c.nodes.size() << endl;
 
    for (list<Node *>::iterator i=c.nodes.begin(); i!=c.nodes.end(); i++) {
 
      cerr << (*i)->Index() << " ";
 
    }
 
    cerr << endl;
 
  }
 
};
 

	
 
double PINSum(Cell &c) {
 
  return c.Chemical(1) + c.SumTransporters(1);// + c.ReduceCellAndWalls<double>( complex_PijAj );
 
}
 

	
 

	
 
class DrawCell {
 
public:
 
  void operator() (Cell &c,QGraphicsScene &canvas, MainBase &m) const {
 
    if (m.ShowBorderCellsP() || c.Boundary()==Cell::None) {
 
      if (!m.ShowBoundaryOnlyP() && !m.HideCellsP()) {
 
	if (m.ShowToolTipsP()) {
 
	  //QString info_string=QString("Cell %1, chemicals: ( %2, %3, %4, %5, %6)\n %7 of PIN1 at walls.\n Area is %8\n PIN sum is %9\n Circumference is %10\n Boundary type is %11").arg(c.Index()).arg(c.Chemical(0)).arg(c.Chemical(1)).arg(c.Chemical(2)).arg(c.Chemical(3)).arg(c.Chemical(4)).arg(c.SumTransporters(1)).arg(c.Area()).arg(PINSum(c)).arg(c.Circumference()).arg(c.BoundaryStr());
 
		QString info_string=QString("Cell %1, chemicals(%2): ").arg(c.Index()).arg(Cell::NChem());
 
		for (int i=0;i<Cell::NChem();i++) {
 
			info_string += QString("%1 ").arg(c.Chemical(i));
 
		}
 
		info_string += QString("\nArea is %1\n Circumference is %2\n Boundary type is %3").arg(c.Area()).arg(c.WallCircumference()).arg(c.BoundaryStr());
 
		
 
	  info_string += "\nNodes: " + c.printednodelist();
 
	  c.Draw(&canvas, info_string);
 
	} else {
 
	  c.Draw(&canvas);
 
	}
 
      }
 
      if (m.ShowCentersP()){
 
	c.DrawCenter(&canvas);
 
      }
 
      if (m.ShowFluxesP()){
 
	c.DrawFluxes(&canvas, par.arrowsize);
 
      }
 
    }
 
  }
 
};
 

	
 
Mesh mesh;
 
bool batch=false;
 

	
 
void MainBase::Plot(int resize_stride)
 
{
 

	
 
  clear();
 

	
 
  static int count=0;
 
  int count=(int)mesh.getTime();
 

	
 
  if (resize_stride) {
 
    if ( !((count)%resize_stride) ) {
 
      FitLeafToCanvas();
 
    }
 
  }
 

	
 
  mesh.LoopCells(DrawCell(),canvas,*this);
 

	
 
  if (ShowNodeNumbersP()) 
 
    mesh.LoopNodes( bind2nd (mem_fun_ref ( &Node::DrawIndex), &canvas ) ) ;
 
  if (ShowCellNumbersP()) 
 
    mesh.LoopCells( bind2nd (mem_fun_ref ( &Cell::DrawIndex), &canvas ) ) ;
 

	
 
  if (ShowCellAxesP()) 
 
    mesh.LoopCells( bind2nd (mem_fun_ref ( &Cell::DrawAxis), &canvas ) );
 

	
 
  if (ShowCellStrainP()) 
 
    mesh.LoopCells( bind2nd (mem_fun_ref ( &Cell::DrawStrain), &canvas ) );
 

	
 
  if (ShowWallsP())
 
    mesh.LoopWalls( bind2nd( mem_fun_ref( &Wall::Draw ), &canvas ) );
 

	
 
/*  if (ShowApoplastsP()) 
 
    mesh.LoopWalls( bind2nd( mem_fun_ref( &Wall::DrawApoplast ), &canvas ) );
 
*/
 
  if (ShowMeshP()) 
 
    mesh.DrawNodes(&canvas);
 

	
 
  if (ShowBoundaryOnlyP()) 
 
    mesh.DrawBoundary(&canvas);
 

	
 
  if ( ( batch || MovieFramesP() )) {
 

	
 
     static int frame = 0;
 
    // frame numbers are sequential for the most frequently written file type.
 
    // for the less frequently written file type they match the other type
 
    if (!(count%par.storage_stride) )  {
 

	
 
    if (!(count%par.storage_stride) ) {
 
      stringstream fname;
 
      fname << par.datadir << "/leaf.";
 
      fname.fill('0');
 
      fname.width(6);
 

	
 
      fname << frame << ".jpg";
 
      if (par.storage_stride <= par.xml_storage_stride) {
 
	frame = (int)mesh.getTime();
 
      }
 

	
 
      // Write high-res JPG snapshot every plot step
 
      Save(fname.str().c_str(), "JPEG",1024,768);
 
      fname << count << ".png";
 
      // Write high-res PNG snapshot every plot step
 
      Save(fname.str().c_str(), "PNG", 1024, 768);
 
    }
 

	
 
    if (!(count%par.xml_storage_stride)) {
 
      stringstream fname;
 
      fname << par.datadir << "/leaf.";
 
      fname.fill('0');
 
      fname.width(6);
 
      fname << frame << ".xml";
 

	
 
      if (par.xml_storage_stride < par.storage_stride) {
 
	frame = (int)mesh.getTime();
 
      }
 
      fname << count << ".xml";
 
      // Write XML file every ten plot steps
 
      mesh.XMLSave(fname.str().c_str(), XMLSettingsTree());
 
    }
 
  }
 
 count++;
 
}
 

	
 

	
 

	
 
INIT {
 

	
 
  //mesh.SetSimPlugin(plugin);
 
  if (leaffile) { 
 
    xmlNode *settings;
 
    mesh.XMLRead(leaffile, &settings);
 

	
 
    main_window->XMLReadSettings(settings);
 
    xmlFree(settings);
 
    main_window->UserMessage(QString("Ready. Time is %1").arg(mesh.getTimeHours().c_str()));
 

	
 
  } else {
 
    mesh.StandardInit();
 
  }
 
  
 
  Cell::SetMagnification(1);
 
  Cell::setOffset(0,0);
 
  
 
  FitLeafToCanvas();
 
  Plot();
 

	
 
}
 

	
 
TIMESTEP {
 

	
 
  static int i=0;
 
  static int t=0;
 
  static int ncells;
 

	
 
  if (!batch) {
 
    UserMessage(QString("Time: %1").arg(mesh.getTimeHours().c_str()),0);
 
  }
 

	
 
  ncells=mesh.NCells();
 

	
 

	
 
  double dh;
 

	
 
  if(DynamicCellsP()) {
 
    dh = mesh.DisplaceNodes();
 

	
 
    // Only allow for node insertion, cell division and cell growth
 
    // if the system has equillibrized
 
    // i.e. cell wall tension equillibrization is much faster
 
    // than biological processes, including division, cell wall yielding
 
    // and cell expansion
 
    mesh.InsertNodes(); // (this amounts to cell wall yielding)
 

	
 
    if ( (-dh) < par.energy_threshold) {
 

	
 
      mesh.IncreaseCellCapacityIfNecessary();
 
      mesh.DoCellHouseKeeping();
 
      //mesh.LoopCurrentCells(mem_fun(&plugin->CellHouseKeeping)); // this includes cell division
 

	
 
      // Reaction diffusion	
 
      mesh.ReactDiffuse(par.rd_dt);
 
      t++;
 
      Plot(par.resize_stride);
 
    }
 
  } else {
 
    mesh.ReactDiffuse(par.rd_dt);
 
    Plot(par.resize_stride);
 
  }
 
  i++;
 
  return mesh.getTime();
 
}
 

	
 

	
 

	
 
/* Called if a cell is clicked */
 
void Cell::OnClick(QMouseEvent *e){}
 

	
 

	
 
/* Custom message handler - Default appends a newline character to the end of each line. */ 
 
void vlMessageOutput(QtMsgType type, const char *msg)
 
{
 
  switch (type) {
 
  case QtDebugMsg:
 
    //fprintf(stderr, "Debug: %s\n", msg);
 
    cerr << msg << flush;
 
    break;
 
  case QtWarningMsg:
 
    //fprintf(stderr, "Warning: %s\n", msg);
 
    cerr << "Warning: " << msg << flush;
 
    break;
 
  case QtCriticalMsg:
 
    fprintf(stderr, "Critical: %s\n", msg);
 
    cerr << "Critical: " << msg << flush;
 
    break;
 
  case QtFatalMsg:
 
    //fprintf(stderr, "Fatal: %s\n", msg);
 
    cerr << "Fatal: " << msg << flush;
 
    abort();
 
  }
 
}
 

	
 

	
 
Parameter par;
 

	
 
int main(int argc,char **argv) {
 

	
 
  try {
 
    int c;
 
    char *leaffile=0;
 
    char *modelfile=0;
 

	
 
    while (1) {
 

	
 
      //int this_option_optind = optind ? optind : 1;
 
      int option_index = 0;
 
      static struct option long_options[] = {
 
	{"batch", no_argument, NULL, 'b'},
 
	{"leaffile", required_argument, NULL, 'l'},
 
	{"model", required_argument, NULL, 'm'} 
 
      };
 

	
 
      // short option 'p' creates trouble for non-commandline usage on MacOSX. Option -p changed to -P (capital)
 
      static char *short_options = "blm";
 
      c = getopt_long (argc, argv, "bl:m:",
 
		       long_options, &option_index);
 
      if (c == -1)
 
	break;
 

	
 

	
 
      if (c==0) {
 
	printf ("option %s", long_options[option_index].name);
 
	if (optarg)
 
	  printf (" with arg %s", optarg);
 
	printf ("\n");
 

	
 
	c = short_options[option_index];
 
      }
 

	
 
      switch (c) {
 
      case 'b':
 
	cerr << "Running in batch mode\n";
 
	batch=true;
 
	break;
 

	
 
      case 'l':
 
	leaffile=strdup(optarg);
 
	if (!leaffile) {
 
	  throw("Out of memory");
 
	}
 
	printf("Reading leaf state file '%s'\n", leaffile);
 
	break;
 

	
 
      case 'm':
 
	modelfile=strdup(optarg);
 
	if (!modelfile) {
 
	  throw("Out of memory");
 
	}
 
	break;
 

	
 
      case '?':
 
	break;
 

	
 
      default:
 
	printf ("?? getopt returned character code 0%o ??\n", c);
 
      }
 
    }
 

	
 

	
 
    if (optind < argc) {
 
      printf ("non-option ARGV-elements: ");
 
      while (optind < argc)
 
	printf ("%s ", argv[optind++]);
 
      printf ("\n");
 
    }
 

	
 
    bool useGUI = !batch;
 
    qInstallMsgHandler(vlMessageOutput); // custom message handler
 
    QApplication app(argc,argv,useGUI);
 

	
 

	
 

	
 
    QPalette tooltippalette = QToolTip::palette();
 
    QColor transparentcolor = QColor(tooltippalette.brush(QPalette::Window).color());
 

	
 
    tooltippalette.setBrush (QPalette::Window, QBrush (transparentcolor) );
 
    QToolTip::setPalette( tooltippalette );
 

	
 
    QGraphicsScene canvas(0,0,8000,6000);
 

	
 

	
 
    if (useGUI) {
 
      main_window=new Main(canvas, mesh);
 
      if ( QApplication::desktop()->width() > ((Main *)main_window)->width() + 10
 
	   && QApplication::desktop()->height() > ((Main *)main_window)->height() +30 ) {
 

	
 
	((Main *)main_window)->show();
 
	((Main *)main_window)->resize( ((Main *)main_window)->sizeHint());
 
      } else {
 
        ((Main *)main_window)->showMaximized();
 
      }
 
      
 
      // show "About" window at start up
 
      ((Main *)main_window)->about();
 
    } else {
 
      main_window=new MainBase(canvas, mesh);
 
    }
 

	
 
    canvas.setSceneRect(QRectF());
 
    if (!batch) {
 
      QObject::connect( qApp, SIGNAL(lastWindowClosed()), qApp, SLOT(quit()) );
 
    }
 

	
 
    //    main_window->Init(leaffile);
 

	
 
    // Install model or read catalogue of models
 
    ModelCatalogue model_catalogue(&mesh, useGUI?(Main *)main_window:0,modelfile);
 

	
 

	
 
    if (useGUI)
 
      model_catalogue.PopulateModelMenu();
 
    model_catalogue.InstallFirstModel();
 
    
 
    
 

	
 
    /*    Cell::SetMagnification(1);
 
    Cell::setOffset(0,0);
 

	
 
    main_window->FitLeafToCanvas();
 

	
 
    main_window->Plot();
 
    */
 
    if (batch) {
 
      double t=0.;
 
      do {
 
	t = main_window->TimeStep();
 
      } while (t < par.maxt);
 
    } else
 
      return app.exec();
 

	
 
  } catch (const char *message) {
 
    if (batch) { 
 
      cerr << "Exception caught:" << endl;
 
      cerr << message << endl;
 
      abort();
 
    } else {
 
      QString qmess=QString("Exception caught: %1").arg(message);
 
      QMessageBox::critical(0, "Critical Error", qmess);
 
      abort();
 
    }
 
  } catch (ios_base::failure) {
 
    stringstream error_message;
 
    error_message << "I/O failure: " << strerror(errno);
 
    if (batch) {
 
      cerr << error_message.str() <<endl;
 
      abort();
 
    } else {
 
      QString qmess(error_message.str().c_str());
 
      QMessageBox::critical(0, "I/O Error", qmess );
 
      abort();
 
    }
 
  }
 
}
 

	
 
/* finis */
src/mainbase.cpp
Show inline comments
 
/*
 
 *
 
 *  This file is part of the Virtual Leaf.
 
 *
 
 *  VirtualLeaf is free software: you can redistribute it and/or modify
 
 *  it under the terms of the GNU General Public License as published by
 
 *  the Free Software Foundation, either version 3 of the License, or
 
 *  (at your option) any later version.
 
 *
 
 *  VirtualLeaf 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 for more details.
 
 *
 
 *  You should have received a copy of the GNU General Public License
 
 *  along with the Virtual Leaf.  If not, see <http://www.gnu.org/licenses/>.
 
 *
 
 *  Copyright 2010 Roeland Merks.
 
 *
 
 */
 

	
 
#include <libxml/xpath.h>
 
#include <libxml/xmlreader.h>
 

	
 
#include "mainbase.h"
 
#include "xmlwrite.h"
 

	
 
#include <sstream>
 
#include <string>
 

	
 
#include <QLocale>
 
#include <QDir>
 
#include <QDebug>
 

	
 
static const std::string _module_id("$Id$");
 

	
 
xmlNode *MainBase::XMLViewportTree(QTransform &transform) const {
 
  
 
  QLocale standardlocale(QLocale::C);
 
  
 

	
 
  xmlNode *xmlviewport = xmlNewNode(NULL, BAD_CAST "viewport");
 
  {
 
    xmlNewProp(xmlviewport, BAD_CAST "m11", BAD_CAST standardlocale.toString(transform.m11()).toStdString().c_str() );
 
    xmlNewProp(xmlviewport, BAD_CAST "m12", BAD_CAST standardlocale.toString(transform.m12()).toStdString().c_str() );    
 
    xmlNewProp(xmlviewport, BAD_CAST "m21", BAD_CAST standardlocale.toString(transform.m21()).toStdString().c_str() );    
 
    xmlNewProp(xmlviewport, BAD_CAST "m22", BAD_CAST standardlocale.toString(transform.m22()).toStdString().c_str() );    
 
    xmlNewProp(xmlviewport, BAD_CAST "dx", BAD_CAST standardlocale.toString(transform.dx()).toStdString().c_str() );    
 
    xmlNewProp(xmlviewport, BAD_CAST "dy", BAD_CAST standardlocale.toString(transform.dy()).toStdString().c_str() );    
 
 }
 
  
 
  return xmlviewport;
 
}
 

	
 
xmlNode *MainBase::XMLSettingsTree(void) const {
 

	
 
  xmlNode *xmlsettings = xmlNewNode(NULL, BAD_CAST "settings");
 
  {
 
    xmlNode *xmloption = xmlNewChild(xmlsettings, NULL, BAD_CAST "setting", NULL);
 
    xmlNewProp(xmloption, BAD_CAST "name", BAD_CAST "show_cell_centers");
 
    ostringstream text;
 
    text << bool_name(showcentersp);
 
    xmlNewProp(xmloption, BAD_CAST "val", BAD_CAST text.str().c_str());
 
  }
 
  {
 
    xmlNode *xmloption = xmlNewChild(xmlsettings, NULL, BAD_CAST "setting", NULL);
 
    xmlNewProp(xmloption, BAD_CAST "name", BAD_CAST "show_nodes");
 
    ostringstream text;
 
    text << bool_name(showmeshp);
 
    xmlNewProp(xmloption, BAD_CAST "val", BAD_CAST text.str().c_str());
 
  }
 
  {
 
    xmlNode *xmloption = xmlNewChild(xmlsettings, NULL, BAD_CAST "setting", NULL);
 
    xmlNewProp(xmloption, BAD_CAST "name", BAD_CAST "show_node_numbers");
 
    ostringstream text;
 
    text << bool_name(shownodenumbersp);
 
    xmlNewProp(xmloption, BAD_CAST "val", BAD_CAST text.str().c_str());
 
  }
 
  {
 
    xmlNode *xmloption = xmlNewChild(xmlsettings, NULL, BAD_CAST "setting", NULL);
 
    xmlNewProp(xmloption, BAD_CAST "name", BAD_CAST "show_cell_numbers");
 
    ostringstream text;
 
    text << bool_name(showcellnumbersp);
 
    xmlNewProp(xmloption, BAD_CAST "val", BAD_CAST text.str().c_str());
 
  }
 
  {
 
    xmlNode *xmloption = xmlNewChild(xmlsettings, NULL, BAD_CAST "setting", NULL);
 
    xmlNewProp(xmloption, BAD_CAST "name", BAD_CAST "show_border_cells");
 
    ostringstream text;
 
    text << bool_name(showbordercellp);
 
    xmlNewProp(xmloption, BAD_CAST "val", BAD_CAST text.str().c_str());
 
  }
 
  {
 
    xmlNode *xmloption = xmlNewChild(xmlsettings, NULL, BAD_CAST "setting", NULL);
 
    xmlNewProp(xmloption, BAD_CAST "name", BAD_CAST "show_cell_axes");
 
    ostringstream text;
 
    text << bool_name(showcellsaxesp);
 
    xmlNewProp(xmloption, BAD_CAST "val", BAD_CAST text.str().c_str());
 
  }
 
  {
 
    xmlNode *xmloption = xmlNewChild(xmlsettings, NULL, BAD_CAST "setting", NULL);
 
    xmlNewProp(xmloption, BAD_CAST "name", BAD_CAST "show_cell_strain");
 
    ostringstream text;
 
    text << bool_name(showcellstrainp);
 
    xmlNewProp(xmloption, BAD_CAST "val", BAD_CAST text.str().c_str());
 
  }
 
  {
 
    xmlNode *xmloption = xmlNewChild(xmlsettings, NULL, BAD_CAST "setting", NULL);
 
    xmlNewProp(xmloption, BAD_CAST "name", BAD_CAST "show_fluxes");
 
    ostringstream text;
 
    text << bool_name(showfluxesp);
 
    xmlNewProp(xmloption, BAD_CAST "val", BAD_CAST text.str().c_str());
 
  }
 
  {
 
    xmlNode *xmloption = xmlNewChild(xmlsettings, NULL, BAD_CAST "setting", NULL);
 
    xmlNewProp(xmloption, BAD_CAST "name", BAD_CAST "show_walls");
 
    ostringstream text;
 
    text << bool_name(showwallsp);
 
    xmlNewProp(xmloption, BAD_CAST "val", BAD_CAST text.str().c_str());
 
  }
 
 /* {
 
    xmlNode *xmloption = xmlNewChild(xmlsettings, NULL, BAD_CAST "setting", NULL);
 
    xmlNewProp(xmloption, BAD_CAST "name", BAD_CAST "show_apoplasts");
 
    ostringstream text;
 
    text << bool_name(showapoplastsp);
 
    xmlNewProp(xmloption, BAD_CAST "val", BAD_CAST text.str().c_str());
 
  }*/
 
  {
 
    xmlNode *xmloption = xmlNewChild(xmlsettings, NULL, BAD_CAST "setting", NULL);
 
    xmlNewProp(xmloption, BAD_CAST "name", BAD_CAST "save_movie_frames");
 
    ostringstream text;
 
    text << bool_name(movieframesp);
 
    xmlNewProp(xmloption, BAD_CAST "val", BAD_CAST text.str().c_str());
 
  }
 
  {
 
    xmlNode *xmloption = xmlNewChild(xmlsettings, NULL, BAD_CAST "setting", NULL);
 
    xmlNewProp(xmloption, BAD_CAST "name", BAD_CAST "show_only_leaf_boundary");
 
    ostringstream text;
 
    text << bool_name(showboundaryonlyp);
 
    xmlNewProp(xmloption, BAD_CAST "val", BAD_CAST text.str().c_str());
 
  }
 
  {
 
    xmlNode *xmloption = xmlNewChild(xmlsettings, NULL, BAD_CAST "setting", NULL);
 
    xmlNewProp(xmloption, BAD_CAST "name", BAD_CAST "cell_growth");
 
    ostringstream text;
 
    text << bool_name(dynamicscellsp);
 
    xmlNewProp(xmloption, BAD_CAST "val", BAD_CAST text.str().c_str());
 
  }
 
  {
 
    xmlNode *xmloption = xmlNewChild(xmlsettings, NULL, BAD_CAST "setting", NULL);
 
    xmlNewProp(xmloption, BAD_CAST "name", BAD_CAST "hide_cells");
 
    ostringstream text;
 
    text << bool_name(hidecellsp);
 
    xmlNewProp(xmloption, BAD_CAST "val", BAD_CAST text.str().c_str());
 
  }
 
  return xmlsettings;
 
}
 

	
 
void MainBase::XMLReadViewport(xmlNode *settings) {
 

	
 
  if (settings == 0) {
 
    return;
 
  }
 

	
 
  qreal m11=25,m12=0,m21=0,m22=25,dx=0,dy=0;
 
  QLocale standardlocale(QLocale::C);
 
  xmlNode *cur = settings->xmlChildrenNode;
 

	
 
  while (cur!=NULL) {
 
    
 
    if (!xmlStrcmp(cur->name,(const xmlChar *)"viewport")) {
 
      bool ok;
 
      {
 
	xmlChar *v_str = xmlGetProp(cur, BAD_CAST "m11");
 
	
 
	if (v_str==0) {
 
	  MyWarning::unique_warning("Error reading viewport in mainbase.cpp");
 
	}
 
	if (v_str != NULL) {
 
	  m11=standardlocale.toDouble((char *)v_str, &ok);
 
	  if (!ok) MyWarning::error("Could Not Convert \"%S\" To Double In XMLRead.",(char *)v_str);
 
	  xmlFree(v_str);
 
	}
 
      }
 
      {
 
	xmlChar *v_str = xmlGetProp(cur, BAD_CAST "m12");
 
	
 
	if (v_str==0) {
 
	  MyWarning::unique_warning("Error reading viewport in mainbase.cpp");
 
	}
 
	if (v_str != NULL) {
 
	  m12=standardlocale.toDouble((char *)v_str, &ok);
 
	  if (!ok) MyWarning::error("Could Not Convert \"%S\" To Double In XMLRead.",(char *)v_str);
 
	  xmlFree(v_str);
 
	}
 
      }
 
      { 
 
	xmlChar *v_str = xmlGetProp(cur, BAD_CAST "m21");
 
	
 
	if (v_str==0) {
 
	  MyWarning::unique_warning("Error reading viewport in mainbase.cpp");
 
	}
 
	if (v_str != NULL) {
 
	  m21=standardlocale.toDouble((char *)v_str, &ok);
 
	  if (!ok) MyWarning::error("Could Not Convert \"%S\" To Double In XMLRead.",(char *)v_str);
 
	  xmlFree(v_str);
 
	}
 
      }
 
      {
 
	xmlChar *v_str = xmlGetProp(cur, BAD_CAST "m22");
 
	
 
	if (v_str==0) {
 
	  MyWarning::unique_warning("Error reading viewport in mainbase.cpp");
 
	}
 
	if (v_str != NULL) {
 
	  m22=standardlocale.toDouble((char *)v_str, &ok);
 
	  if (!ok) MyWarning::error("Could Not Convert \"%S\" To Double In XMLRead.",(char *)v_str);
 
	  xmlFree(v_str);
 
	}
 
      }
 
      {
 
	xmlChar *v_str = xmlGetProp(cur, BAD_CAST "dx");
 
	
 
	if (v_str==0) {
 
	  MyWarning::unique_warning("Error reading viewport in mainbase.cpp");
 
	}
 
	if (v_str != NULL) {
 
	  dx=standardlocale.toDouble((char *)v_str, &ok);
 
	  if (!ok) MyWarning::error("Could Not Convert \"%S\" To Double In XMLRead.",(char *)v_str);
 
	  xmlFree(v_str);
 
	}
 
      }
 
      {
 
	xmlChar *v_str = xmlGetProp(cur, BAD_CAST "dy");
 
	
 
	if (v_str==0) {
 
	  MyWarning::unique_warning("Error reading viewport in mainbase.cpp");
 
	}
 
	if (v_str != NULL) {
 
	  dy=standardlocale.toDouble((char *)v_str, &ok);
 
	  if (!ok) MyWarning::error("Could Not Convert \"%S\" To Double In XMLRead.",(char *)v_str);
 
	  xmlFree(v_str);
 
	}
 
      }
 
    }
 
    cur=cur->next;
 
  }
 
  viewport = QTransform(m11,m12,m21,m22,dx,dy);
 
}
 

	
 
void MainBase::XMLReadSettings(xmlNode *settings)
 
{
 

	
 
  // Many files have no settings section, so don't complain about it.
 
  // Defaults will be used instead.
 
  if (settings == 0) {
 
    return;
 
  }
 

	
 
  XMLReadViewport(settings);
 
  xmlNode *cur = settings->xmlChildrenNode;
 

	
 
  while (cur!=NULL) {
 

	
 
    if ((!xmlStrcmp(cur->name, (const xmlChar *)"setting"))){
 

	
 
      xmlChar *name = xmlGetProp(cur, BAD_CAST "name");
 
    
 
      xmlChar *val = xmlGetProp(cur, BAD_CAST "val");
 
      if (!xmlStrcmp(name, (const xmlChar *)"show_cell_centers")) {
 
	showcentersp = strtobool( (const char *)val );
 
      }
 
      if (!xmlStrcmp(name, (const xmlChar *)"show_nodes")) {
 
	showmeshp = strtobool( (const char *)val );
 
      }
 
      if (!xmlStrcmp(name, (const xmlChar *)"show_node_numbers")) {
 
	shownodenumbersp = strtobool( (const char *)val );
 
      }
 
      if (!xmlStrcmp(name, (const xmlChar *)"show_cell_numbers")) {
 
	showcellnumbersp = strtobool( (const char *)val );
 
      }
 
      if (!xmlStrcmp(name, (const xmlChar *)"show_border_cells")) {
 
	showbordercellp = strtobool( (const char *)val );
 
      }
 
      if (!xmlStrcmp(name, (const xmlChar *)"show_cell_axes")) {
 
	showcellsaxesp = strtobool( (const char *)val );
 
      }
 
      if (!xmlStrcmp(name, (const xmlChar *)"show_cell_strain")) {
 
	showcellstrainp = strtobool( (const char *)val );
 
      }
 
      if (!xmlStrcmp(name, (const xmlChar *)"show_fluxes")) {
 
	showfluxesp = strtobool( (const char *)val );
 
      }
 
      if (!xmlStrcmp(name, (const xmlChar *)"show_walls")) {
 
	showwallsp = strtobool( (const char *)val );
 
      }
 
     /* if (!xmlStrcmp(name, (const xmlChar *)"show_apoplasts")) {
 
	showapoplastsp = strtobool( (const char *)val );
 
      }*/
 
      if (!xmlStrcmp(name, (const xmlChar *)"save_movie_frames")) {
 
	movieframesp = strtobool( (const char *)val );
 
      }
 
      if (!xmlStrcmp(name, (const xmlChar *)"show_only_leaf_boundary")) {
 
	showboundaryonlyp = strtobool( (const char *)val );
 
      }
 
      if (!xmlStrcmp(name, (const xmlChar *)"cell_growth")) {
 
	dynamicscellsp = strtobool( (const char *)val );
 
      }
 
      if (!xmlStrcmp(name,(const xmlChar *)"hide_cells")) {
 
	hidecellsp = strtobool( (const char *)val ); 
 
      }
 
    
 
	
 
  
 
      xmlFree(name);
 
      xmlFree(val);
 
    }
 
    cur=cur->next;
 
  }
 
}
 

	
 
void MainBase::Save(const char *fname, const char *format, int sizex, int sizey)
 
{
 

	
 
  Vector ll,ur;
 
  mesh.BoundingBox(ll, ur);
 

	
 
  if (QString(fname).isEmpty()) {
 
    MyWarning::warning("No output filename given. Saving nothing.\n");
 
    return;
 
  }
 

	
 
  ll*=Cell::Magnification(); ur*=Cell::Magnification();
 

	
 
  // give the leaf some space
 
  Vector border = ((ur-ll)/5.);
 

	
 
  if (!QString(format).contains("pdf", Qt::CaseInsensitive)) {
 

	
 
    QImage *image = new QImage(QSize(sizex, sizey), QImage::Format_RGB32);
 
    image->fill(QColor(Qt::white).rgb());
 
    QPainter *painter=new QPainter(image);
 
    canvas.render(painter);
 
#ifdef QDEBUG
 
    qDebug() << "Native Image Filename: " << QDir::toNativeSeparators(QString(fname)) << endl;
 
#endif
 
    if (!image->save(QDir::toNativeSeparators(QString(fname)), 0, -1)) {
 
    if (!image->save(QDir::toNativeSeparators(QString(fname)), format)) {
 
      MyWarning::warning("Image not saved successfully. Is the disk full or the extension not recognized?");
 
    };
 
    }
 
    delete painter;
 
    delete image;
 
  } else {
 
    QPrinter pdf(QPrinter::HighResolution);
 
    pdf.setOutputFileName(fname);
 
    pdf.setOutputFormat(QPrinter::PdfFormat);
 
    QPainter painter(&pdf);
 
    canvas.render(&painter, QRectF(), QRectF(-5000,-5000, 10000, 10000));
 

	
 
    
 
    cerr << "Rendering to printer\n";
 
  }
 
}
 

	
 
void MainBase::CutSAM()
 
{
 
  mesh.CutAwaySAM();
 
}
 

	
 
/* finis */
0 comments (0 inline, 0 general)