aboutsummaryrefslogtreecommitdiffstats
path: root/documentation/advanced
diff options
context:
space:
mode:
authorelmot <elmot@vaadin.com>2016-04-13 15:01:50 +0300
committerelmot <elmot@vaadin.com>2016-04-13 15:32:47 +0300
commit980f879176696906c25e985e4f7c8e3bdc04258d (patch)
treed781a70e24eef0994ba5d371280e1cf837f94825 /documentation/advanced
parentf7f5ba596dbba0c2374a6d8ac10e89362cbbaeb5 (diff)
parent9b46608f6c645c4289b854e2949bae3b1a2f5147 (diff)
downloadvaadin-framework-980f879176696906c25e985e4f7c8e3bdc04258d.tar.gz
vaadin-framework-980f879176696906c25e985e4f7c8e3bdc04258d.zip
Merge branch 'master' into feature/mavenize
Change-Id: Id7db526d07a14ac259cbb50415bbafd2a7c2ab94
Diffstat (limited to 'documentation/advanced')
-rw-r--r--documentation/advanced/advanced-architecture.asciidoc40
-rw-r--r--documentation/advanced/advanced-debug.asciidoc25
-rw-r--r--documentation/advanced/img/three-layer-architecture-hi.pngbin0 -> 39007 bytes
-rw-r--r--documentation/advanced/original-drawings/Makefile13
-rw-r--r--documentation/advanced/original-drawings/three-layer-architecture.svg1069
5 files changed, 1112 insertions, 35 deletions
diff --git a/documentation/advanced/advanced-architecture.asciidoc b/documentation/advanced/advanced-architecture.asciidoc
index 437c6f4a1d..219443b470 100644
--- a/documentation/advanced/advanced-architecture.asciidoc
+++ b/documentation/advanced/advanced-architecture.asciidoc
@@ -29,14 +29,13 @@ model and the "business logic" of the application, typically as beans or POJOs.
A user interface is built on top of the domain model, in our context with the
Vaadin Framework. The Vaadin user interface could be bound directly to the data
model through the Vaadin Data Model, described in
-<<dummy/../../../framework/datamodel/datamodel-overview.asciidoc#datamodel.overview,"Binding
-Components to Data">>. Beneath the domain model lies a data store, such as a
-relational database. The dependencies between the layers are restricted so that
-a higher layer may depend on a lower one, but never the other way around.
+<<dummy/../../../framework/datamodel/datamodel-overview.asciidoc#datamodel.overview,"Binding Components to Data">>.
+Beneath the domain model lies a data store, such as a relational database.
+The dependencies between the layers are restricted so that a higher layer may depend on a lower one, but never the other way around.
[[figure.advanced.architecture.layering]]
-.Three-Layer Architecture
-image::img/three-layer-architecture-hi.png[]
+.Three-layer architecture
+image::img/three-layer-architecture-hi.png[width=80%]
An __application layer__ (or __service layer__) is often distinguished from the
domain layer, offering the domain logic as a service, which can be used by the
@@ -65,8 +64,8 @@ implementation better than in MVC and allows easier unit testing of the
presenter and model.
[[figure.advanced.architecture.mvp]]
-.Model-View-Presenter Pattern
-image::img/mvp-pattern-hi.png[]
+.Model-View-Presenter pattern
+image::img/mvp-pattern-hi.png[width=60%]
<<figure.advanced.architecture.mvp>> illustrates the MVP pattern with a simple
calculator. The domain model is realized in the [classname]#Calculator# class,
@@ -88,10 +87,10 @@ the following example:
// Create the model and the Vaadin view implementation
CalculatorModel model = new CalculatorModel();
CalculatorViewImpl view = new CalculatorViewImpl();
-
+
// The presenter binds the model and view together
new CalculatorPresenter(model, view);
-
+
// The view implementation is a Vaadin component
layout.addComponent(view);
----
@@ -111,7 +110,7 @@ for manipulating it.
/** The model **/
class CalculatorModel {
private double value = 0.0;
-
+
public void clear() {
value = 0.0;
}
@@ -128,11 +127,11 @@ class CalculatorModel {
if (arg != 0.0)
value /= arg;
}
-
+
public double getValue() {
return value;
}
-
+
public void setValue(double value) {
this.value = value;
}
@@ -181,7 +180,7 @@ class CalculatorViewImpl extends CustomComponent
// Create a result label that spans over all
// the 4 columns in the first row
layout.addComponent(display, 0, 0, 3, 0);
-
+
// The operations for the calculator in the order
// they appear on the screen (left to right, top
// to bottom)
@@ -196,7 +195,7 @@ class CalculatorViewImpl extends CustomComponent
setCompositionRoot(layout);
}
-
+
public void setDisplay(double value) {
display.setValue(Double.toString(value));
}
@@ -239,13 +238,13 @@ class CalculatorPresenter
private double current = 0.0;
private char lastOperationRequested = 'C';
-
+
public CalculatorPresenter(CalculatorModel model,
CalculatorView view) {
this.model = model;
this.view = view;
-
- view.setDisplay(current);
+
+ view.setDisplay(current);
view.addListener(this);
}
@@ -291,8 +290,3 @@ class CalculatorPresenter
In the above example, we held some state information in the presenter.
Alternatively, we could have had an intermediate controller between the
presenter and the model to handle the low-level button logic.
-
-
-
-
-
diff --git a/documentation/advanced/advanced-debug.asciidoc b/documentation/advanced/advanced-debug.asciidoc
index 9a0d8d7ba8..3bbd6eb931 100644
--- a/documentation/advanced/advanced-debug.asciidoc
+++ b/documentation/advanced/advanced-debug.asciidoc
@@ -14,14 +14,20 @@ debug features for Vaadin developers:
* Debug Window
* Display debug information in the Debug Window and server console
* On-the-fly compilation of Sass themes
+* Timings of server calls for Vaadin TestBench
+
+It is recommended to always deploy production applications in production mode
+for security reasons.
[[advanced.debug.mode]]
== Enabling the Debug Mode
The debug mode is enabled and production mode disabled by default in the UI
-templates created with the Eclipse plugin or the Maven archetypes. The debug
-mode can be enabled by giving a [parameter]#productionMode=false# parameter to
-the Vaadin servlet configuration:
+templates created with the Eclipse plugin or the Maven archetypes. Some
+archetypes have a separate module and profile for producing a production mode
+application. The debug mode can be enabled by giving a
+[parameter]#productionMode=false# parameter to the Vaadin servlet
+configuration:
[subs="normal"]
----
@@ -137,8 +143,7 @@ properties.
To view the HTML structure and CSS styles in more detail, you can use Firebug in
Firefox, or the Developer Tools in Chrome, as described in
-<<dummy/../../../framework/getting-started/getting-started-environment#getting-started.environment.firefox,"Firefox
-and Firebug">>. Firefox also has a built-in feature for inspecting HTML and CSS.
+<<dummy/../../../framework/installing/installing-other#installing.other.firefox,"Firefox and Firebug">>. Firefox also has a built-in feature for inspecting HTML and CSS.
[[advanced.debug.hierarchy.analyze]]
@@ -149,8 +154,8 @@ currently visible UI and makes a report of possible layout related problems. All
detected layout problems are displayed in the log and also printed to the
console.
-[[]]
-.Debug Window Showing the Result of Layout Analysis.
+[[figure.advanced.debug.hierarchy.analyze]]
+.Debug window showing the result of layout analysis.
image::img/debug-window-analyze-layouts.png[]
Clicking on a reported problem highlights the component with the problem in the
@@ -161,7 +166,7 @@ relative size inside a container (layout) that has undefined size in the
particular direction (height or width). For example, adding a
[classname]#Button# with 100% width inside a [classname]#VerticalLayout# with
undefined width. In such a case, the error would look as shown in
-<<dummy/../../../framework//-overview.asciidoc#figure.advanced.debug.hierarchy.analyze,"">>.
+<<figure.advanced.debug.hierarchy.analyze>>.
[classname]#CustomLayout# components can not be analyzed in the same way as
other layouts. For custom layouts, the button analyzes all contained
@@ -202,7 +207,3 @@ The [guilabel]#Menu# tab in the window opens a sub-menu to select various
settings. Here you can also launch the GWT SuperDevMode, as described in
<<dummy/../../../framework/clientside/clientside-debugging#clientside.debugging,"Debugging
Client-Side Code">>.
-
-
-
-
diff --git a/documentation/advanced/img/three-layer-architecture-hi.png b/documentation/advanced/img/three-layer-architecture-hi.png
new file mode 100644
index 0000000000..dbdd8a3e49
--- /dev/null
+++ b/documentation/advanced/img/three-layer-architecture-hi.png
Binary files differ
diff --git a/documentation/advanced/original-drawings/Makefile b/documentation/advanced/original-drawings/Makefile
new file mode 100644
index 0000000000..ea22c86fac
--- /dev/null
+++ b/documentation/advanced/original-drawings/Makefile
@@ -0,0 +1,13 @@
+IMAGES = three-layer-architecture
+
+SRCIMAGES := $(foreach file, $(IMAGES), $(file).svg)
+TRGIMAGES_HI := $(foreach file, $(IMAGES), ../img/$(file)-hi.png)
+TRGIMAGES_LO := $(foreach file, $(IMAGES), ../img/$(file)-lo.png)
+
+images: $(TRGIMAGES_HI) FORCE
+# Just do low now $(TRGIMAGES_LO)
+
+$(TRGIMAGES_HI): ../img/%-hi.png: %.svg
+ inkscape --export-png $@ --export-dpi=150 --export-area-drawing $<
+
+FORCE:
diff --git a/documentation/advanced/original-drawings/three-layer-architecture.svg b/documentation/advanced/original-drawings/three-layer-architecture.svg
new file mode 100644
index 0000000000..64e3792e7c
--- /dev/null
+++ b/documentation/advanced/original-drawings/three-layer-architecture.svg
@@ -0,0 +1,1069 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448"
+ height="1052.3622"
+ id="svg2475"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="three-layer-architecture.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/magi/itmill/doc/cheatsheet/vaadin-cheatsheet.png"
+ inkscape:export-xdpi="300.01001"
+ inkscape:export-ydpi="300.01001"
+ version="1.0">
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.6970563"
+ inkscape:cx="386.4544"
+ inkscape:cy="871.88436"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1680"
+ inkscape:window-height="1027"
+ inkscape:window-x="-4"
+ inkscape:window-y="-4"
+ inkscape:snap-nodes="true"
+ inkscape:snap-bbox="true"
+ units="mm"
+ inkscape:snap-global="true"
+ inkscape:window-maximized="1">
+ <inkscape:grid
+ spacingy="1mm"
+ spacingx="1mm"
+ empspacing="5"
+ units="mm"
+ enabled="true"
+ visible="true"
+ id="grid4674"
+ type="xygrid"
+ dotted="false" />
+ </sodipodi:namedview>
+ <defs
+ id="defs2477">
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart"
+ style="overflow:visible">
+ <path
+ id="path5210"
+ d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="DotS"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="DotS">
+ <path
+ transform="matrix(0.2,0,0,0.2,1.48,0.2)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ d="M -2.5,-1 C -2.5,1.76 -4.74,4 -7.5,4 C -10.26,4 -12.5,1.76 -12.5,-1 C -12.5,-3.76 -10.26,-6 -7.5,-6 C -4.74,-6 -2.5,-3.76 -2.5,-1 z"
+ id="path3636" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleOutS"
+ style="overflow:visible">
+ <path
+ id="path3717"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="scale(0.2,0.2)" />
+ </marker>
+ <inkscape:path-effect
+ copytype="single_stretched"
+ pattern="M 349.202,225.086 L 405.895,331.386 L 370.462,338.472 "
+ prop_scale="1"
+ id="path-effect2503"
+ effect="skeletal" />
+ <inkscape:path-effect
+ prop_scale="1"
+ id="path-effect2499"
+ effect="skeletal" />
+ <inkscape:path-effect
+ pattern-nodetypes="cc"
+ pattern="M 432.28346,272.83462 L 403.93701,216.14171"
+ prop_scale="1"
+ id="path-effect2497"
+ effect="skeletal" />
+ <marker
+ style="overflow:visible"
+ id="Arrow1Send"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow1Send">
+ <path
+ transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
+ id="path3641" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="Arrow1Lend"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lend">
+ <path
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
+ id="path3629" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3487" />
+ <marker
+ style="overflow:visible"
+ id="Arrow2Sendp"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Sendp">
+ <path
+ transform="matrix(-0.3,0,0,-0.3,0.69,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z"
+ style="font-size:12px;fill:#f39300;fill-rule:evenodd;stroke:#f39300;stroke-width:0.625;stroke-linejoin:round"
+ id="path28139" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="TriangleOutSK"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="TriangleOutSK">
+ <path
+ transform="scale(0.2,0.2)"
+ style="fill:#49c2f1;fill-rule:evenodd;stroke:#49c2f1;stroke-width:1pt;marker-start:none"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ id="path36611" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="TriangleOutSH"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="TriangleOutSH">
+ <path
+ transform="scale(0.2,0.2)"
+ style="fill:#49c2f1;fill-rule:evenodd;stroke:#49c2f1;stroke-width:1pt;marker-start:none"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ id="path36614" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="TriangleOutSA"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="TriangleOutSA">
+ <path
+ transform="scale(0.2,0.2)"
+ style="fill:#49c2f1;fill-rule:evenodd;stroke:#49c2f1;stroke-width:1pt;marker-start:none"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ id="path36617" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="TriangleOutSKF"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="TriangleOutSKF">
+ <path
+ transform="scale(0.2,0.2)"
+ style="fill:#49c2f1;fill-rule:evenodd;stroke:#49c2f1;stroke-width:1pt;marker-start:none"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ id="path36620" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="TriangleOutS9"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS9">
+ <path
+ transform="scale(0.2,0.2)"
+ style="fill:#49c2f1;fill-rule:evenodd;stroke:#49c2f1;stroke-width:1pt;marker-start:none"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ id="path36623" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="Arrow2SendpA"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2SendpA">
+ <path
+ transform="matrix(-0.3,0,0,-0.3,0.69,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z"
+ style="font-size:12px;fill:#d9d9cd;fill-rule:evenodd;stroke:#d9d9cd;stroke-width:0.625;stroke-linejoin:round"
+ id="path3396" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="Arrow2Sendpg"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Sendpg">
+ <path
+ transform="matrix(-0.3,0,0,-0.3,0.69,0)"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z"
+ style="font-size:12px;fill:#fcc988;fill-rule:evenodd;stroke:#fcc988;stroke-width:0.625;stroke-linejoin:round"
+ id="path3360" />
+ </marker>
+ <filter
+ id="filter2780"
+ inkscape:label="White Halo"
+ width="1.1"
+ height="1.1">
+ <feMorphology
+ id="feMorphology2782"
+ operator="dilate"
+ radius="3"
+ result="result0" />
+ <feFlood
+ id="feFlood2786"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ in="result0"
+ result="result3" />
+ <feComposite
+ id="feComposite2623"
+ in="result3"
+ in2="result0"
+ operator="in"
+ result="result4" />
+ <feMerge
+ id="feMerge2629">
+ <feMergeNode
+ inkscape:collect="always"
+ id="feMergeNode2631"
+ in="result4" />
+ <feMergeNode
+ inkscape:collect="always"
+ id="feMergeNode2633"
+ in="SourceGraphic" />
+ </feMerge>
+ </filter>
+ <marker
+ inkscape:stockid="TriangleOutSn"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleOutSn"
+ style="overflow:visible">
+ <path
+ id="path4441"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ style="fill:#d9d9cd;fill-rule:evenodd;stroke:#d9d9cd;stroke-width:1pt;marker-start:none"
+ transform="scale(0.2,0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutS9F"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleOutS9F"
+ style="overflow:visible">
+ <path
+ id="path4444"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ style="fill:#d9d9cd;fill-rule:evenodd;stroke:#d9d9cd;stroke-width:1pt;marker-start:none"
+ transform="scale(0.2,0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutSI"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleOutSI"
+ style="overflow:visible">
+ <path
+ id="path4447"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ style="fill:#d9d9cd;fill-rule:evenodd;stroke:#d9d9cd;stroke-width:1pt;marker-start:none"
+ transform="scale(0.2,0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutSO"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleOutSO"
+ style="overflow:visible">
+ <path
+ id="path4450"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ style="fill:#d9d9cd;fill-rule:evenodd;stroke:#d9d9cd;stroke-width:1pt;marker-start:none"
+ transform="scale(0.2,0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutSW"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleOutSW"
+ style="overflow:visible">
+ <path
+ id="path4453"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ style="fill:#d9d9cd;fill-rule:evenodd;stroke:#d9d9cd;stroke-width:1pt;marker-start:none"
+ transform="scale(0.2,0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutSB"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleOutSB"
+ style="overflow:visible">
+ <path
+ id="path4456"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ style="fill:#d9d9cd;fill-rule:evenodd;stroke:#d9d9cd;stroke-width:1pt;marker-start:none"
+ transform="scale(0.2,0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutSZ"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleOutSZ"
+ style="overflow:visible">
+ <path
+ id="path4459"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ style="fill:#d9d9cd;fill-rule:evenodd;stroke:#d9d9cd;stroke-width:1pt;marker-start:none"
+ transform="scale(0.2,0.2)" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="DotSq"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="DotSq">
+ <path
+ transform="matrix(0.2,0,0,0.2,1.48,0.2)"
+ style="fill:#d9d9cd;fill-rule:evenodd;stroke:#d9d9cd;stroke-width:1pt;marker-start:none;marker-end:none"
+ d="M -2.5,-1 C -2.5,1.76 -4.74,4 -7.5,4 C -10.26,4 -12.5,1.76 -12.5,-1 C -12.5,-3.76 -10.26,-6 -7.5,-6 C -4.74,-6 -2.5,-3.76 -2.5,-1 z"
+ id="path5853" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutSBO"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleOutSBO"
+ style="overflow:visible">
+ <path
+ id="path7501"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ style="fill:#49c2f1;fill-rule:evenodd;stroke:#49c2f1;stroke-width:1pt;marker-start:none"
+ transform="scale(0.2,0.2)" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="DotSu"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="DotSu">
+ <path
+ transform="matrix(0.2,0,0,0.2,1.48,0.2)"
+ style="fill:#49c2f1;fill-rule:evenodd;stroke:#49c2f1;stroke-width:1pt;marker-start:none;marker-end:none"
+ d="M -2.5,-1 C -2.5,1.76 -4.74,4 -7.5,4 C -10.26,4 -12.5,1.76 -12.5,-1 C -12.5,-3.76 -10.26,-6 -7.5,-6 C -4.74,-6 -2.5,-3.76 -2.5,-1 z"
+ id="path9463" />
+ </marker>
+ <filter
+ height="1.1"
+ width="1.1"
+ inkscape:label="Black Halo"
+ id="filter10694">
+ <feMorphology
+ result="result0"
+ radius="3"
+ operator="dilate"
+ id="feMorphology10696" />
+ <feFlood
+ result="result3"
+ in="result0"
+ flood-opacity="1"
+ flood-color="rgb(0,0,0)"
+ id="feFlood10698" />
+ <feComposite
+ result="result4"
+ operator="in"
+ in2="result0"
+ in="result3"
+ id="feComposite10700" />
+ <feMerge
+ id="feMerge10702">
+ <feMergeNode
+ in="result4"
+ id="feMergeNode10704"
+ inkscape:collect="always" />
+ <feMergeNode
+ in="SourceGraphic"
+ id="feMergeNode10706"
+ inkscape:collect="always" />
+ </feMerge>
+ </filter>
+ <marker
+ inkscape:stockid="TriangleOutSu"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleOutSu"
+ style="overflow:visible">
+ <path
+ id="path8127"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ style="fill:#49c2f1;fill-rule:evenodd;stroke:#49c2f1;stroke-width:1pt;marker-start:none"
+ transform="scale(0.2,0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutSI8"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleOutSI8"
+ style="overflow:visible">
+ <path
+ id="path8130"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ style="fill:#49c2f1;fill-rule:evenodd;stroke:#49c2f1;stroke-width:1pt;marker-start:none"
+ transform="scale(0.2,0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutSr"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleOutSr"
+ style="overflow:visible">
+ <path
+ id="path8133"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ style="fill:#49c2f1;fill-rule:evenodd;stroke:#49c2f1;stroke-width:1pt;marker-start:none"
+ transform="scale(0.2,0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutSM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleOutSM"
+ style="overflow:visible">
+ <path
+ id="path8136"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ style="fill:#49c2f1;fill-rule:evenodd;stroke:#49c2f1;stroke-width:1pt;marker-start:none"
+ transform="scale(0.2,0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutSb"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleOutSb"
+ style="overflow:visible">
+ <path
+ id="path8139"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+ style="fill:#49c2f1;fill-rule:evenodd;stroke:#49c2f1;stroke-width:1pt;marker-start:none"
+ transform="scale(0.2,0.2)" />
+ </marker>
+ <marker
+ id="marker18095"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050"
+ d="M 370,508.65625 C 369.13933,508.715 368.39056,509.27755 368.09375,510.09375 C 367.82399,510.83551 368.03605,511.62868 368.53125,512.21875 L 366.78125,512.21875 C 366.73884,512.21408 366.69882,512.22093 366.65625,512.21875 L 366.65625,516.59375 L 366.78125,516.59375 L 368.53125,516.59375 C 367.85229,517.45345 367.83424,518.70924 368.625,519.5 C 369.47591,520.35091 370.89909,520.35091 371.75,519.5 L 375.09375,516.125 C 375.12672,516.09552 375.15802,516.06422 375.1875,516.03125 C 375.21972,516.01191 375.25101,515.99105 375.28125,515.96875 C 375.28162,515.96839 375.49976,515.68796 375.5,515.6875 C 375.50005,515.68741 375.49338,515.64282 375.5,515.625 C 375.5011,515.62203 375.53002,515.62832 375.53125,515.625 C 375.57039,515.57293 375.58228,515.57321 375.625,515.5 C 375.76199,515.26524 375.79184,515.12809 375.78125,515.15625 C 375.81807,515.06473 375.79977,515.04374 375.8125,515 C 375.82311,514.98978 375.83353,514.97936 375.84375,514.96875 C 375.90379,514.74477 375.93181,514.45186 375.90625,514.1875 C 375.89266,513.98387 375.84739,513.88985 375.84375,513.875 C 375.84389,513.86458 375.84389,513.85417 375.84375,513.84375 C 375.86975,513.94071 375.85901,513.85978 375.75,513.59375 C 375.69753,513.46336 375.66014,513.37439 375.625,513.3125 C 375.57262,513.22275 375.49154,513.05015 375.28125,512.84375 L 371.75,509.3125 C 371.29355,508.82579 370.66491,508.60087 370,508.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035"
+ d="M 366.65625,515.40625 L 371.28125,515.40625 L 369.46875,517.21875 C 369.0718,517.6157 369.0718,518.2593 369.46875,518.65625 C 369.8657,519.0532 370.5093,519.0532 370.90625,518.65625 L 374.34375,515.1875 L 374.4375,515.125 C 374.44343,515.11918 374.43171,515.09972 374.4375,515.09375 C 374.49291,515.03659 374.5526,514.97676 374.59375,514.90625 C 374.62239,514.85717 374.63663,514.80216 374.65625,514.75 C 374.66861,514.71928 374.67831,514.68783 374.6875,514.65625 C 374.71862,514.54015 374.73024,514.43132 374.71875,514.3125 C 374.71489,514.25466 374.70138,514.21285 374.6875,514.15625 C 374.6766,514.1156 374.67237,514.07059 374.65625,514.03125 C 374.63982,513.99042 374.61578,513.94505 374.59375,513.90625 C 374.5483,513.82838 374.50015,513.74899 374.4375,513.6875 L 370.90625,510.15625 C 370.69734,509.93349 370.39809,509.8184 370.09375,509.84375 C 369.69897,509.8707 369.35398,510.12813 369.21875,510.5 C 369.08351,510.87187 369.18349,511.28826 369.46875,511.5625 L 371.34375,513.40625 L 366.65625,513.40625"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </marker>
+ <marker
+ id="marker44971"
+ orient="auto"
+ markerHeight="5.7450781"
+ markerWidth="4.6297355">
+ <g
+ id="g18059"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path18061"
+ d="M 370,508.65625 C 369.13933,508.715 368.39056,509.27755 368.09375,510.09375 C 367.82399,510.83551 368.03605,511.62868 368.53125,512.21875 L 366.78125,512.21875 C 366.73884,512.21408 366.69882,512.22093 366.65625,512.21875 L 366.65625,516.59375 L 366.78125,516.59375 L 368.53125,516.59375 C 367.85229,517.45345 367.83424,518.70924 368.625,519.5 C 369.47591,520.35091 370.89909,520.35091 371.75,519.5 L 375.09375,516.125 C 375.12672,516.09552 375.15802,516.06422 375.1875,516.03125 C 375.21972,516.01191 375.25101,515.99105 375.28125,515.96875 C 375.28162,515.96839 375.49976,515.68796 375.5,515.6875 C 375.50005,515.68741 375.49338,515.64282 375.5,515.625 C 375.5011,515.62203 375.53002,515.62832 375.53125,515.625 C 375.57039,515.57293 375.58228,515.57321 375.625,515.5 C 375.76199,515.26524 375.79184,515.12809 375.78125,515.15625 C 375.81807,515.06473 375.79977,515.04374 375.8125,515 C 375.82311,514.98978 375.83353,514.97936 375.84375,514.96875 C 375.90379,514.74477 375.93181,514.45186 375.90625,514.1875 C 375.89266,513.98387 375.84739,513.88985 375.84375,513.875 C 375.84389,513.86458 375.84389,513.85417 375.84375,513.84375 C 375.86975,513.94071 375.85901,513.85978 375.75,513.59375 C 375.69753,513.46336 375.66014,513.37439 375.625,513.3125 C 375.57262,513.22275 375.49154,513.05015 375.28125,512.84375 L 371.75,509.3125 C 371.29355,508.82579 370.66491,508.60087 370,508.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path18063"
+ d="M 366.65625,515.40625 L 371.28125,515.40625 L 369.46875,517.21875 C 369.0718,517.6157 369.0718,518.2593 369.46875,518.65625 C 369.8657,519.0532 370.5093,519.0532 370.90625,518.65625 L 374.34375,515.1875 L 374.4375,515.125 C 374.44343,515.11918 374.43171,515.09972 374.4375,515.09375 C 374.49291,515.03659 374.5526,514.97676 374.59375,514.90625 C 374.62239,514.85717 374.63663,514.80216 374.65625,514.75 C 374.66861,514.71928 374.67831,514.68783 374.6875,514.65625 C 374.71862,514.54015 374.73024,514.43132 374.71875,514.3125 C 374.71489,514.25466 374.70138,514.21285 374.6875,514.15625 C 374.6766,514.1156 374.67237,514.07059 374.65625,514.03125 C 374.63982,513.99042 374.61578,513.94505 374.59375,513.90625 C 374.5483,513.82838 374.50015,513.74899 374.4375,513.6875 L 370.90625,510.15625 C 370.69734,509.93349 370.39809,509.8184 370.09375,509.84375 C 369.69897,509.8707 369.35398,510.12813 369.21875,510.5 C 369.08351,510.87187 369.18349,511.28826 369.46875,511.5625 L 371.34375,513.40625 L 366.65625,513.40625"
+ style="fill:#d9d9cd;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012"
+ d="M 370,508.65625 C 369.13933,508.715 368.39056,509.27755 368.09375,510.09375 C 367.82399,510.83551 368.03605,511.62868 368.53125,512.21875 L 366.78125,512.21875 C 366.73884,512.21408 366.69882,512.22093 366.65625,512.21875 L 366.65625,516.59375 L 366.78125,516.59375 L 368.53125,516.59375 C 367.85229,517.45345 367.83424,518.70924 368.625,519.5 C 369.47591,520.35091 370.89909,520.35091 371.75,519.5 L 375.09375,516.125 C 375.12672,516.09552 375.15802,516.06422 375.1875,516.03125 C 375.21972,516.01191 375.25101,515.99105 375.28125,515.96875 C 375.28162,515.96839 375.49976,515.68796 375.5,515.6875 C 375.50005,515.68741 375.49338,515.64282 375.5,515.625 C 375.5011,515.62203 375.53002,515.62832 375.53125,515.625 C 375.57039,515.57293 375.58228,515.57321 375.625,515.5 C 375.76199,515.26524 375.79184,515.12809 375.78125,515.15625 C 375.81807,515.06473 375.79977,515.04374 375.8125,515 C 375.82311,514.98978 375.83353,514.97936 375.84375,514.96875 C 375.90379,514.74477 375.93181,514.45186 375.90625,514.1875 C 375.89266,513.98387 375.84739,513.88985 375.84375,513.875 C 375.84389,513.86458 375.84389,513.85417 375.84375,513.84375 C 375.86975,513.94071 375.85901,513.85978 375.75,513.59375 C 375.69753,513.46336 375.66014,513.37439 375.625,513.3125 C 375.57262,513.22275 375.49154,513.05015 375.28125,512.84375 L 371.75,509.3125 C 371.29355,508.82579 370.66491,508.60087 370,508.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014"
+ d="M 366.65625,515.40625 L 371.28125,515.40625 L 369.46875,517.21875 C 369.0718,517.6157 369.0718,518.2593 369.46875,518.65625 C 369.8657,519.0532 370.5093,519.0532 370.90625,518.65625 L 374.34375,515.1875 L 374.4375,515.125 C 374.44343,515.11918 374.43171,515.09972 374.4375,515.09375 C 374.49291,515.03659 374.5526,514.97676 374.59375,514.90625 C 374.62239,514.85717 374.63663,514.80216 374.65625,514.75 C 374.66861,514.71928 374.67831,514.68783 374.6875,514.65625 C 374.71862,514.54015 374.73024,514.43132 374.71875,514.3125 C 374.71489,514.25466 374.70138,514.21285 374.6875,514.15625 C 374.6766,514.1156 374.67237,514.07059 374.65625,514.03125 C 374.63982,513.99042 374.61578,513.94505 374.59375,513.90625 C 374.5483,513.82838 374.50015,513.74899 374.4375,513.6875 L 370.90625,510.15625 C 370.69734,509.93349 370.39809,509.8184 370.09375,509.84375 C 369.69897,509.8707 369.35398,510.12813 369.21875,510.5 C 369.08351,510.87187 369.18349,511.28826 369.46875,511.5625 L 371.34375,513.40625 L 366.65625,513.40625"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </marker>
+ <marker
+ id="marker64887"
+ orient="auto"
+ markerHeight="5.745079"
+ markerWidth="4.6297255">
+ <g
+ id="g64855"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path64857"
+ d="M 370,508.65625 C 369.13933,508.715 368.39056,509.27755 368.09375,510.09375 C 367.82399,510.83551 368.03605,511.62868 368.53125,512.21875 L 366.78125,512.21875 C 366.73884,512.21408 366.69882,512.22093 366.65625,512.21875 L 366.65625,516.59375 L 366.78125,516.59375 L 368.53125,516.59375 C 367.85229,517.45345 367.83424,518.70924 368.625,519.5 C 369.47591,520.35091 370.89909,520.35091 371.75,519.5 L 375.09375,516.125 C 375.12672,516.09552 375.15802,516.06422 375.1875,516.03125 C 375.21972,516.01191 375.25101,515.99105 375.28125,515.96875 C 375.28162,515.96839 375.49976,515.68796 375.5,515.6875 C 375.50005,515.68741 375.49338,515.64282 375.5,515.625 C 375.5011,515.62203 375.53002,515.62832 375.53125,515.625 C 375.57039,515.57293 375.58228,515.57321 375.625,515.5 C 375.76199,515.26524 375.79184,515.12809 375.78125,515.15625 C 375.81807,515.06473 375.79977,515.04374 375.8125,515 C 375.82311,514.98978 375.83353,514.97936 375.84375,514.96875 C 375.90379,514.74477 375.93181,514.45186 375.90625,514.1875 C 375.89266,513.98387 375.84739,513.88985 375.84375,513.875 C 375.84389,513.86458 375.84389,513.85417 375.84375,513.84375 C 375.86975,513.94071 375.85901,513.85978 375.75,513.59375 C 375.69753,513.46336 375.66014,513.37439 375.625,513.3125 C 375.57262,513.22275 375.49154,513.05015 375.28125,512.84375 L 371.75,509.3125 C 371.29355,508.82579 370.66491,508.60087 370,508.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path64859"
+ d="M 366.65625,515.40625 L 371.28125,515.40625 L 369.46875,517.21875 C 369.0718,517.6157 369.0718,518.2593 369.46875,518.65625 C 369.8657,519.0532 370.5093,519.0532 370.90625,518.65625 L 374.34375,515.1875 L 374.4375,515.125 C 374.44343,515.11918 374.43171,515.09972 374.4375,515.09375 C 374.49291,515.03659 374.5526,514.97676 374.59375,514.90625 C 374.62239,514.85717 374.63663,514.80216 374.65625,514.75 C 374.66861,514.71928 374.67831,514.68783 374.6875,514.65625 C 374.71862,514.54015 374.73024,514.43132 374.71875,514.3125 C 374.71489,514.25466 374.70138,514.21285 374.6875,514.15625 C 374.6766,514.1156 374.67237,514.07059 374.65625,514.03125 C 374.63982,513.99042 374.61578,513.94505 374.59375,513.90625 C 374.5483,513.82838 374.50015,513.74899 374.4375,513.6875 L 370.90625,510.15625 C 370.69734,509.93349 370.39809,509.8184 370.09375,509.84375 C 369.69897,509.8707 369.35398,510.12813 369.21875,510.5 C 369.08351,510.87187 369.18349,511.28826 369.46875,511.5625 L 371.34375,513.40625 L 366.65625,513.40625"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </marker>
+ <marker
+ id="marker4057"
+ orient="auto"
+ markerHeight="5.745079"
+ markerWidth="4.6297302">
+ <g
+ id="g51986"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path51988"
+ d="M 370,508.65625 C 369.13933,508.715 368.39056,509.27755 368.09375,510.09375 C 367.82399,510.83551 368.03605,511.62868 368.53125,512.21875 L 366.78125,512.21875 C 366.73884,512.21408 366.69882,512.22093 366.65625,512.21875 L 366.65625,516.59375 L 366.78125,516.59375 L 368.53125,516.59375 C 367.85229,517.45345 367.83424,518.70924 368.625,519.5 C 369.47591,520.35091 370.89909,520.35091 371.75,519.5 L 375.09375,516.125 C 375.12672,516.09552 375.15802,516.06422 375.1875,516.03125 C 375.21972,516.01191 375.25101,515.99105 375.28125,515.96875 C 375.28162,515.96839 375.49976,515.68796 375.5,515.6875 C 375.50005,515.68741 375.49338,515.64282 375.5,515.625 C 375.5011,515.62203 375.53002,515.62832 375.53125,515.625 C 375.57039,515.57293 375.58228,515.57321 375.625,515.5 C 375.76199,515.26524 375.79184,515.12809 375.78125,515.15625 C 375.81807,515.06473 375.79977,515.04374 375.8125,515 C 375.82311,514.98978 375.83353,514.97936 375.84375,514.96875 C 375.90379,514.74477 375.93181,514.45186 375.90625,514.1875 C 375.89266,513.98387 375.84739,513.88985 375.84375,513.875 C 375.84389,513.86458 375.84389,513.85417 375.84375,513.84375 C 375.86975,513.94071 375.85901,513.85978 375.75,513.59375 C 375.69753,513.46336 375.66014,513.37439 375.625,513.3125 C 375.57262,513.22275 375.49154,513.05015 375.28125,512.84375 L 371.75,509.3125 C 371.29355,508.82579 370.66491,508.60087 370,508.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path51990"
+ d="M 366.65625,515.40625 L 371.28125,515.40625 L 369.46875,517.21875 C 369.0718,517.6157 369.0718,518.2593 369.46875,518.65625 C 369.8657,519.0532 370.5093,519.0532 370.90625,518.65625 L 374.34375,515.1875 L 374.4375,515.125 C 374.44343,515.11918 374.43171,515.09972 374.4375,515.09375 C 374.49291,515.03659 374.5526,514.97676 374.59375,514.90625 C 374.62239,514.85717 374.63663,514.80216 374.65625,514.75 C 374.66861,514.71928 374.67831,514.68783 374.6875,514.65625 C 374.71862,514.54015 374.73024,514.43132 374.71875,514.3125 C 374.71489,514.25466 374.70138,514.21285 374.6875,514.15625 C 374.6766,514.1156 374.67237,514.07059 374.65625,514.03125 C 374.63982,513.99042 374.61578,513.94505 374.59375,513.90625 C 374.5483,513.82838 374.50015,513.74899 374.4375,513.6875 L 370.90625,510.15625 C 370.69734,509.93349 370.39809,509.8184 370.09375,509.84375 C 369.69897,509.8707 369.35398,510.12813 369.21875,510.5 C 369.08351,510.87187 369.18349,511.28826 369.46875,511.5625 L 371.34375,513.40625 L 366.65625,513.40625"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </marker>
+ <marker
+ id="marker72805"
+ orient="auto"
+ markerHeight="4.5568175"
+ markerWidth="4.0334239">
+ <path
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path18057"
+ d="M -2.0167119,0.50456824 L 0.29578813,0.50456824 L -0.61046187,1.4108182 C -0.80893187,1.6092982 -0.80893187,1.9310982 -0.61046187,2.1295682 C -0.41198187,2.3280482 -0.090181874,2.3280482 0.10828813,2.1295682 L 1.8270381,0.39519824 L 1.8739181,0.36394824 C 1.8768781,0.36103824 1.8710181,0.35130824 1.8739181,0.34831824 C 1.9016181,0.31973824 1.9314681,0.28982824 1.9520381,0.25456824 C 1.9663581,0.23002824 1.9734781,0.20252824 1.9832881,0.17644824 C 1.9894681,0.16108824 1.9943181,0.14535824 1.9989181,0.12956824 C 2.0144781,0.07151824 2.0202881,0.01710824 2.0145381,-0.04230176 C 2.0126081,-0.07122176 2.0058581,-0.09213176 1.9989181,-0.12043176 C 1.9934681,-0.14075176 1.9913481,-0.16326176 1.9832881,-0.18293176 C 1.9750781,-0.20334176 1.9630581,-0.22603176 1.9520381,-0.24543176 C 1.9293181,-0.28436176 1.9052381,-0.32406176 1.8739181,-0.35480176 L 0.10828813,-2.1204318 C 0.003838126,-2.2318118 -0.14579187,-2.2893518 -0.29796187,-2.2766818 C -0.49535187,-2.2632018 -0.66784187,-2.1344918 -0.73546187,-1.9485518 C -0.80308187,-1.7626218 -0.75309187,-1.5544218 -0.61046187,-1.4173018 L 0.32703813,-0.49543176 L -2.0167119,-0.49543176"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </marker>
+ <marker
+ id="marker72808"
+ orient="auto"
+ markerHeight="4.5568123"
+ markerWidth="4.0334177">
+ <path
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path72801"
+ d="M -2.016709,0.50457301 L 0.29579105,0.50457301 L -0.61045895,1.410823 C -0.80893895,1.609293 -0.80893895,1.931093 -0.61045895,2.129573 C -0.41198895,2.328043 -0.090188953,2.328043 0.10829105,2.129573 L 1.827041,0.39519301 L 1.873911,0.36394301 C 1.876881,0.36103301 1.871021,0.35130301 1.873911,0.34832301 C 1.901621,0.31974301 1.931461,0.28982301 1.952041,0.25457301 C 1.966361,0.23003301 1.973481,0.20252301 1.983291,0.17644301 C 1.989471,0.16108301 1.994321,0.14536301 1.998911,0.12957301 C 2.014471,0.071523013 2.020281,0.017103013 2.014541,-0.042306987 C 2.012611,-0.071226987 2.005851,-0.092126987 1.998911,-0.12042699 C 1.993461,-0.14075699 1.991351,-0.16325699 1.983291,-0.18292699 C 1.975071,-0.20334699 1.963051,-0.22602699 1.952041,-0.24542699 C 1.929311,-0.28436699 1.905241,-0.32405699 1.873911,-0.35480699 L 0.10829105,-2.120427 C 0.003831047,-2.231807 -0.14578895,-2.289357 -0.29795895,-2.276677 C -0.49534895,-2.263207 -0.66784895,-2.134487 -0.73545895,-1.948557 C -0.80307895,-1.762617 -0.75308895,-1.554427 -0.61045895,-1.417307 L 0.32704105,-0.49542699 L -2.016709,-0.49542699"
+ style="fill:#d9d9cd;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="DotSuN"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="DotSuN">
+ <path
+ transform="matrix(0.2,0,0,0.2,1.48,0.2)"
+ style="fill:#f39300;fill-rule:evenodd;stroke:#f39300;stroke-width:1pt;marker-start:none;marker-end:none"
+ d="M -2.5,-1 C -2.5,1.76 -4.74,4 -7.5,4 C -10.26,4 -12.5,1.76 -12.5,-1 C -12.5,-3.76 -10.26,-6 -7.5,-6 C -4.74,-6 -2.5,-3.76 -2.5,-1 z"
+ id="path81580" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="DotSuNS"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="DotSuNS">
+ <path
+ transform="matrix(0.2,0,0,0.2,1.48,0.2)"
+ style="marker-end:none;fill-rule:evenodd;marker-start:none;stroke:#49c2f1;stroke-width:1pt;fill:#49c2f1"
+ d="M -2.5,-1 C -2.5,1.76 -4.74,4 -7.5,4 C -10.26,4 -12.5,1.76 -12.5,-1 C -12.5,-3.76 -10.26,-6 -7.5,-6 C -4.74,-6 -2.5,-3.76 -2.5,-1 z"
+ id="path5020" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="DotSuNSX"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="DotSuNSX">
+ <path
+ transform="matrix(0.2,0,0,0.2,1.48,0.2)"
+ style="marker-end:none;fill-rule:evenodd;marker-start:none;stroke:#49c2f1;stroke-width:1pt;fill:#49c2f1"
+ d="M -2.5,-1 C -2.5,1.76 -4.74,4 -7.5,4 C -10.26,4 -12.5,1.76 -12.5,-1 C -12.5,-3.76 -10.26,-6 -7.5,-6 C -4.74,-6 -2.5,-3.76 -2.5,-1 z"
+ id="path5565" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="DotSuN4"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="DotSuN4">
+ <path
+ transform="matrix(0.2,0,0,0.2,1.48,0.2)"
+ style="marker-end:none;fill-rule:evenodd;marker-start:none;stroke:#49c2f1;stroke-width:1pt;fill:#49c2f1"
+ d="M -2.5,-1 C -2.5,1.76 -4.74,4 -7.5,4 C -10.26,4 -12.5,1.76 -12.5,-1 C -12.5,-3.76 -10.26,-6 -7.5,-6 C -4.74,-6 -2.5,-3.76 -2.5,-1 z"
+ id="path5568" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="DotSuNSX-5"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="DotSuNSX">
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.2,0,0,0.2,1.48,0.2)"
+ style="fill:#49c2f1;fill-rule:evenodd;stroke:#49c2f1;stroke-width:1pt;marker-start:none;marker-end:none"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ id="path5565-5" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="DotSuN4-0"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="DotSuN4">
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.2,0,0,0.2,1.48,0.2)"
+ style="fill:#49c2f1;fill-rule:evenodd;stroke:#49c2f1;stroke-width:1pt;marker-start:none;marker-end:none"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ id="path5568-1" />
+ </marker>
+ <marker
+ id="marker18095-5"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-7"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-9"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-1"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-8"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-4"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-0"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-6"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-9"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-9"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-09"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-3"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-3"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-1"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-7"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-8"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-7"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-16"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-1"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-9"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-4"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-6"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-07"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-36"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ </defs>
+ <metadata
+ id="metadata2480">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1">
+ <flowRoot
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot2485"
+ xml:space="preserve"><flowRegion
+ id="flowRegion2487"><rect
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="238.07646"
+ x="262.85715"
+ height="120"
+ width="184.28572"
+ id="rect2489" /></flowRegion><flowPara
+ id="flowPara2491" /></flowRoot> <g
+ transform="translate(-3.5714286,23.214286)"
+ id="g3178" />
+ <flowRoot
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Light"
+ id="flowRoot8724"
+ xml:space="preserve"><flowRegion
+ id="flowRegion8726"><rect
+ style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Light"
+ y="752.14441"
+ x="39.286312"
+ height="22.868153"
+ width="29.904507"
+ id="rect8728" /></flowRegion><flowPara
+ id="flowPara8730" /></flowRoot> <g
+ transform="matrix(0.5,0,0,0.5,103.34299,0.7940752)"
+ id="g18053" />
+ <g
+ id="g7762">
+ <image
+ width="105"
+ height="106"
+ xlink:href="file:///home/magi/itmill/book-7/manual/img/jpacontainer/table-comets.png"
+ id="image6646"
+ x="121.12263"
+ y="88.582657" />
+ <rect
+ ry="3.7880719"
+ y="60.236198"
+ x="106.29921"
+ height="141.73227"
+ width="134.64684"
+ id="rect3822-3-8-1-4"
+ style="fill:none;stroke:#000000;stroke-width:3.00001287;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ transform="translate(-142.77617,-83.381937)"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot4150-9-4"
+ xml:space="preserve"><flowRegion
+ id="flowRegion4152-05-46"><rect
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="152.21526"
+ x="255.26555"
+ height="24.626196"
+ width="126.83217"
+ id="rect4154-5-0" /></flowRegion><flowPara
+ id="flowPara4160-60-5">Presentation Layer</flowPara></flowRoot> </g>
+ <g
+ id="g7749">
+ <rect
+ ry="3.7880721"
+ y="60.236198"
+ x="265.74802"
+ height="141.73228"
+ width="134.64568"
+ id="rect3822-3-8-1"
+ style="fill:none;stroke:#49c2f1;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <text
+ inkscape:transform-center-y="1.4910597"
+ inkscape:transform-center-x="7.0447348"
+ sodipodi:linespacing="125%"
+ id="text84151-6-5-6"
+ y="99.212578"
+ x="276.37796"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Light"
+ xml:space="preserve"><tspan
+ id="tspan3328-7-5"
+ y="99.212578"
+ x="276.37796"
+ sodipodi:role="line"><tspan
+ style="-inkscape-font-specification:Helvetica Rounded LT Std Bold;font-family:Helvetica Rounded LT Std;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal"
+ id="tspan8118">class</tspan> Comet {</tspan><tspan
+ id="tspan7587"
+ y="116.71258"
+ x="276.37796"
+ sodipodi:role="line"> int <tspan
+ style="fill:#0000ff;fill-opacity:1"
+ id="tspan8136">id</tspan>;</tspan><tspan
+ id="tspan7589"
+ y="134.21257"
+ x="276.37796"
+ sodipodi:role="line"> String <tspan
+ style="fill:#0000ff;fill-opacity:1"
+ id="tspan8146">name</tspan>;</tspan><tspan
+ id="tspan7591"
+ y="151.71257"
+ x="276.37796"
+ sodipodi:role="line"> ...</tspan><tspan
+ id="tspan7585"
+ y="169.21257"
+ x="276.37796"
+ sodipodi:role="line">}</tspan></text>
+ <flowRoot
+ transform="translate(16.672646,-83.381937)"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot4150-9-4-4"
+ xml:space="preserve"><flowRegion
+ id="flowRegion4152-05-46-4"><rect
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="152.21526"
+ x="255.26555"
+ height="24.626196"
+ width="126.83217"
+ id="rect4154-5-0-2" /></flowRegion><flowPara
+ id="flowPara4160-60-5-4">Domain Layer</flowPara></flowRoot> </g>
+ <g
+ id="g7734">
+ <rect
+ ry="3.7880721"
+ y="61.736198"
+ x="425.19684"
+ height="140.23227"
+ width="162.99214"
+ id="rect3822-3-8-1-3"
+ style="fill:none;stroke:#00d800;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ transform="translate(176.12147,-83.381937)"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot4150-9-4-4-4"
+ xml:space="preserve"><flowRegion
+ id="flowRegion4152-05-46-4-9"><rect
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="152.21526"
+ x="255.26555"
+ height="24.626196"
+ width="126.83217"
+ id="rect4154-5-0-2-8" /></flowRegion><flowPara
+ id="flowPara4160-60-5-4-4">Data Access Layer</flowPara></flowRoot> <text
+ inkscape:transform-center-y="1.4910597"
+ inkscape:transform-center-x="7.0447348"
+ sodipodi:linespacing="125%"
+ id="text84151-6-5-6-4"
+ y="99.212578"
+ x="435.82678"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Light"
+ xml:space="preserve"><tspan
+ id="tspan7585-0"
+ y="99.212578"
+ x="435.82678"
+ sodipodi:role="line">CREATE TABLE Comets (</tspan><tspan
+ id="tspan7722"
+ y="111.71258"
+ x="435.82678"
+ sodipodi:role="line"> id INTEGER PRIMARY KEY,</tspan><tspan
+ id="tspan7724"
+ y="124.21258"
+ x="435.82678"
+ sodipodi:role="line"> name VARCHAR(20)</tspan><tspan
+ id="tspan7726"
+ y="136.71257"
+ x="435.82678"
+ sodipodi:role="line">)</tspan><tspan
+ id="tspan7728"
+ y="149.21257"
+ x="435.82678"
+ sodipodi:role="line">INSERT INTO Comets (id, name) </tspan><tspan
+ id="tspan7730"
+ y="161.71257"
+ x="435.82678"
+ sodipodi:role="line"> VALUES (1, 'Halley');</tspan><tspan
+ id="tspan7732"
+ y="174.21257"
+ x="435.82678"
+ sodipodi:role="line">...</tspan></text>
+ </g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:4.00039387;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#marker64887);display:inline"
+ d="m 240.94488,184.25195 24.80315,0.0301"
+ id="path10684-4"
+ inkscape:connector-type="polyline"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker18095)"
+ d="m 400.3937,184.25195 24.80315,0"
+ id="path8208"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker18095)"
+ d="m 265.74803,88.582655 -24.80315,0"
+ id="path8208-1"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#00d800;stroke-width:3.54330708999999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker52016)"
+ d="m 425.19685,85.039348 -24.80315,0"
+ id="path8208-1-5"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ </g>
+</svg>