[svgsalamander] 05/06: Imported Upstream version 1.0.0+dfsg1

Felix Natter fnatter-guest at moszumanska.debian.org
Sat Jul 30 09:36:07 UTC 2016


This is an automated email from the git hooks/post-receive script.

fnatter-guest pushed a commit to branch master
in repository svgsalamander.

commit bb391ccc05c4a12eb2b1e33903877041c525a243
Author: Felix Natter <fnatter at gmx.net>
Date:   Sat Jul 30 11:32:09 2016 +0200

    Imported Upstream version 1.0.0+dfsg1
---
 authors.txt                                        |    1 +
 java-one-2007/art/buttons/abc.png                  |  Bin 11792 -> 0 bytes
 java-one-2007/art/buttons/abc.psd                  |  Bin 337773 -> 0 bytes
 java-one-2007/art/buttons/abc_alpha.png            |  Bin 14358 -> 0 bytes
 java-one-2007/art/buttons/abc_alpha.psd            |  Bin 419637 -> 0 bytes
 java-one-2007/art/buttons/abc_bg.png               |  Bin 12329 -> 0 bytes
 java-one-2007/art/buttons/d.png                    |  Bin 3769 -> 0 bytes
 java-one-2007/art/buttons/d.psd                    |  Bin 306619 -> 0 bytes
 java-one-2007/build.xml                            |  193 -
 java-one-2007/doc/links.html                       |   14 -
 java-one-2007/fboImage.png                         |  Bin 51717 -> 0 bytes
 java-one-2007/hotspot.log                          |   25 -
 java-one-2007/manifest.mf                          |   14 -
 java-one-2007/nbproject/private/private.xml        |    4 -
 java-one-2007/nbproject/project.xml                |  235 -
 .../com/kitfox/javaone2007/AbstractTexInput.java   |   54 -
 .../com/kitfox/javaone2007/FilterDemoFrame.form    |   33 -
 .../com/kitfox/javaone2007/FilterDemoFrame.java    |   70 -
 .../com/kitfox/javaone2007/FilteredButton.form     |   22 -
 .../com/kitfox/javaone2007/FilteredButton.java     |  248 -
 .../com/kitfox/javaone2007/FrameBufferTest.java    |  125 -
 .../main/java/com/kitfox/javaone2007/Program.java  |   26 -
 .../com/kitfox/javaone2007/ProgramInstance.java    |   79 -
 .../java/com/kitfox/javaone2007/ShaderBuffer.java  |  283 -
 .../main/java/com/kitfox/javaone2007/TexInput.java |   33 -
 .../javaone2007/TexInputDataChangedEvent.java      |   29 -
 .../java/com/kitfox/javaone2007/TexInputEvent.java |   31 -
 .../com/kitfox/javaone2007/TexInputListener.java   |   22 -
 .../kitfox/javaone2007/TexInputResizedEvent.java   |   29 -
 .../java/com/kitfox/javaone2007/TexOutput.java     |   39 -
 .../javaone2007/filter/BufferedImageRaster.java    |   37 -
 .../java/com/kitfox/javaone2007/filter/Filter.java |  119 -
 .../javaone2007/filter/FilterImageRaster.java      |   28 -
 .../kitfox/javaone2007/filter/FilterImageView.java |   56 -
 .../javaone2007/filter/FilterPrimGaussianBlur.java |   70 -
 .../javaone2007/filter/FilterPrimOffset.java       |  147 -
 .../kitfox/javaone2007/filter/FilterPrimitive.java |   77 -
 .../kitfox/javaone2007/filter/FilterTransform.java |   85 -
 .../javaone2007/filter/IntermediateRaster.java     |   33 -
 .../com/kitfox/javaone2007/filter/PrimBuffer.java  |   37 -
 .../javaone2007/filter/opengl/ProgramLibrary.java  |   29 -
 .../javaone2007/filter/opengl/ProgramSource.java   |  102 -
 .../javaone2007/filter/opengl/TextureLibrary.java  |   29 -
 .../kitfox/javaone2007/programs/RedGreenFill.java  |   36 -
 .../com/kitfox/javaone2007/program/redGreen.frag   |    6 -
 .../com/kitfox/javaone2007/program/redGreen.vert   |   12 -
 .../com/kitfox/javaone2007/blur/BlurFrame.form     |   20 -
 .../com/kitfox/javaone2007/blur/BlurFrame.java     |   60 -
 .../com/kitfox/javaone2007/blur/BlurPanel.form     |   14 -
 .../com/kitfox/javaone2007/blur/BlurPanel.java     |  294 -
 .../javaone2007/frameBufferObject/FBOFrame.form    |   20 -
 .../javaone2007/frameBufferObject/FBOPanel.form    |   14 -
 .../javaone2007/frameBufferObject/FBOPanel.java    |  397 -
 .../com/kitfox/javaone2007/normal/NormalFrame.form |   20 -
 .../com/kitfox/javaone2007/normal/NormalFrame.java |   60 -
 .../com/kitfox/javaone2007/normal/NormalPanel.form |   65 -
 .../com/kitfox/javaone2007/normal/NormalPanel.java |  459 -
 .../com/kitfox/javaone2007/shader/ShaderFrame.java |   60 -
 .../com/kitfox/javaone2007/shader/ShaderPanel.form |   14 -
 .../com/kitfox/javaone2007/shader/ShaderPanel.java |  296 -
 .../texRectangle/TexRectangleFrame.form            |   19 -
 .../texRectangle/TexRectangleFrame.java            |   59 -
 .../texRectangle/TexRectanglePanel.form            |   14 -
 .../texRectangle/TexRectanglePanel.java            |  158 -
 .../src/test/res/com/kitfox/javaone2007/abc.png    |  Bin 11792 -> 0 bytes
 .../test/res/com/kitfox/javaone2007/abc_alpha.png  |  Bin 11351 -> 0 bytes
 .../com/kitfox/javaone2007/abc_alpha_normal.png    |  Bin 44608 -> 0 bytes
 .../src/test/res/com/kitfox/javaone2007/abc_bg.png |  Bin 12329 -> 0 bytes
 .../src/test/res/com/kitfox/javaone2007/d.png      |  Bin 3769 -> 0 bytes
 .../res/com/kitfox/javaone2007/shader/filter.frag  |   48 -
 .../res/com/kitfox/javaone2007/shader/filter.vert  |   21 -
 .../javaone2007/shader/filter_redGreenGrad.frag    |   10 -
 .../kitfox/javaone2007/shader/normalShader.frag    |   47 -
 .../shader/seperableSymmetricKernel.frag           |  100 -
 libraries/nblibraries.properties                   |    6 +-
 svg-core/build.xml                                 |    7 +-
 svg-core/nbproject/build-impl.xml                  |  765 +-
 svg-core/nbproject/genfiles.properties             |    4 +-
 svg-core/nbproject/project.properties              |    3 +
 svg-core/pom.xml                                   |   10 +-
 svg-core/src/main/java/com/kitfox/svg/A.java       |   68 +-
 svg-core/src/main/java/com/kitfox/svg/Circle.java  |  132 +-
 .../src/main/java/com/kitfox/svg/ClipPath.java     |  139 +-
 svg-core/src/main/java/com/kitfox/svg/Defs.java    |   75 +-
 svg-core/src/main/java/com/kitfox/svg/Desc.java    |   71 +-
 svg-core/src/main/java/com/kitfox/svg/Ellipse.java |  159 +-
 .../main/java/com/kitfox/svg/FeDistantLight.java   |  109 +-
 svg-core/src/main/java/com/kitfox/svg/FeLight.java |   72 +-
 .../src/main/java/com/kitfox/svg/FePointLight.java |  124 +-
 .../src/main/java/com/kitfox/svg/FeSpotLight.java  |  185 +-
 .../src/main/java/com/kitfox/svg/FillElement.java  |   68 +-
 svg-core/src/main/java/com/kitfox/svg/Filter.java  |  197 +-
 .../main/java/com/kitfox/svg/FilterEffects.java    |  241 +-
 svg-core/src/main/java/com/kitfox/svg/Font.java    |  324 +-
 .../src/main/java/com/kitfox/svg/FontFace.java     |  315 +-
 svg-core/src/main/java/com/kitfox/svg/Glyph.java   |  109 +-
 .../src/main/java/com/kitfox/svg/Gradient.java     |  232 +-
 svg-core/src/main/java/com/kitfox/svg/Group.java   |  207 +-
 svg-core/src/main/java/com/kitfox/svg/Hkern.java   |   71 +-
 .../src/main/java/com/kitfox/svg/ImageSVG.java     |  268 +-
 svg-core/src/main/java/com/kitfox/svg/Line.java    |  119 +-
 .../main/java/com/kitfox/svg/LinearGradient.java   |  181 +-
 svg-core/src/main/java/com/kitfox/svg/Marker.java  |  154 +-
 .../src/main/java/com/kitfox/svg/Metadata.java     |   66 +-
 .../src/main/java/com/kitfox/svg/MissingGlyph.java |  248 +-
 svg-core/src/main/java/com/kitfox/svg/Path.java    |  125 +-
 .../src/main/java/com/kitfox/svg/PatternSVG.java   |  275 +-
 svg-core/src/main/java/com/kitfox/svg/Polygon.java |  138 +-
 .../src/main/java/com/kitfox/svg/Polyline.java     |  116 +-
 .../main/java/com/kitfox/svg/RadialGradient.java   |  180 +-
 svg-core/src/main/java/com/kitfox/svg/Rect.java    |  215 +-
 .../java/com/kitfox/svg/RenderableElement.java     |  119 +-
 .../src/main/java/com/kitfox/svg/SVGCache.java     |   32 +-
 .../src/main/java/com/kitfox/svg/SVGConst.java     |   14 +
 .../src/main/java/com/kitfox/svg/SVGDiagram.java   |   55 +-
 .../main/java/com/kitfox/svg/SVGDisplayPanel.form  |    6 +-
 .../main/java/com/kitfox/svg/SVGDisplayPanel.java  |   52 +-
 .../src/main/java/com/kitfox/svg/SVGElement.java   |  674 +-
 .../java/com/kitfox/svg/SVGElementException.java   |   36 +-
 .../src/main/java/com/kitfox/svg/SVGException.java |   36 +-
 .../src/main/java/com/kitfox/svg/SVGLoader.java    |   70 +-
 .../main/java/com/kitfox/svg/SVGLoaderHelper.java  |   60 +-
 .../java/com/kitfox/svg/SVGParseException.java     |   36 +-
 svg-core/src/main/java/com/kitfox/svg/SVGRoot.java |  310 +-
 .../src/main/java/com/kitfox/svg/SVGUniverse.java  |  478 +-
 .../src/main/java/com/kitfox/svg/ShapeElement.java |  146 +-
 svg-core/src/main/java/com/kitfox/svg/Stop.java    |  128 +-
 svg-core/src/main/java/com/kitfox/svg/Style.java   |  103 +-
 svg-core/src/main/java/com/kitfox/svg/Symbol.java  |  117 +-
 svg-core/src/main/java/com/kitfox/svg/Text.java    |  610 +-
 svg-core/src/main/java/com/kitfox/svg/Title.java   |   78 +-
 .../java/com/kitfox/svg/TransformableElement.java  |  120 +-
 svg-core/src/main/java/com/kitfox/svg/Tspan.java   |  433 +-
 svg-core/src/main/java/com/kitfox/svg/Use.java     |  195 +-
 .../com/kitfox/svg/animation/AnimTimeParser.jjt    |   72 +-
 .../java/com/kitfox/svg/animation/Animate.java     |  219 +-
 .../java/com/kitfox/svg/animation/AnimateBase.java |   95 +-
 .../com/kitfox/svg/animation/AnimateColor.java     |   91 +-
 .../kitfox/svg/animation/AnimateColorIface.java    |   46 +-
 .../com/kitfox/svg/animation/AnimateMotion.java    |  111 +-
 .../com/kitfox/svg/animation/AnimateTransform.java |  154 +-
 .../com/kitfox/svg/animation/AnimateXform.java     |   46 +-
 .../com/kitfox/svg/animation/AnimationElement.java |  150 +-
 .../kitfox/svg/animation/AnimationTimeEval.java    |   47 +-
 .../main/java/com/kitfox/svg/animation/Bezier.java |   47 +-
 .../java/com/kitfox/svg/animation/SetSmil.java     |   73 +-
 .../java/com/kitfox/svg/animation/TimeBase.java    |   46 +-
 .../com/kitfox/svg/animation/TimeCompound.java     |   46 +-
 .../com/kitfox/svg/animation/TimeDiscrete.java     |   46 +-
 .../com/kitfox/svg/animation/TimeIndefinite.java   |   46 +-
 .../java/com/kitfox/svg/animation/TimeLookup.java  |   46 +-
 .../java/com/kitfox/svg/animation/TimeSum.java     |   46 +-
 .../java/com/kitfox/svg/animation/TrackBase.java   |   46 +-
 .../java/com/kitfox/svg/animation/TrackColor.java  |   46 +-
 .../java/com/kitfox/svg/animation/TrackDouble.java |   46 +-
 .../com/kitfox/svg/animation/TrackManager.java     |   54 +-
 .../java/com/kitfox/svg/animation/TrackMotion.java |   46 +-
 .../java/com/kitfox/svg/animation/TrackPath.java   |   46 +-
 .../com/kitfox/svg/animation/TrackTransform.java   |   46 +-
 .../main/java/com/kitfox/svg/app/MainFrame.form    |  141 +-
 .../main/java/com/kitfox/svg/app/MainFrame.java    |   32 +-
 .../main/java/com/kitfox/svg/app/PlayerDialog.form |    6 +-
 .../main/java/com/kitfox/svg/app/PlayerDialog.java |   47 +-
 .../main/java/com/kitfox/svg/app/PlayerThread.java |   47 +-
 .../com/kitfox/svg/app/PlayerThreadListener.java   |   53 +-
 .../main/java/com/kitfox/svg/app/SVGPlayer.form    |    6 +-
 .../main/java/com/kitfox/svg/app/SVGPlayer.java    |   61 +-
 .../main/java/com/kitfox/svg/app/SVGViewer.form    |    6 +-
 .../main/java/com/kitfox/svg/app/SVGViewer.java    |   76 +-
 .../java/com/kitfox/svg/app/VersionDialog.form     |  133 +-
 .../java/com/kitfox/svg/app/VersionDialog.java     |   52 +-
 .../com/kitfox/svg/app/ant/SVGToImageAntTask.java  |   32 +-
 .../svg/app/beans/ProportionalLayoutPanel.form     |   63 +-
 .../svg/app/beans/ProportionalLayoutPanel.java     |   32 +-
 .../java/com/kitfox/svg/app/beans/SVGIcon.java     |  186 +-
 .../java/com/kitfox/svg/app/beans/SVGPanel.form    |    6 +-
 .../java/com/kitfox/svg/app/beans/SVGPanel.java    |  173 +-
 .../main/java/com/kitfox/svg/app/data/Handler.java |   61 +-
 .../com/kitfox/svg/app/data/HandlerFactory.java    |   33 +-
 .../com/kitfox/svg/composite/AdobeComposite.java   |   54 +-
 .../svg/composite/AdobeCompositeContext.java       |   47 +-
 .../src/main/java/com/kitfox/svg/pathcmd/Arc.java  |   67 +-
 .../java/com/kitfox/svg/pathcmd/BuildHistory.java  |  104 +-
 .../main/java/com/kitfox/svg/pathcmd/Cubic.java    |   66 +-
 .../java/com/kitfox/svg/pathcmd/CubicSmooth.java   |   68 +-
 .../java/com/kitfox/svg/pathcmd/Horizontal.java    |   59 +-
 .../main/java/com/kitfox/svg/pathcmd/LineTo.java   |   59 +-
 .../main/java/com/kitfox/svg/pathcmd/MoveTo.java   |   62 +-
 .../java/com/kitfox/svg/pathcmd/PathCommand.java   |   47 +-
 .../main/java/com/kitfox/svg/pathcmd/PathUtil.java |   36 +-
 .../java/com/kitfox/svg/pathcmd/Quadratic.java     |   60 +-
 .../com/kitfox/svg/pathcmd/QuadraticSmooth.java    |   67 +-
 .../main/java/com/kitfox/svg/pathcmd/Terminal.java |   54 +-
 .../main/java/com/kitfox/svg/pathcmd/Vertical.java |   59 +-
 .../java/com/kitfox/svg/pattern/PatternPaint.java  |   47 +-
 .../kitfox/svg/pattern/PatternPaintContext.java    |   57 +-
 .../java/com/kitfox/svg/util/Base64Consts.java     |   48 +
 .../com/kitfox/svg/util/Base64InputStream.java     |  144 +
 .../com/kitfox/svg/util/Base64OutputStream.java    |  122 +
 .../main/java/com/kitfox/svg/util/FontSystem.java  |  120 +
 .../main/java/com/kitfox/svg/util/TextBuilder.java |   45 +
 .../java/com/kitfox/svg/xml/Base64InputStream.java |   82 -
 .../com/kitfox/svg/xml/Base64OutputStream.java     |   90 -
 .../main/java/com/kitfox/svg/xml/Base64Util.java   |   32 -
 .../main/java/com/kitfox/svg/xml/ColorTable.java   |   52 +-
 .../java/com/kitfox/svg/xml/NumberWithUnits.java   |   47 +-
 .../com/kitfox/svg/xml/ReadableXMLElement.java     |   47 +-
 .../java/com/kitfox/svg/xml/StyleAttribute.java    |   85 +-
 .../main/java/com/kitfox/svg/xml/StyleSheet.java   |   67 +
 .../java/com/kitfox/svg/xml/StyleSheetRule.java    |   59 +
 .../com/kitfox/svg/xml/WritableXMLElement.java     |   47 +-
 .../main/java/com/kitfox/svg/xml/XMLParseUtil.java |  150 +-
 .../java/com/kitfox/svg/xml/cpx/CPXConsts.java     |   47 +-
 .../com/kitfox/svg/xml/cpx/CPXInputStream.java     |   62 +-
 .../com/kitfox/svg/xml/cpx/CPXOutputStream.java    |   49 +-
 .../main/java/com/kitfox/svg/xml/cpx/CPXTest.java  |   58 +-
 svg-example/build.xml                              |    3 +-
 svg-example/nbproject/build-impl.xml               |  755 +-
 svg-example/nbproject/genfiles.properties          |    8 +-
 svg-example/nbproject/private/private.properties   |    2 +-
 svg-example/nbproject/private/private.xml          |   14 +
 .../nbproject/private/retriever/catalog.xml        |    8 +
 .../private/retriever/creativecommons.org/ns.xml   |  401 +
 .../retriever/dublincore.org/2012/06/14/dcelements |    7 +
 .../www.w3.org/1999/02/22-rdf-syntax-ns.xml        |  141 +
 .../private/retriever/www.w3.org/1999/xlink        |   32 +
 .../private/retriever/www.w3.org/2000/svg.xml      |   39 +
 svg-example/res/HS_SLPS.svg                        | 9240 ++++++++++++++++++++
 .../res/com/kitfox/svg/example/100x100-mm.svg      |    6 +
 .../res/com/kitfox/svg/example/PseudoColor.svg     |   30 +
 svg-example/res/com/kitfox/svg/example/Z.svg       |   24 +
 svg-example/res/com/kitfox/svg/example/ZZ.svg      |   22 +
 .../res/com/kitfox/svg/example/animTranslate.svg   |    8 +
 .../res/com/kitfox/svg/example/areaCrash.svg       |   28 +
 .../res/com/kitfox/svg/example/bigMarkers.svg      |   24 +
 .../com/kitfox/svg/example/boundingBoxPicking.svg  |   54 +
 .../res/com/kitfox/svg/example/bug-30-animate.svg  |   23 +
 .../res/com/kitfox/svg/example/bug-31-path.svg     |   24 +
 svg-example/res/com/kitfox/svg/example/bulb.svg    |  967 ++
 .../res/com/kitfox/svg/example/casing2-opt.svg     |  136 +
 svg-example/res/com/kitfox/svg/example/casing2.svg |  838 ++
 svg-example/res/com/kitfox/svg/example/class.svg   |   14 +
 .../res/com/kitfox/svg/example/clipIssue.svg       |   19 +
 svg-example/res/com/kitfox/svg/example/degrade.svg |    7 +
 .../res/com/kitfox/svg/example/dor-32-gradient.svg |   51 +
 .../res/com/kitfox/svg/example/gradient.svg        |  120 +
 svg-example/res/com/kitfox/svg/example/horse.jpg   |  Bin 0 -> 82461 bytes
 .../res/com/kitfox/svg/example/imageClip.svg       |   23 +
 svg-example/res/com/kitfox/svg/example/issue.svg   |  317 +
 .../com/kitfox/svg/example/jira40-textAnchor.svg   |   16 +
 .../kitfox/svg/example/jira42/Bandeau_hautjt.svg   |   11 +
 .../kitfox/svg/example/jira42/Bandeau_hautjt2.svg  |   13 +
 .../res/com/kitfox/svg/example/jira42/alarmejt.svg |    9 +
 .../kitfox/svg/example/jira43-tspanVariableX.svg   |   24 +
 .../res/com/kitfox/svg/example/jira50-display.svg  |   12 +
 .../com/kitfox/svg/example/jira51-textLength.svg   |   26 +
 svg-example/res/com/kitfox/svg/example/jt10.svg    |    6 +
 svg-example/res/com/kitfox/svg/example/jt11.svg    |    7 +
 .../res/com/kitfox/svg/example/lineaire0.svg       |   11 +
 svg-example/res/com/kitfox/svg/example/madame.svg  |    7 +
 svg-example/res/com/kitfox/svg/example/madame2.svg |   25 +
 svg-example/res/com/kitfox/svg/example/map.svg     |  800 ++
 svg-example/res/com/kitfox/svg/example/map2.svg    |   54 +
 .../res/com/kitfox/svg/example/markerEnd.svg       |   94 +
 .../res/com/kitfox/svg/example/markerTest.svg      |   75 +
 .../com/kitfox/svg/example/nonScalingStroke.svg    |   17 +
 svg-example/res/com/kitfox/svg/example/notes.svg   |  104 +
 .../res/com/kitfox/svg/example/radialGradient.svg  |  294 +
 .../kitfox/svg/example/salamander.icon.grid.zip    |  Bin 0 -> 18750 bytes
 svg-example/res/com/kitfox/svg/example/svg.zip     |  Bin 0 -> 45003 bytes
 .../res/com/kitfox/svg/example/test-brd.svg        | 2691 ++++++
 .../res/com/kitfox/svg/example/textOnPath.svg      |  155 +
 svg-example/res/com/kitfox/svg/example/tux.svg     |  902 ++
 svg-example/res/com/kitfox/svg/example/use.svg     |   13 +
 .../res/com/kitfox/svg/example/viewboxTest.svg     |   29 +
 svg-example/res/com/kitfox/svg/example/visio.svg   |   34 +
 svg-example/res/com/kitfox/svg/example/x.svg       | 5161 +++++++++++
 svg-example/res/fsquare/svg/SampleFrame.java       |  105 +
 svg-example/res/fsquare/svg/sample_1.svg           |   64 +
 svg-example/res/fsquare/svg/sample_2.svg           |  127 +
 svg-example/res/sample image.rar                   |  Bin 0 -> 107949 bytes
 .../com/kitfox/svg/example/MenuIconTestFrame.form  |   73 +
 .../com/kitfox/svg/example/MenuIconTestFrame.java  |  161 +
 .../com/kitfox/svg/example/SimpleIconFrame.form    |    3 +-
 .../com/kitfox/svg/example/SimpleIconFrame.java    |  140 +-
 svg-example/test.svg                               |    3 +
 .../test/com/kitfox/svg/test/AnimationTests.java   |  112 +
 svg-example/test/com/kitfox/svg/test/SetTest.java  |   39 +
 .../test/com/kitfox/svg/test/gregorz/Applet1.java  |   23 +
 .../com/kitfox/svg/test/gregorz/NewJFrame.form     |    9 +-
 .../com/kitfox/svg/test/gregorz/NewJFrame.java     |  121 +-
 .../com/kitfox/svg/test/gregorz/TestPanel1.java    |   97 +
 svg-example/testImageX.png                         |  Bin 0 -> 12455 bytes
 www/binaries/svgPlayer.jnlp                        |   29 -
 www/binaries/svgPlayerSecure.jnlp                  |   25 -
 www/binaries/svgSalamander.html                    |   52 -
 www/binaries/svgViewer.jnlp                        |   29 -
 www/binaries/svgViewerSecure.jnlp                  |   25 -
 www/docs/svgSalamanderJavadoc.zip                  |  Bin 0 -> 1113808 bytes
 www/index.html                                     |   26 +-
 www/users.html                                     |   57 +
 301 files changed, 34592 insertions(+), 10639 deletions(-)

diff --git a/authors.txt b/authors.txt
new file mode 100644
index 0000000..fa405fa
--- /dev/null
+++ b/authors.txt
@@ -0,0 +1 @@
+blackears = Mark McKay <mark at kitfox.com>
diff --git a/java-one-2007/art/buttons/abc.png b/java-one-2007/art/buttons/abc.png
deleted file mode 100755
index d4ae0bf..0000000
Binary files a/java-one-2007/art/buttons/abc.png and /dev/null differ
diff --git a/java-one-2007/art/buttons/abc.psd b/java-one-2007/art/buttons/abc.psd
deleted file mode 100755
index 0f054a3..0000000
Binary files a/java-one-2007/art/buttons/abc.psd and /dev/null differ
diff --git a/java-one-2007/art/buttons/abc_alpha.png b/java-one-2007/art/buttons/abc_alpha.png
deleted file mode 100644
index 80c390d..0000000
Binary files a/java-one-2007/art/buttons/abc_alpha.png and /dev/null differ
diff --git a/java-one-2007/art/buttons/abc_alpha.psd b/java-one-2007/art/buttons/abc_alpha.psd
deleted file mode 100644
index dd92627..0000000
Binary files a/java-one-2007/art/buttons/abc_alpha.psd and /dev/null differ
diff --git a/java-one-2007/art/buttons/abc_bg.png b/java-one-2007/art/buttons/abc_bg.png
deleted file mode 100755
index 027a616..0000000
Binary files a/java-one-2007/art/buttons/abc_bg.png and /dev/null differ
diff --git a/java-one-2007/art/buttons/d.png b/java-one-2007/art/buttons/d.png
deleted file mode 100755
index 00c7fd0..0000000
Binary files a/java-one-2007/art/buttons/d.png and /dev/null differ
diff --git a/java-one-2007/art/buttons/d.psd b/java-one-2007/art/buttons/d.psd
deleted file mode 100755
index dad4454..0000000
Binary files a/java-one-2007/art/buttons/d.psd and /dev/null differ
diff --git a/java-one-2007/build.xml b/java-one-2007/build.xml
deleted file mode 100755
index dee545b..0000000
--- a/java-one-2007/build.xml
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project basedir="." default="all" name="java-one-2007">
-    <description>
-	Demos for JavaOne 2007 talk
-	</description>
-
-    <import file="../build-NBUtil.xml"/>
-
-    <target name="all" depends="build,release" description="Build jars, obfuscate and sign."/>
-    <target name="build" depends="compile-test" description="Build jars."/>
-
-    <target name="init">
-        <tstamp/>
-
-        <property name="build.dir" location="build"/>
-        <property name="gen.main.src.dir" location="${build.dir}/gen/src/main/java"/>
-        <property name="gen.main.res.dir" location="${build.dir}/gen/src/main/res"/>
-        <property name="classes.main.dir" location="${build.dir}/classes/main"/>
-        <property name="classes.test.dir" location="${build.dir}/classes/test"/>
-        <property name="src.main.dir" location="src/main/java"/>
-        <property name="src.test.dir" location="src/test/java"/>
-
-        <property name="res.main.dir" location="src/main/res"/>
-        <property name="res.test.dir" location="src/test/res"/>
-        <property name="jar.dir" location="${build.dir}/jar"/>
-        <property name="manifest.file" location="manifest.mf"/>
-        <property name="project.name" value="${ant.project.name}"/>
-        <property name="project.title" value="JavaOne Demos - Mark Mckay"/>
-        <property name="version" value="1"/>
-        <property name="project.jar" location="${jar.dir}/${project.name}.jar"/>
-
-        <property name="project.debug.mainClass" value="com.kitfox.Main"/>
-        <property name="project.debug.jvm" location="C:\bin\jdk1.6.0\fastdebug/bin/java"/>
-        <property name="project.run.mainClass" value="com.kitfox.Main"/>
-        <property name="project.run.jvm" location="C:\bin\jdk1.6.0\fastdebug/bin/java"/>
-
-        <property name="javadoc.dir" location="${build.dir}/javadoc"/>
-        <property name="javadoc.zip" location="${www.localDir}/doc/javadoc.zip"/>
-
-    	<path id="lib.include">
-            <pathelement path="${netbeans.home}/modules/org-jdesktop-layout.jar"/>
-            <fileset dir="lib/include">
-                <include name="**/*.jar"/>
-            </fileset>
-    	</path>
-
-    	<path id="lib.library">
-            <!--pathelement path="C:\Program Files\Java\jdk1.6.0\lib\tools.jar"/-->
-            <fileset dir="lib/library">
-                <include name="**/*.jar"/>
-            </fileset>
-    	</path>
-
-        <path id="path.sourcepath">
-            <pathelement path="${src.main.dir}"/>
-            <pathelement path="${src.test.dir}"/>
-        </path>
-
-        <path id="path.sourcepath.debug">
-            <path refid="path.sourcepath"/>
-        </path>
-
-        <path id="path.classpath">
-            <path refid="lib.include"/>
-            <path refid="lib.library"/>
-
-            <pathelement path="${gen.main.res.dir}"/>
-            <pathelement path="${res.main.dir}"/>
-            <pathelement path="${res.test.dir}"/>
-        </path>
-    </target>
-
-    <target name="prepareBuild" depends="init" description="Create empty directories necessary for building">
-        <mkdir dir="${build.dir}"/>
-        <mkdir dir="${classes.main.dir}"/>
-        <mkdir dir="${classes.test.dir}"/>
-        <mkdir dir="${jar.dir}"/>
-        <mkdir dir="${gen.main.src.dir}"/>
-        <mkdir dir="${gen.main.res.dir}"/>
-    </target>
-
-    <target name="compile" depends="init,prepareBuild" description="Compile source">
-        <javac debug="true" destdir="${classes.main.dir}" srcdir="${src.main.dir}">
-            <compilerarg value="-Xlint:all,-unchecked,-serial"/>
-            <classpath>
-                <path refid="path.classpath"/>
-            </classpath>
-        </javac>
-    </target>
-
-    <target name="compile-test" depends="jar">
-        <javac debug="true" destdir="${classes.test.dir}" srcdir="${src.test.dir}">
-            <compilerarg value="-Xlint:all,-unchecked,-serial"/>
-            <classpath>
-                <path refid="path.classpath"/>
-                <pathelement path="${classes.main.dir}"/>
-            </classpath>
-        </javac>
-    </target>
-
-    <target name="run" depends="compile">
-        <java classname="${project.run.mainClass}" fork="true">
-            <jvmarg value="-ea"/>
-            <!--jvmarg value="-Djogl.verbose"/-->
-            <!--jvmarg value="-Xmx256M"/-->
-            <jvmarg value="-XX:+HeapDumpOnOutOfMemoryError"/>
-            <classpath>
-                <pathelement location="${classes.main.dir}"/>
-                <path refid="path.classpath"/>
-            </classpath>
-        </java>
-    </target>
-
-    <target name="runJar" depends="init">
-        <java jar="${project.jar}" fork="true">
-        </java>
-    </target>
-
-    <target name="jar" depends="init,compile">
-        <manifest file="${manifest.file}">
-            <attribute name="Main-Class" value="${project.run.mainClass}"/>
-            <attribute name="Built-By" value="${user.name}"/>
-            <section name="common">
-              <attribute name="Specification-Title" value="${project.title}"/>
-              <attribute name="Specification-Version" value="${version}"/>
-              <attribute name="Specification-Vendor" value="Kitfox"/>
-              <attribute name="Implementation-Title" value="${project.name}"/>
-              <attribute name="Implementation-Version" value="Version ${version}, Date ${TODAY}"/>
-              <attribute name="Implementation-Vendor" value="Mark McKay, mark at kitfox.com"/>
-            </section>
-        </manifest>
-
-        <jar compress="true" jarfile="${project.jar}" manifest="${manifest.file}">
-            <fileset dir="${classes.main.dir}">
-                <include name="**/*.class"/>
-            </fileset>
-            <fileset dir="${res.main.dir}">
-                <include name="**/*"/>
-            </fileset>
-            <fileset dir="${gen.main.res.dir}">
-                <include name="**/*"/>
-            </fileset>
-        </jar>
-    </target>
-
-    <target name="release" depends="init,jar,generateKey" description="Obfuscates and sign jar, copies result to binaries directory.">
-        <proguard
-            defaultpackage=""
-            printmapping="${project.obfuscated.names}"
-            overloadaggressively="false"
-            usemixedcaseclassnames="false"
-            verbose="true"
-            shrink="false"
-            optimize="false"
-            obfuscate="false"
-            ignorewarnings="true">
-
-            <libraryjar>
-                <pathelement path="${java.home}/lib/rt.jar"/>
-                <!--pathelement path="C:\Program Files\Java\jdk1.6.0\jre\lib/rt.jar"/-->
-                <path refid="lib.library"/>
-            </libraryjar>
-
-            <injar file="${project.jar}"/>
-            <injar filter="!META-INF/MANIFEST.MF">
-                <path refid="lib.include"/>
-            </injar>
-
-            <outjar file="${project.obfuscated.jar}"/>
-
-            <keep access="public" type="class" name="${project.run.mainClass}">
-                <method name="main"/>
-            </keep>
-        </proguard>
-
-        <signjar jar="${project.obfuscated.jar}" alias="${key.user}" storepass="${key.password}" keystore="${key.location}"/>
-    </target>
-
-    <target name="clean" depends="init" description="Clean all build products.">
-        <delete dir="${build.dir}"/>
-        <delete dir="${javadoc.dir}"/>
-        <delete file="${project.obfuscated.jar}"/>
-
-        <!--
-        <delete>
-            <fileset dir="${src.main.dir}">
-                <include name="**/*.class"/>
-            </fileset>
-        </delete>
-        -->
-    </target>
-
-</project>
diff --git a/java-one-2007/doc/links.html b/java-one-2007/doc/links.html
deleted file mode 100755
index 1852b81..0000000
--- a/java-one-2007/doc/links.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html>
-  <head>
-    <title></title>
-  </head>
-  <body>
-  
-  <a href="http://http.download.nvidia.com/developer/presentations/2005/GDC/OpenGL_Day/OpenGL_FrameBuffer_Object.pdf">
-      Using Frame Buffer Objects
-  </a>
-      
-  </body>
-</html>
diff --git a/java-one-2007/fboImage.png b/java-one-2007/fboImage.png
deleted file mode 100755
index ef1d6f9..0000000
Binary files a/java-one-2007/fboImage.png and /dev/null differ
diff --git a/java-one-2007/hotspot.log b/java-one-2007/hotspot.log
deleted file mode 100755
index 865cace..0000000
--- a/java-one-2007/hotspot.log
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<hotspot_log version='160 1' process='4708' time_ms='1178300952930'>
-<vm_version>
-<name>
-Java HotSpot(TM) Client VM
-</name>
-<release>
-1.6.0-rc-fastdebug-b99-debug
-</release>
-<info>
-Java HotSpot(TM) Client VM (1.6.0-rc-fastdebug-b99) for windows-x86, built on Sep 15 2006 02:26:51 by "java_re" with unknown MS VC++:1310
-</info>
-</vm_version>
-<vm_arguments>
-<args>
--Xdebug -Xnoagent -Djava.compiler=none -Xrunjdwp:transport=dt_socket,address=localhost:3383
-</args>
-<command>
-com.kitfox.javaone2007.blur.BlurFrame
-</command>
-<launcher>
-SUN_STANDARD
-</launcher>
-</vm_arguments>
-<tty>
diff --git a/java-one-2007/manifest.mf b/java-one-2007/manifest.mf
deleted file mode 100755
index 83ff5a1..0000000
--- a/java-one-2007/manifest.mf
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0Beta3
-Created-By: 1.6.0-b105 (Sun Microsystems Inc.)
-Main-Class: com.kitfox.Main
-Built-By: kitfox
-
-Name: common
-Specification-Title: JavaOne Demos - Mark Mckay
-Specification-Version: 1
-Specification-Vendor: Kitfox
-Implementation-Title: java-one-2007
-Implementation-Version: Version 1, Date May 4 2007
-Implementation-Vendor: Mark McKay, mark at kitfox.com
-
diff --git a/java-one-2007/nbproject/private/private.xml b/java-one-2007/nbproject/private/private.xml
deleted file mode 100755
index cc2c0e5..0000000
--- a/java-one-2007/nbproject/private/private.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
-    <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1"/>
-</project-private>
diff --git a/java-one-2007/nbproject/project.xml b/java-one-2007/nbproject/project.xml
deleted file mode 100755
index fd49f82..0000000
--- a/java-one-2007/nbproject/project.xml
+++ /dev/null
@@ -1,235 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://www.netbeans.org/ns/project/1">
-    <type>org.netbeans.modules.ant.freeform</type>
-    <configuration>
-        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
-            <!-- Do not use Project Properties customizer when editing this file manually. -->
-            <name>java-one-2007</name>
-            <properties>
-                <property name="src.main.dir">src/main/java</property>
-                <property name="src.test.dir">src/test/java</property>
-            </properties>
-            <folders>
-                <source-folder>
-                    <label>..\www</label>
-                    <location>../www</location>
-                </source-folder>
-                <source-folder>
-                    <label>src\main\java</label>
-                    <type>java</type>
-                    <location>src/main/java</location>
-                </source-folder>
-                <source-folder>
-                    <label>src\main\res</label>
-                    <type>java</type>
-                    <location>src/main/res</location>
-                </source-folder>
-                <source-folder>
-                    <label>src\test\java</label>
-                    <type>java</type>
-                    <location>src/test/java</location>
-                </source-folder>
-                <source-folder>
-                    <label>src\test\res</label>
-                    <type>java</type>
-                    <location>src/test/res</location>
-                </source-folder>
-                <source-folder>
-                    <label>..\www</label>
-                    <type>java</type>
-                    <location>../www</location>
-                </source-folder>
-            </folders>
-            <ide-actions>
-                <action name="build">
-                    <target>build</target>
-                </action>
-                <action name="clean">
-                    <target>clean</target>
-                </action>
-                <action name="javadoc">
-                    <target>javadoc</target>
-                </action>
-                <action name="run">
-                    <target>run</target>
-                </action>
-                <action name="test">
-                    <target>checkintest</target>
-                </action>
-                <action name="rebuild">
-                    <target>clean</target>
-                    <target>build</target>
-                </action>
-                <action name="debug">
-                    <target>debug</target>
-                </action>
-                <action name="compile.single">
-                    <target>compile-selected-files</target>
-                    <context>
-                        <property>files</property>
-                        <folder>${src.main.dir}</folder>
-                        <pattern>\.java$</pattern>
-                        <format>relative-path</format>
-                        <arity>
-                            <separated-files>,</separated-files>
-                        </arity>
-                    </context>
-                </action>
-                <action name="compile.single">
-                    <target>compile-selected-files-test</target>
-                    <context>
-                        <property>files</property>
-                        <folder>${src.test.dir}</folder>
-                        <pattern>\.java$</pattern>
-                        <format>relative-path</format>
-                        <arity>
-                            <separated-files>,</separated-files>
-                        </arity>
-                    </context>
-                </action>
-                <action name="run.single">
-                    <target>run-selected-files</target>
-                    <context>
-                        <property>classname</property>
-                        <folder>${src.main.dir}</folder>
-                        <pattern>\.java$</pattern>
-                        <format>java-name</format>
-                        <arity>
-                            <one-file-only/>
-                        </arity>
-                    </context>
-                </action>
-                <action name="run.single">
-                    <target>run-selected-files-test</target>
-                    <context>
-                        <property>classname</property>
-                        <folder>${src.test.dir}</folder>
-                        <pattern>\.java$</pattern>
-                        <format>java-name</format>
-                        <arity>
-                            <one-file-only/>
-                        </arity>
-                    </context>
-                </action>
-                <action name="debug.single">
-                    <target>debug-selected-files</target>
-                    <context>
-                        <property>classname</property>
-                        <folder>${src.main.dir}</folder>
-                        <pattern>\.java$</pattern>
-                        <format>java-name</format>
-                        <arity>
-                            <one-file-only/>
-                        </arity>
-                    </context>
-                </action>
-                <action name="debug.single">
-                    <target>debug-selected-files-test</target>
-                    <context>
-                        <property>classname</property>
-                        <folder>${src.test.dir}</folder>
-                        <pattern>\.java$</pattern>
-                        <format>java-name</format>
-                        <arity>
-                            <one-file-only/>
-                        </arity>
-                    </context>
-                </action>
-                <action name="debug.fix">
-                    <target>debug-fix</target>
-                    <context>
-                        <property>fix.file</property>
-                        <folder>${src.main.dir}</folder>
-                        <pattern>\.java$</pattern>
-                        <format>relative-path-noext</format>
-                        <arity>
-                            <one-file-only/>
-                        </arity>
-                    </context>
-                </action>
-                <action name="test.single">
-                    <target>test-selected-files</target>
-                    <context>
-                        <property>classname</property>
-                        <folder>${src.main.dir}</folder>
-                        <pattern>\.java$</pattern>
-                        <format>java-name</format>
-                        <arity>
-                            <one-file-only/>
-                        </arity>
-                    </context>
-                </action>
-            </ide-actions>
-            <export>
-                <type>jar</type>
-                <location>build/jar/java-one-2007.jar</location>
-                <build-target>build</build-target>
-            </export>
-            <view>
-                <items>
-                    <source-folder style="packages">
-                        <label>src\main\java</label>
-                        <location>src/main/java</location>
-                    </source-folder>
-                    <source-folder style="packages">
-                        <label>src\main\res</label>
-                        <location>src/main/res</location>
-                    </source-folder>
-                    <source-folder style="packages">
-                        <label>src\test\java</label>
-                        <location>src/test/java</location>
-                    </source-folder>
-                    <source-folder style="packages">
-                        <label>src\test\res</label>
-                        <location>src/test/res</location>
-                    </source-folder>
-                    <source-folder style="packages">
-                        <label>..\www</label>
-                        <location>../www</location>
-                    </source-folder>
-                    <source-file>
-                        <location>build.xml</location>
-                    </source-file>
-                </items>
-                <context-menu>
-                    <ide-action name="build"/>
-                    <ide-action name="clean"/>
-                    <ide-action name="javadoc"/>
-                    <ide-action name="run"/>
-                    <ide-action name="debug"/>
-                    <ide-action name="test"/>
-                    <ide-action name="rebuild"/>
-                </context-menu>
-            </view>
-            <subprojects/>
-        </general-data>
-        <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
-            <compilation-unit>
-                <package-root>src/main/java</package-root>
-                <classpath mode="compile">lib/library/jogl/jogl.jar</classpath>
-                <built-to>build/jar/java-one-2007.jar</built-to>
-                <source-level>1.5</source-level>
-            </compilation-unit>
-            <compilation-unit>
-                <package-root>src/main/res</package-root>
-                <source-level>1.5</source-level>
-            </compilation-unit>
-            <compilation-unit>
-                <package-root>src/test/java</package-root>
-                <unit-tests/>
-                <classpath mode="compile">build/jar/java-one-2007.jar;lib/library/jogl/jogl.jar</classpath>
-                <source-level>1.5</source-level>
-            </compilation-unit>
-            <compilation-unit>
-                <package-root>src/test/res</package-root>
-                <unit-tests/>
-                <source-level>1.5</source-level>
-            </compilation-unit>
-            <compilation-unit>
-                <package-root>../www</package-root>
-                <unit-tests/>
-                <source-level>1.5</source-level>
-            </compilation-unit>
-        </java-data>
-    </configuration>
-</project>
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/AbstractTexInput.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/AbstractTexInput.java
deleted file mode 100644
index 08a5213..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/AbstractTexInput.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * AbstractTexInput.java
- *
- * Created on April 24, 2007, 11:57 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007;
-
-import java.awt.Rectangle;
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-
-/**
- *
- * @author kitfox
- */
-public class AbstractTexInput implements TexInput
-{
-    ArrayList<TexInputListener> listeners = new ArrayList<TexInputListener>();
-    
-    /** Creates a new instance of AbstractTexInput */
-    public AbstractTexInput()
-    {
-    }
-
-    public Rectangle getImageRegion()
-    {
-        return null;
-    }
-
-    public int getWidthPow2()
-    {
-        return 0;
-    }
-
-    public int getHeightPow2()
-    {
-        return 0;
-    }
-
-    public ByteBuffer getData()
-    {
-        return null;
-    }
-
-    public void addTexInputListener(TexInputListener listener)
-    {
-        listeners.add(listener);
-    }
-    
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/FilterDemoFrame.form b/java-one-2007/src/main/java/com/kitfox/javaone2007/FilterDemoFrame.form
deleted file mode 100644
index 4829461..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/FilterDemoFrame.form
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
-  <Properties>
-    <Property name="defaultCloseOperation" type="int" value="3"/>
-  </Properties>
-  <SyntheticProperties>
-    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
-  </SyntheticProperties>
-  <AuxValues>
-    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
-    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
-    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-  </AuxValues>
-
-  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
-    <Property name="useNullLayout" type="boolean" value="true"/>
-  </Layout>
-  <SubComponents>
-    <Component class="javax.swing.JButton" name="jButton1">
-      <Properties>
-        <Property name="text" type="java.lang.String" value="jButton1"/>
-      </Properties>
-      <Constraints>
-        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-          <AbsoluteConstraints x="220" y="210" width="-1" height="-1"/>
-        </Constraint>
-      </Constraints>
-    </Component>
-  </SubComponents>
-</Form>
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/FilterDemoFrame.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/FilterDemoFrame.java
deleted file mode 100644
index dbfe2dd..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/FilterDemoFrame.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * FilterDemoFrame.java
- *
- * Created on April 23, 2007, 1:32 AM
- */
-
-package com.kitfox.javaone2007;
-
-import java.awt.Color;
-
-/**
- *
- * @author  kitfox
- */
-public class FilterDemoFrame extends javax.swing.JFrame
-{
-    /** Creates new form FilterDemoFrame */
-    public FilterDemoFrame()
-    {
-        initComponents();
-        
-        FilteredButton but1 = new FilteredButton();
-        but1.setText("Button 1");
-        but1.setBounds(20, 40, 100, 40);
-        but1.setBackground(new Color(204, 102, 255));
-        
-        getContentPane().add(but1);
-        
-        setSize(640, 480);
-    }
-    
-    /** This method is called from within the constructor to
-     * initialize the form.
-     * WARNING: Do NOT modify this code. The content of this method is
-     * always regenerated by the Form Editor.
-     */
-    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
-    private void initComponents()
-    {
-        jButton1 = new javax.swing.JButton();
-
-        getContentPane().setLayout(null);
-
-        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
-        jButton1.setText("jButton1");
-        getContentPane().add(jButton1);
-        jButton1.setBounds(220, 210, 75, 23);
-
-        pack();
-    }// </editor-fold>//GEN-END:initComponents
-    
-    /**
-     * @param args the command line arguments
-     */
-    public static void main(String args[])
-    {
-        java.awt.EventQueue.invokeLater(new Runnable()
-        {
-            public void run()
-            {
-                new FilterDemoFrame().setVisible(true);
-            }
-        });
-    }
-    
-    // Variables declaration - do not modify//GEN-BEGIN:variables
-    private javax.swing.JButton jButton1;
-    // End of variables declaration//GEN-END:variables
-    
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/FilteredButton.form b/java-one-2007/src/main/java/com/kitfox/javaone2007/FilteredButton.form
deleted file mode 100644
index 9bfa0f2..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/FilteredButton.form
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
-  <Events>
-    <EventHandler event="mouseEntered" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="formMouseEntered"/>
-    <EventHandler event="mouseExited" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="formMouseExited"/>
-    <EventHandler event="mousePressed" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="formMousePressed"/>
-    <EventHandler event="mouseReleased" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="formMouseReleased"/>
-    <EventHandler event="componentResized" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="formComponentResized"/>
-  </Events>
-  <AuxValues>
-    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
-    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
-    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-  </AuxValues>
-
-  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
-    <Property name="useNullLayout" type="boolean" value="true"/>
-  </Layout>
-</Form>
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/FilteredButton.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/FilteredButton.java
deleted file mode 100644
index a84cb19..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/FilteredButton.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * FilteredPanel.java
- *
- * Created on April 23, 2007, 8:39 AM
- */
-
-package com.kitfox.javaone2007;
-
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Font;
-import java.awt.FontMetrics;
-import java.awt.Graphics;
-import java.awt.Graphics2D;
-import java.awt.Rectangle;
-import java.awt.font.LineMetrics;
-import java.awt.geom.RectangularShape;
-import java.awt.geom.RoundRectangle2D;
-import java.awt.image.BufferedImage;
-import javax.media.opengl.GLAutoDrawable;
-import javax.media.opengl.GLCanvas;
-import javax.media.opengl.GLCapabilities;
-import javax.media.opengl.GLEventListener;
-import javax.swing.JComponent;
-
-/**
- *
- * @author  kitfox
- */
-public class FilteredButton extends JComponent implements GLEventListener
-{
-    private GLCanvas canvas;
-    ShaderBuffer shader;
-
-    BufferedImage backBuf;
-    private String text;
-    private float radius;
-    
-//    static enum BnState {UP, DOWN, OVER};
-//    BnState bnState = BnState.UP;
-    boolean mouseOver;
-    boolean bnPressed;
-    
-    /** Creates new form FilteredPanel */
-    public FilteredButton()
-    {
-        initComponents();
-  
-        canvas = new GLCanvas(new GLCapabilities());
-        canvas.addGLEventListener(this);
-        
-        add(canvas);
-//        add(canvas, BorderLayout.CENTER);
-//        canvas.createOffscreenDrawable();
-//        JButton but;
-//        but.paint(null);
-//        but.paintComponent(null);
-        //but.paint
-    }
-
-    public void addNotify()
-    {
-        super.addNotify();
-        
-        canvas.display();
-    }
-    
-//    protected void paintBorder(Graphics g) 
-//    {
-//    }
-    
-    protected void paintComponent(Graphics gg) 
-    {
-        Graphics2D g = (Graphics2D)gg;
-        
-        Color bgColor = getBackground();
-        if (mouseOver)
-        {
-            bgColor = Color.GREEN;
-        }
-        if (bnPressed)
-        {
-            bgColor = Color.BLUE;
-        }
-        g.setColor(bgColor);
-        
-        RectangularShape rect;
-        
-        if (radius == 0)
-        {
-            rect = new Rectangle(0, 0, getWidth(), getHeight());
-        }
-        else
-        {
-            float maxRad = Math.min(getWidth() / 2f, getHeight() / 2f);
-            float calcRad = Math.min(radius, maxRad);
-            rect = new RoundRectangle2D.Float(0, 0, getWidth(), getHeight(), calcRad, calcRad);
-        }
-        g.fillRect(0, 0, getWidth(), getHeight());
-        
-        if (text != null)
-        {
-            Font font = getFont();
-            g.setFont(font);
-            FontMetrics fm = g.getFontMetrics();
-
-            int baseline = getHeight() / 2 + (fm.getAscent() - (fm.getAscent() + fm.getDescent()) / 2);
-            LineMetrics lm = font.getLineMetrics(text, g.getFontRenderContext());
-            int xpos = (getWidth() - fm.stringWidth(text)) / 2;
-            
-            g.setColor(getForeground());
-            g.drawString(text, xpos, baseline);
-        }
-        
-//        super.paintComponent(g);
-        /*
-        if (backBuf == null)
-        {
-            backBuf = getGraphicsConfiguration().createCompatibleImage(getWidth(), getHeight());
-        }
-        
-        Graphics2D gg = backBuf.createGraphics();
-        super.paintComponent(gg);
-        gg.dispose();
-        
-        g.drawImage(backBuf, 0, 0, null);
-        */
-    }
-
-    public String getText()
-    {
-        return text;
-    }
-
-    public void setText(String text)
-    {
-        this.text = text;
-    }
-
-    public float getRadius()
-    {
-        return radius;
-    }
-
-    public void setRadius(float radius)
-    {
-        this.radius = radius;
-    }
-    
-    /** This method is called from within the constructor to
-     * initialize the form.
-     * WARNING: Do NOT modify this code. The content of this method is
-     * always regenerated by the Form Editor.
-     */
-    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
-    private void initComponents()
-    {
-
-        setLayout(null);
-
-        addMouseListener(new java.awt.event.MouseAdapter()
-        {
-            public void mouseEntered(java.awt.event.MouseEvent evt)
-            {
-                formMouseEntered(evt);
-            }
-            public void mouseExited(java.awt.event.MouseEvent evt)
-            {
-                formMouseExited(evt);
-            }
-            public void mousePressed(java.awt.event.MouseEvent evt)
-            {
-                formMousePressed(evt);
-            }
-            public void mouseReleased(java.awt.event.MouseEvent evt)
-            {
-                formMouseReleased(evt);
-            }
-        });
-        addComponentListener(new java.awt.event.ComponentAdapter()
-        {
-            public void componentResized(java.awt.event.ComponentEvent evt)
-            {
-                formComponentResized(evt);
-            }
-        });
-
-    }// </editor-fold>//GEN-END:initComponents
-
-    private void formMouseReleased(java.awt.event.MouseEvent evt)//GEN-FIRST:event_formMouseReleased
-    {//GEN-HEADEREND:event_formMouseReleased
-        bnPressed = false;
-        repaint();
-    }//GEN-LAST:event_formMouseReleased
-
-    private void formMousePressed(java.awt.event.MouseEvent evt)//GEN-FIRST:event_formMousePressed
-    {//GEN-HEADEREND:event_formMousePressed
-//        canvas.display();
-
-        bnPressed = true;
-        repaint();
-
-    }//GEN-LAST:event_formMousePressed
-
-    private void formMouseExited(java.awt.event.MouseEvent evt)//GEN-FIRST:event_formMouseExited
-    {//GEN-HEADEREND:event_formMouseExited
-        mouseOver = false;
-        repaint();
-
-    }//GEN-LAST:event_formMouseExited
-
-    private void formMouseEntered(java.awt.event.MouseEvent evt)//GEN-FIRST:event_formMouseEntered
-    {//GEN-HEADEREND:event_formMouseEntered
-        mouseOver = true;
-        repaint();
-        
-    }//GEN-LAST:event_formMouseEntered
-
-    private void formComponentResized(java.awt.event.ComponentEvent evt)//GEN-FIRST:event_formComponentResized
-    {//GEN-HEADEREND:event_formComponentResized
-        backBuf = null;
-    }//GEN-LAST:event_formComponentResized
-    
-    
-    // Variables declaration - do not modify//GEN-BEGIN:variables
-    // End of variables declaration//GEN-END:variables
-
-    public void init(GLAutoDrawable drawable)
-    {
-        System.err.println("Button init called");
-        shader = new ShaderBuffer(drawable);
-                
-        canvas.display();
-    }
-
-    public void display(GLAutoDrawable gLAutoDrawable)
-    {
-    }
-
-    public void reshape(GLAutoDrawable gLAutoDrawable, int i, int i0, int i1, int i2)
-    {
-    }
-
-    public void displayChanged(GLAutoDrawable gLAutoDrawable, boolean b, boolean b0)
-    {
-    }
-    
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/FrameBufferTest.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/FrameBufferTest.java
deleted file mode 100644
index e730ecf..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/FrameBufferTest.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * FrameBufferTest.java
- *
- * Created on April 25, 2007, 4:22 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007;
-
-import com.sun.opengl.util.BufferUtil;
-import java.nio.IntBuffer;
-import javax.media.opengl.GL;
-import javax.media.opengl.GLAutoDrawable;
-import javax.media.opengl.GLCapabilities;
-import javax.media.opengl.GLDrawableFactory;
-import javax.media.opengl.GLEventListener;
-import javax.media.opengl.GLException;
-import javax.media.opengl.GLPbuffer;
-
-/**
- *
- * @author kitfox
- */
-public class FrameBufferTest implements GLEventListener
-{
-    GLPbuffer pbuffer;
-    
-    /** Creates a new instance of FrameBufferTest */
-    public FrameBufferTest(GLAutoDrawable drawable)
-    {
-        GLCapabilities caps = new GLCapabilities();
-        caps.setDoubleBuffered(false);
-        if (!GLDrawableFactory.getFactory().canCreateGLPbuffer())
-        {
-            throw new GLException("Pbuffers not supported with this graphics card");
-        }
-        pbuffer = GLDrawableFactory.getFactory().createGLPbuffer(caps,
-                null,
-//                                                             getWidth(),
-//                                                             getHeight(),
-                256,
-                256,
-                drawable.getContext());
-        pbuffer.addGLEventListener(this);
-        
-        pbuffer.display();
-    }
-
-    public void init(GLAutoDrawable drawable)
-    {
-        GL gl = drawable.getGL();
-        
-        IntBuffer ibuf = BufferUtil.newIntBuffer(1);
-        gl.glGenFramebuffersEXT(1, ibuf);
-        
-        int frameBufId = ibuf.get(0);
-        
-        //-------------------------------
-        //if framebuffer == 0, control reverts to main window
-        gl.glBindFramebufferEXT(GL.GL_FRAMEBUFFER_EXT, frameBufId);
-        
-        int texId = 0;
-        gl.glFramebufferTexture2DEXT(GL.GL_FRAMEBUFFER_EXT, 
-                GL.GL_COLOR_ATTACHMENT0_EXT,
-                GL.GL_TEXTURE_RECTANGLE_ARB,
-                texId,
-                0); //Mipmap level
-        
-        switch (gl.glCheckFramebufferStatusEXT(frameBufId))
-        {
-            case GL.GL_FRAMEBUFFER_COMPLETE_EXT:
-                //Ok
-                break;
-            case GL.GL_FRAMEBUFFER_UNSUPPORTED_EXT:
-                //Framebuffers not supported
-                break;
-            default:
-                //Handle error code
-                break;
-            /*
-            case GL.GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT:
-                //Framebuffers not supported
-                break;
-            case GL.GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT:
-                //Framebuffers not supported
-                break;
-            case GL.GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT:
-                //Framebuffers not supported
-                break;
-            case GL.GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT:
-                //Framebuffers not supported
-                break;
-            case GL.GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT:
-                //Framebuffers not supported
-                break;
-            case GL.GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT:
-                //Framebuffers not supported
-                break;
-            case GL.GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT:
-                //Framebuffers not supported
-                break;
-             */
-        }
-        
-        
-        //-------------------------------
-        ibuf.put(0, frameBufId);
-        gl.glDeleteFramebuffersEXT(1, ibuf);
-    }
-
-    public void display(GLAutoDrawable drawable)
-    {
-    }
-
-    public void reshape(GLAutoDrawable drawable, int i, int i0, int i1, int i2)
-    {
-    }
-
-    public void displayChanged(GLAutoDrawable drawable, boolean b, boolean b0)
-    {
-    }
-    
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/Program.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/Program.java
deleted file mode 100644
index 3ddea8f..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/Program.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Program.java
- *
- * Created on April 24, 2007, 8:57 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007;
-
-/**
- *
- * @author kitfox
- */
-abstract public class Program
-{
-    public Program()
-    {
-    }
-
-    abstract public String[] getFragmentStrings();
-
-    abstract public String[] getVertexStrings();
-    
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/ProgramInstance.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/ProgramInstance.java
deleted file mode 100644
index 43a5508..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/ProgramInstance.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * ProgramInstnace.java
- *
- * Created on April 24, 2007, 9:06 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Set;
-import javax.media.opengl.GL;
-
-/**
- *
- * @author kitfox
- */
-public class ProgramInstance
-{
-    HashMap<Integer, TexInput> inputs = new HashMap<Integer, TexInput>();
-    private TexOutput output = new TexOutput();
-    private int width;
-    private int height;
-    
-    private Program program;
-    
-    /** Creates a new instance of ProgramInstnace */
-    public ProgramInstance()
-    {
-    }
-    
-    public void addInput(int index, TexInput input)
-    {
-        inputs.put(index, input);
-    }
-    
-    public TexInput getInput(int index)
-    {
-        return inputs.get(index);
-    }
-    
-    public Set<Integer> getInputIndicies()
-    {
-        return Collections.unmodifiableSet(inputs.keySet());
-    }
-    
-    public int getWidth()
-    {
-        return width;
-    }
-    
-    public int getHeight()
-    {
-        return height;
-    }
-
-    public Program getProgram()
-    {
-        return program;
-    }
-
-    public void setProgram(Program program)
-    {
-        this.program = program;
-    }
-
-    public TexOutput getOutput()
-    {
-        return output;
-    }
-
-    void setupAttributes(GL gl, ShaderBuffer shaderBuffer)
-    {
-        throw new UnsupportedOperationException("Not yet implemented");
-    }
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/ShaderBuffer.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/ShaderBuffer.java
deleted file mode 100644
index 49c135e..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/ShaderBuffer.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * ShaderBuffer.java
- *
- * Created on April 23, 2007, 11:58 AM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007;
-
-import com.sun.opengl.util.BufferUtil;
-import java.lang.ref.WeakReference;
-import java.nio.ByteBuffer;
-import java.nio.IntBuffer;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.WeakHashMap;
-import javax.media.opengl.GL;
-import javax.media.opengl.GLAutoDrawable;
-import javax.media.opengl.GLCapabilities;
-import javax.media.opengl.GLDrawableFactory;
-import javax.media.opengl.GLEventListener;
-import javax.media.opengl.GLException;
-import javax.media.opengl.GLPbuffer;
-import javax.media.opengl.glu.GLU;
-
-/**
- *
- * @author kitfox
- */
-public class ShaderBuffer implements GLEventListener
-{
-    class TexInputInfo
-    {
-        final WeakReference<TexInput> ref;
-        final int glName;
-        
-        TexInputInfo(TexInput input, int glName)
-        {
-            this.ref = new WeakReference(input);
-            this.glName = glName;
-        }
-
-        public int getGlName()
-        {
-            return glName;
-        }
-        
-        public TexInput getTexInput()
-        {
-            return ref.get();
-        }
-    }
-    
-    class ProgramInfo
-    {
-        final WeakReference<Program> ref;
-        private final int glNameProg;
-        
-        ProgramInfo(Program program, int glNameProg)
-        {
-            this.ref = new WeakReference(program);
-            this.glNameProg = glNameProg;
-        }
-
-        public int getGlNameProg()
-        {
-            return glNameProg;
-        }
-        
-        public Program getProgram()
-        {
-            return ref.get();
-        }
-    }
-    
-    GLPbuffer pbuffer;
-    
-    WeakHashMap<TexInput, TexInputInfo> texInputMap = new WeakHashMap<TexInput, TexInputInfo>();
-    //Keep a hard pointer to each TexInputInfo
-    HashSet<TexInputInfo> texInfoCache = new HashSet<TexInputInfo>();
-    
-    WeakHashMap<Program, ProgramInfo> programMap = new WeakHashMap<Program, ProgramInfo>();
-    //Keep a hard pointer to each TexInputInfo
-    HashSet<ProgramInfo> progInfoCache = new HashSet<ProgramInfo>();
-    
-    LinkedList<ProgramInstance> progQueue = new LinkedList<ProgramInstance>();
-    
-    
-    /** Creates a new instance of ShaderBuffer */
-    public ShaderBuffer(GLAutoDrawable drawable)
-    {
-        initGL(drawable);
-    }
-    
-    
-    private void initGL(GLAutoDrawable drawable)
-    {
-        
-        GLCapabilities caps = new GLCapabilities();
-//        caps.setPbufferRenderToTexture(true);
-        caps.setDoubleBuffered(false);
-        if (!GLDrawableFactory.getFactory().canCreateGLPbuffer())
-        {
-            throw new GLException("Pbuffers not supported with this graphics card");
-        }
-        pbuffer = GLDrawableFactory.getFactory().createGLPbuffer(caps,
-                null,
-//                                                             getWidth(),
-//                                                             getHeight(),
-                256,
-                256,
-                drawable.getContext());
-        pbuffer.addGLEventListener(this);
-        
-//        canvas.display();
-        pbuffer.display();
-    }
-    
-//    public int addProgram(Program program)
-//    {
-//        int idx = programIdx++;
-//        programs.put(idx, program);
-//        return idx;
-//    }
-    
-    public void queueProgram(ProgramInstance program)
-    {
-        synchronized (progQueue)
-        {
-            int maxWidth = Math.max(program.getWidth(), pbuffer.getWidth());
-            int maxHeight = Math.max(program.getHeight(), pbuffer.getHeight());
-            if (maxWidth > pbuffer.getWidth() ||
-                    maxHeight > pbuffer.getHeight())
-            {
-                pbuffer.setSize(maxWidth, maxHeight);
-            }
-            
-            progQueue.addFirst(program);
-        }
-        //if (program
-    }
-    
-    public void runPrograms()
-    {
-        pbuffer.display();
-    }
-    
-//    public Program removeProgram(int index)
-//    {
-//        return programs.remove(index);
-//    }
-    
-    //--------------------------------
-    
-    public void init(GLAutoDrawable gLAutoDrawable)
-    {
-        System.err.println("Pbuffer init");
-
-        GL gl = gLAutoDrawable.getGL();
-        
-        gl.glClearColor(0, 0, 0, 0);
-        
-        gl.glMatrixMode(GL.GL_PROJECTION);
-        GLU glu = new GLU();
-        glu.gluOrtho2D(0, 1, 0, 1);
-
-        gl.glMatrixMode(GL.GL_MODELVIEW);
-    }
-    
-    public void display(GLAutoDrawable gLAutoDrawable)
-    {
-        GL gl = gLAutoDrawable.getGL();
-        
-        synchronized (progQueue)
-        {
-            while (!progQueue.isEmpty())
-            {
-                ProgramInstance programInst = progQueue.removeLast();
-                
-                for (Integer index: programInst.getInputIndicies())
-                {
-                    TexInput texInput = programInst.getInput(index);
-                    TexInputInfo info = texInputMap.get(texInput);
-                    if (info == null)
-                    {
-                        IntBuffer buf = BufferUtil.newIntBuffer(1);
-                        gl.glGenTextures(1, buf);
-                        int glName = buf.get(0);
-                        
-                        info = new TexInputInfo(texInput, glName);
-                        
-                        //Load texture data
-                        gl.glBindTexture(GL.GL_TEXTURE_2D, glName);
-//                        gl.glTexParameterIivEXT(
-                        gl.glTexImage2D(GL.GL_TEXTURE_1D, 0, GL.GL_RGBA,
-                                texInput.getWidthPow2(), texInput.getHeightPow2(),
-                                0, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE,
-                                texInput.getData());
-                        
-                        texInputMap.put(texInput, info);
-                        texInfoCache.add(info);
-                    }
-                }
-                
-                Program program = programInst.getProgram();
-                ProgramInfo progInfo = programMap.get(program);
-                if (progInfo == null)
-                {
-                    int vertId = gl.glCreateShader(GL.GL_VERTEX_SHADER);
-                    int fragId = gl.glCreateShader(GL.GL_FRAGMENT_SHADER);
-                    int progId = gl.glCreateProgram();
-                    
-                    String[] fragStrn = program.getFragmentStrings();
-                    IntBuffer lenFragBuf = BufferUtil.newIntBuffer(fragStrn.length);
-                    for (String strn: fragStrn)
-                    {
-                        lenFragBuf.put(strn.length());
-                    }
-                    gl.glShaderSource(fragId, fragStrn.length, fragStrn, lenFragBuf);
-                    gl.glCompileShader(vertId);
-                    
-                    String[] vertStrn = program.getVertexStrings();
-                    IntBuffer lenVertBuf = BufferUtil.newIntBuffer(vertStrn.length);
-                    for (String strn: vertStrn)
-                    {
-                        lenVertBuf.put(strn.length());
-                    }
-                    gl.glShaderSource(vertId, vertStrn.length, vertStrn, lenVertBuf);
-                    gl.glCompileShader(fragId);
-                    
-                    gl.glAttachObjectARB(progId, vertId);
-                    gl.glDeleteShader(vertId);
-                    gl.glAttachObjectARB(progId, fragId);
-                    gl.glDeleteShader(fragId);
-                    gl.glLinkProgram(progId);
-                    
-                    ProgramInfo programInfo = new ProgramInfo(program, progId);
-                    programMap.put(program, programInfo);
-                    progInfoCache.add(programInfo);
-                }
-                
-                gl.glClear(GL.GL_COLOR_BUFFER_BIT);
-                
-                programInst.setupAttributes(gl, this);
-                gl.glUseProgram(progInfo.getGlNameProg());
-                
-                TexOutput out = programInst.getOutput();
-                gl.glRectf(0, 0, (float)out.getTargetWidth() / pbuffer.getWidth(), (float)out.getTargetHeight() / pbuffer.getHeight());
-//                gl.glBegin(GL.GL_QUADS);
-//                {
-//                    gl.glVertex2f(0, 0);
-//                    gl.glVertex2f(1, 0);
-//                    gl.glVertex2f(1, 1);
-//                    gl.glVertex2f(0, 1);
-//                }
-//                gl.glEnd();
-                
-                ByteBuffer bytes = BufferUtil.newByteBuffer(out.getTargetWidth() * out.getTargetHeight() * 4);
-                
-                //Finally, read the pbuffer back into pixel buffer
-                gl.glReadPixels(0, 0, out.getTargetWidth(), out.getTargetHeight(), GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, bytes);
-            }
-
-
-        }
-        
-        
-        //Allocate new textures
-        //Deallocate removed textures
-        
-        
-    }
-    
-    public void reshape(GLAutoDrawable gLAutoDrawable, int i, int i0, int i1, int i2)
-    {
-    }
-    
-    public void displayChanged(GLAutoDrawable gLAutoDrawable, boolean b, boolean b0)
-    {
-    }
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/TexInput.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/TexInput.java
deleted file mode 100644
index 5b0554a..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/TexInput.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * TexInput.java
- *
- * Created on April 24, 2007, 11:55 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007;
-
-import java.awt.Rectangle;
-import java.nio.ByteBuffer;
-
-/**
- * Implementing classes provide data for images.
- * @author kitfox
- */
-public interface TexInput
-{
-    public Rectangle getImageRegion();
-    
-    public int getWidthPow2();
-    
-    public int getHeightPow2();
-    
-    /**
-     * Byte buffer of RGBA data that fills widthPow2 x heightPow2 rectangle
-     */
-    public ByteBuffer getData();
-    
-    public void addTexInputListener(TexInputListener listener);
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/TexInputDataChangedEvent.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/TexInputDataChangedEvent.java
deleted file mode 100644
index 8371f98..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/TexInputDataChangedEvent.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * TexInputDataChangedEvent.java
- *
- * Created on April 24, 2007, 11:50 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007;
-
-import java.awt.Rectangle;
-
-/**
- *
- * @author kitfox
- */
-public class TexInputDataChangedEvent extends TexInputEvent
-{
-    Rectangle region;
-    
-    /** Creates a new instance of TexInputDataChangedEvent */
-    public TexInputDataChangedEvent(TexInput source, Rectangle region)
-    {
-        super(source);
-        this.region = region;
-    }
-    
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/TexInputEvent.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/TexInputEvent.java
deleted file mode 100644
index 47aef2c..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/TexInputEvent.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * TexInputEvent.java
- *
- * Created on April 24, 2007, 11:31 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007;
-
-import java.util.EventObject;
-
-/**
- *
- * @author kitfox
- */
-public class TexInputEvent extends EventObject
-{
-    
-    /** Creates a new instance of TexInputEvent */
-    public TexInputEvent(TexInput source)
-    {
-        super(source);
-    }
-    
-    public TexInput getSource()
-    {
-        return (TexInput)super.getSource();
-    }
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/TexInputListener.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/TexInputListener.java
deleted file mode 100644
index 17f695b..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/TexInputListener.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * InputListener.java
- *
- * Created on April 24, 2007, 11:30 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007;
-
-import java.util.EventListener;
-
-/**
- *
- * @author kitfox
- */
-public interface TexInputListener extends EventListener
-{
-    public void textureResized();
-    public void textureDataChanged();
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/TexInputResizedEvent.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/TexInputResizedEvent.java
deleted file mode 100644
index 2023fa7..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/TexInputResizedEvent.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * TexInputDataChangedEvent.java
- *
- * Created on April 24, 2007, 11:50 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007;
-
-import java.awt.Rectangle;
-
-/**
- *
- * @author kitfox
- */
-public class TexInputResizedEvent extends TexInputEvent
-{
-    Rectangle region;
-    
-    /** Creates a new instance of TexInputDataChangedEvent */
-    public TexInputResizedEvent(TexInput source, Rectangle region)
-    {
-        super(source);
-        this.region = region;
-    }
-    
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/TexOutput.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/TexOutput.java
deleted file mode 100644
index 927d959..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/TexOutput.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * TexOutput.java
- *
- * Created on April 25, 2007, 12:06 AM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007;
-
-/**
- *
- * @author kitfox
- */
-public class TexOutput extends AbstractTexInput
-{
-    
-    /** Creates a new instance of TexOutput */
-    public TexOutput()
-    {
-    }
-
-    /**
-     * @return width of image in pixels that program output will be written to.
-     */
-    public int getTargetWidth()
-    {
-        return 0;
-    }
-
-    /**
-     * @return height of image in pixels that program output will be written to.
-     */
-    public int getTargetHeight()
-    {
-        return 0;
-    }
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/BufferedImageRaster.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/BufferedImageRaster.java
deleted file mode 100644
index d4edef9..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/BufferedImageRaster.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * IntermediateRaster.java
- *
- * Created on May 4, 2007, 8:36 AM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007.filter;
-
-import java.awt.Rectangle;
-import java.awt.image.WritableRaster;
-
-/**
- *
- * @author kitfox
- */
-public class BufferedImageRaster extends FilterImageRaster
-{
-    final WritableRaster backing;
-    
-//    Rectangle bounds;
-    
-    /** Creates a new instance of IntermediateRaster */
-    public BufferedImageRaster(WritableRaster backing)
-    {
-        this.backing = backing;
-//        this.bounds = bounds;
-    }
-
-    public Rectangle getRasterBounds()
-    {
-        return new Rectangle(0, 0, backing.getWidth(), backing.getHeight());
-    }
-    
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/Filter.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/Filter.java
deleted file mode 100644
index caba966..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/Filter.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Filter.java
- *
- * Created on May 3, 2007, 12:39 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007.filter;
-
-import java.awt.Rectangle;
-import java.awt.geom.Rectangle2D;
-import java.util.HashMap;
-import javax.media.opengl.GL;
-
-/**
- *
- * @author kitfox
- */
-public class Filter
-{
-    final FilterImageView viewOutput;
-    
-    //Program made up of a chain of filter primitives
-//    ArrayList<FilterPrimitive> primitives = new ArrayList<FilterPrimitive>();
-    final FilterPrimitive[] primitives;
-    final HashMap<Integer, FilterImageView> allocBufs;
-    
-    /** Creates a new instance of Filter */
-    public Filter(FilterPrimitive[] primitives, HashMap<Integer, FilterImageView> inputs, FilterImageView output)
-    {
-        this.primitives = primitives.clone();
-        
-        this.viewOutput = output;
-        FilterTransform coordSys = output.viewToRaster;
-        
-        if (!output.rasterConstainsView())
-        {
-            throw new IllegalArgumentException("View extends beyond raster");
-        }
-        
-        //Make sure backing rasters of all input images fit output resolution
-        for (Integer i: inputs.keySet())
-        {
-            if (i == 0)
-            {
-                throw new IllegalArgumentException("Register 0 is reserved for filter output");
-            }
-            
-            FilterImageView img = inputs.get(i);
-            if (!img.viewToRaster.equals(coordSys))
-            {
-                throw new IllegalArgumentException("Input image " + i + " has a different coordinate system than output filter");
-            }
-            
-            if (!img.rasterConstainsView())
-            {
-                throw new IllegalArgumentException("View of image " + i + " extends beyond raster");
-            }
-        }
-        
-        //Allocate temporary intermediate buffers
-        allocBufs = new HashMap<Integer, FilterImageView>();
-        allocBufs.putAll(inputs);
-        allocBufs.put(0, output);
-        for (FilterPrimitive prim: primitives)
-        {
-            int[] inputArr = prim.getRegInputs();
-            for (int i: inputArr)
-            {
-                if (!allocBufs.containsKey(i))
-                {
-                    throw new IllegalArgumentException("Could not find input for register " + i);
-                }
-            }
-
-            //Determine output size
-            FilterImageView[] inputImages = new FilterImageView[inputArr.length];
-            for (int i = 0; i < inputImages.length; i++)
-            {
-                inputImages[i] = allocBufs.get(i);
-            }
-            Rectangle2D.Float viewArea = prim.getOutputViewArea(output.viewArea, inputImages);
-            
-            //Register output of primitive
-            int outReg = prim.getRegOut();
-            FilterImageView in = allocBufs.get(outReg);
-            if (in != null)
-            {
-                //Check bounds
-                if (!in.contains(viewArea))
-                {
-                    throw new IllegalArgumentException();
-                }
-                //Currently assigned image is adequate
-            }
-            else
-            {
-                //Create new buffer
-                Rectangle rasterArea = new Rectangle();
-                coordSys.calcMinRaster(viewArea, rasterArea);
-                IntermediateRaster imgRas = new IntermediateRaster(rasterArea);
-                FilterImageView imgView = new FilterImageView(viewArea, coordSys, imgRas);
-                allocBufs.put(outReg, imgView);
-            }
-        }
-    }
-    
-    public void render(GL gl)
-    {
-        for (FilterPrimitive prim: primitives)
-        {
-            prim.run(gl, allocBufs);
-        }
-
-        
-    }
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterImageRaster.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterImageRaster.java
deleted file mode 100644
index b286dec..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterImageRaster.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * FilterImageRaster.java
- *
- * Created on May 4, 2007, 5:32 AM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007.filter;
-
-import java.awt.Rectangle;
-
-/**
- * An array of pixels that hold image data for filtering operations.
- *
- * @author kitfox
- */
-abstract public class FilterImageRaster
-{
-    /** Creates a new instance of FilterImageRaster */
-    public FilterImageRaster()
-    {
-    }
-    
-    abstract public Rectangle getRasterBounds();
-    
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterImageView.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterImageView.java
deleted file mode 100644
index a8a271e..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterImageView.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * FilterBuffer.java
- *
- * Created on May 4, 2007, 3:22 AM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007.filter;
-
-import java.awt.geom.Rectangle2D;
-
-/**
- * Represents a buffer that can hold intermediate image values calculated
- * in filter operations.
- *
- * @author kitfox
- */
-public class FilterImageView
-{
-    //Viewport area
-    Rectangle2D.Float viewArea;
-    
-    //Map viewport coordinates to raster space
-    FilterTransform viewToRaster;
-    
-    //Image data
-    FilterImageRaster backingRaster;
-    
-    /** Creates a new instance of FilterBuffer */
-    public FilterImageView()
-    {
-    }
-
-    public FilterImageView(Rectangle2D.Float viewArea, FilterTransform viewToRaster, FilterImageRaster backingRaster)
-    {
-        this.viewArea = viewArea;
-        this.viewToRaster = viewToRaster;
-        this.backingRaster = backingRaster;
-    }
-
-    boolean rasterConstainsView()
-    {
-        Rectangle2D.Float rasArea = (Rectangle2D.Float)viewArea.clone();
-        viewToRaster.transform(rasArea);
-        
-        return backingRaster.getRasterBounds().contains(rasArea);
-    }
-
-    boolean contains(Rectangle2D.Float viewArea)
-    {
-        return this.viewArea.contains(viewArea);
-    }
-    
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterPrimGaussianBlur.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterPrimGaussianBlur.java
deleted file mode 100644
index d663698..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterPrimGaussianBlur.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * FilterPrimTranslate.java
- *
- * Created on May 3, 2007, 2:50 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007.filter;
-
-import java.util.HashMap;
-import javax.media.opengl.GL;
-
-/**
- *
- * @author kitfox
- */
-public class FilterPrimGaussianBlur extends FilterPrimitive
-{
-    int[] registers = new int[1];
-    private int regOut;
-    
-    private float stdDeviation;
-    
-    /** Creates a new instance of FilterPrimTranslate */
-    public FilterPrimGaussianBlur()
-    {
-    }
-
-    public int[] getRegInputs()
-    {
-        return registers.clone();
-    }
-
-    public int getRegIn1()
-    {
-        return registers[0];
-    }
-
-    public void setRegIn1(int value)
-    {
-        registers[0] = value;
-    }
-    
-    public int getRegOut()
-    {
-        return regOut;
-    }
-
-    public void setRegOut(int regOut)
-    {
-        this.regOut = regOut;
-    }
-
-    public float getStdDeviation()
-    {
-        return stdDeviation;
-    }
-
-    public void setStdDeviation(float stdDeviation)
-    {
-        this.stdDeviation = stdDeviation;
-    }
-
-    void run(GL gl, HashMap<Integer, FilterImageView> allocBufs)
-    {
-    }
-    
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterPrimOffset.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterPrimOffset.java
deleted file mode 100644
index a77f89e..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterPrimOffset.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * FilterPrimTranslate.java
- *
- * Created on May 3, 2007, 2:50 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007.filter;
-
-import com.kitfox.javaone2007.filter.opengl.TextureLibrary;
-import java.awt.geom.Rectangle2D;
-import java.util.HashMap;
-import javax.media.opengl.GL;
-
-/**
- *
- * @author kitfox
- */
-public class FilterPrimOffset extends FilterPrimitive
-{
-    int[] registers = new int[1];
-    private int regOut;
-    
-    private float dx;
-    private float dy;
-    
-    /** Creates a new instance of FilterPrimTranslate */
-    public FilterPrimOffset()
-    {
-    }
-
-    public int[] getRegInputs()
-    {
-        return registers.clone();
-    }
-
-    public int getRegIn1()
-    {
-        return registers[0];
-    }
-
-    public void setRegIn1(int value)
-    {
-        registers[0] = value;
-    }
-    
-    public int getRegOut()
-    {
-        return regOut;
-    }
-
-    public void setRegOut(int regOut)
-    {
-        this.regOut = regOut;
-    }
-
-    public float getDx()
-    {
-        return dx;
-    }
-
-    public void setDx(float dx)
-    {
-        this.dx = dx;
-    }
-
-    public float getDy()
-    {
-        return dy;
-    }
-
-    public void setDy(float dy)
-    {
-        this.dy = dy;
-    }
-
-    void run(GL gl, HashMap<Integer, FilterImageView> allocBufs)
-    {
-        /*
-        FilterImageView viewSource = allocBufs.get(registers[0]);
-        FilterImageView viewDest = allocBufs.get(regOut);
-
-        FilterTransform filtXform = viewDest.viewToRaster;
-        
-        //Find drawing regions in raster space
-        Rectangle2D.Float rasterSrc = (Rectangle2D.Float)viewSource.viewArea.clone();
-        filtXform.transform(rasterSrc);
-        
-        Rectangle2D.Float rasterDest = (Rectangle2D.Float)viewDest.viewArea.clone();
-        filtXform.transform(rasterDest);
-        
-        
-        int program = TextureLibrary.getInstance().getProgramName();
-        gl.glUseProgramObjectARB(program);
-
-        int uniSource = gl.glGetUniformLocationARB(program, "source");
-        gl.glUniform1i(uniSource, 0);
-        int uniDest = gl.glGetUniformLocationARB(program, "dest");
-        gl.glUniform1i(uniDest, 1);
-        int uniSrcRegion = gl.glGetUniformLocationARB(program, "srcRegion");
-        gl.glUniform4f(uniSrcRegion, rasterSrc.x, rasterSrc.y, rasterSrc.width, rasterSrc.height);
-        int uniDestRegion = gl.glGetUniformLocationARB(program, "destRegion");
-        gl.glUniform4f(uniDestRegion, rasterDest.x, rasterDest.y, rasterDest.width, rasterDest.height);
-        int uniDx = gl.glGetUniformLocationARB(program, "dx");
-        gl.glUniform1f(uniDx, dx);
-        int uniDy = gl.glGetUniformLocationARB(program, "dy");
-        gl.glUniform1f(uniDx, dy);
-
-        
-        int srcId = TextureLibrary.getInstance().getTextureName(viewSource.backingRaster);
-        int destId = TextureLibrary.getInstance().getTextureName(viewDest.backingRaster);
-
-        gl.glActiveTexture(GL.GL_TEXTURE0);
-        gl.glEnable(GL.GL_TEXTURE_RECTANGLE_ARB);
-        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, srcId);
-//        gl.glTexParameteri(GL.GL_TEXTURE_RECTANGLE_ARB, GL.GL_TEXTURE_MIN_FILTER,GL.GL_NEAREST);
-//        gl.glTexParameteri(GL.GL_TEXTURE_RECTANGLE_ARB, GL.GL_TEXTURE_MAG_FILTER,GL.GL_NEAREST);
-
-        gl.glActiveTexture(GL.GL_TEXTURE1);
-        gl.glEnable(GL.GL_TEXTURE_RECTANGLE_ARB);
-        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, destId);
-//        gl.glTexParameteri(GL.GL_TEXTURE_RECTANGLE_ARB, GL.GL_TEXTURE_MIN_FILTER,GL.GL_NEAREST);
-//        gl.glTexParameteri(GL.GL_TEXTURE_RECTANGLE_ARB, GL.GL_TEXTURE_MAG_FILTER,GL.GL_NEAREST);
-        
-        gl.glColor3f(1, 1, 1);
-        gl.glBegin(GL.GL_QUADS);
-        {
-            gl.glTexCoord2f(0, 0);
-            gl.glVertex2f(0, 0);
-            gl.glTexCoord2f(raster.getWidth(), 0);
-            gl.glVertex2f(1, 0);
-            gl.glTexCoord2f(raster.getWidth(), raster.getHeight());
-            gl.glVertex2f(1, 1);
-            gl.glTexCoord2f(0, raster.getHeight());
-            gl.glVertex2f(0, 1);
-        }
-        gl.glEnd();
-        
-        gl.glUseProgram(0);
-        
-//        gl.glFlush();
-         */
-    }
-    
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterPrimitive.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterPrimitive.java
deleted file mode 100644
index f1edd17..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterPrimitive.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * FilterPrimitive.java
- *
- * Created on May 3, 2007, 2:38 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007.filter;
-
-import java.awt.geom.Rectangle2D;
-import java.util.HashMap;
-import javax.media.opengl.GL;
-
-/**
- * The concept of registers is borrowed from assembler code design to represent
- * intermediate states in image processing.  Each register can contain a 
- * PrimBuffer containing intermediate image data.  An input register provides
- * raster data for the calculation and an output register coresponds to the
- * filter destination.
- * 
- * Register 0 coresponds to the final output image.
- *
- * @author kitfox
- */
-abstract public class FilterPrimitive
-{
-    private Rectangle2D.Float preferredOutputViewArea;
-    
-    /** Creates a new instance of FilterPrimitive */
-    public FilterPrimitive()
-    {
-    }
-    
-    abstract public int[] getRegInputs();
-    
-    abstract public int getRegOut();
-    
-    public Rectangle2D.Float getOutputViewArea(Rectangle2D.Float clip, FilterImageView... inputs)
-    {
-        if (preferredOutputViewArea != null)
-        {
-            Rectangle2D.Float area = new Rectangle2D.Float();
-            Rectangle2D.Float.intersect(preferredOutputViewArea, clip, area);
-            return area;
-        }
-        
-        Rectangle2D.Float area = new Rectangle2D.Float();
-        for (FilterImageView view: inputs)
-        {
-            if (area == null)
-            {
-                area = (Rectangle2D.Float)view.viewArea.clone();
-            }
-            else
-            {
-                Rectangle2D.Float.union(view.viewArea, area, area);
-            }
-        }
-        if (area == null) return null;
-        Rectangle2D.Float.intersect(area, clip, area);
-        return area;
-    }
-
-    public Rectangle2D.Float getPreferredOutputViewArea()
-    {
-        return preferredOutputViewArea;
-    }
-
-    public void setPreferredOutputViewArea(Rectangle2D.Float preferredOutputViewArea)
-    {
-        this.preferredOutputViewArea = preferredOutputViewArea;
-    }
-
-    abstract void run(GL gl, HashMap<Integer, FilterImageView> allocBufs);
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterTransform.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterTransform.java
deleted file mode 100644
index 85519ca..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/FilterTransform.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Resolution.java
- *
- * Created on May 4, 2007, 5:47 AM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007.filter;
-
-import java.awt.Rectangle;
-import java.awt.geom.Rectangle2D;
-
-/**
- * Maps a viewArea to raster space
- *
- * @author kitfox
- */
-public class FilterTransform
-{
-    //Bounds to raster xform
-    float scaleX = 1;
-    float scaleY = 1;
-    float transX;
-    float transY;
-    
-    static final float EPSILON = .00001f;
-    
-    /** Creates a new instance of Resolution */
-    public FilterTransform()
-    {
-    }
-    
-//    public FilterTransform(Rectangle2D.Float viewArea, Rectangle rasterArea)
-//    {
-//        scaleX = rasterArea.width / viewArea.width;
-//        scaleY = rasterArea.height / viewArea.height;
-//        transX = -viewArea.x;
-//        transY = -viewArea.y;
-//    }
-    
-    public boolean equals(Object obj)
-    {
-        FilterTransform res = (FilterTransform)obj;
-        return res.scaleX == scaleX && res.scaleY == scaleY && res.transX == transX && res.transY == transY;
-    }
-
-    void transform(Rectangle2D.Float rasArea)
-    {
-        float x1 = rasArea.x;
-        float y1 = rasArea.y;
-        float x2 = rasArea.x + rasArea.width;
-        float y2 = rasArea.y + rasArea.height;
-        
-        x1 = x1 * scaleX + transX;
-        y1 = y1 * scaleY + transY;
-        x2 = x2 * scaleX + transX;
-        y2 = y2 * scaleY + transY;
-        
-        rasArea.x = x1;
-        rasArea.y = y1;
-        rasArea.width = x2 - x1;
-        rasArea.height = y2 - y1;
-    }
-
-    void calcMinRaster(Rectangle2D.Float viewArea, Rectangle rasterArea)
-    {
-        float x1 = (viewArea.x + transX) * scaleX;
-        float y1 = (viewArea.y + transY) * scaleY;
-        float x2 = x1 + viewArea.width * scaleX;
-        float y2 = y1 + viewArea.height * scaleY;
-
-        rasterArea.x = (int)x1;
-        rasterArea.y = (int)y1;
-        rasterArea.width = (int)x2 - (int)x1 + (isInteger(x2) ? 0 : 1);
-        rasterArea.height = (int)y2 - (int)y1 + (isInteger(y2) ? 0 : 1);
-        
-    }
-    
-    private boolean isInteger(float value)
-    {
-        return Math.abs(value - (int)value) < EPSILON;
-    }
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/IntermediateRaster.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/IntermediateRaster.java
deleted file mode 100644
index 3ea32bc..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/IntermediateRaster.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * IntermediateRaster.java
- *
- * Created on May 4, 2007, 8:36 AM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007.filter;
-
-import java.awt.Rectangle;
-
-/**
- *
- * @author kitfox
- */
-public class IntermediateRaster extends FilterImageRaster
-{
-    Rectangle bounds;
-    
-    /** Creates a new instance of IntermediateRaster */
-    public IntermediateRaster(Rectangle bounds)
-    {
-        this.bounds = bounds;
-    }
-
-    public Rectangle getRasterBounds()
-    {
-        return bounds;
-    }
-    
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/PrimBuffer.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/PrimBuffer.java
deleted file mode 100644
index 888fc74..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/PrimBuffer.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * PrimBuffer.java
- *
- * Created on May 3, 2007, 11:04 AM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007.filter;
-
-import java.awt.Dimension;
-import java.awt.geom.Point2D;
-import java.awt.geom.Rectangle2D;
-
-/**
- * Defines an intermediate raster in a chain of filter primitive operations.
- *
- * @author kitfox
- */
-public class PrimBuffer
-{
-    Rectangle2D.Float bounds = new Rectangle2D.Float();
-    Point2D.Float offset = new Point2D.Float();
-    Dimension rasterBounds;
-    
-    int glTexName;
-    
-//    boolean solidBlack;  //True if RGB chanels should be treated as if solid black
-//    boolean solidAlpha;  //True if alpha channel 
-    
-    /** Creates a new instance of PrimBuffer */
-    public PrimBuffer()
-    {
-    }
-    
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/opengl/ProgramLibrary.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/opengl/ProgramLibrary.java
deleted file mode 100644
index 1fa28b2..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/opengl/ProgramLibrary.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * TextureLibrary.java
- *
- * Created on May 4, 2007, 9:06 AM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007.filter.opengl;
-
-/**
- *
- * @author kitfox
- */
-public class ProgramLibrary
-{
-    static final ProgramLibrary singleton = new ProgramLibrary();
-    
-    /** Creates a new instance of TextureLibrary */
-    private ProgramLibrary()
-    {
-    }
-    
-    public static ProgramLibrary getInstance()
-    {
-        return singleton;
-    }
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/opengl/ProgramSource.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/opengl/ProgramSource.java
deleted file mode 100644
index fb4a05b..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/opengl/ProgramSource.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * ProgramSource.java
- *
- * Created on May 3, 2007, 11:13 AM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007.filter.opengl;
-
-import com.sun.opengl.util.BufferUtil;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.nio.IntBuffer;
-import java.util.ArrayList;
-import javax.media.opengl.GL;
-
-/**
- *
- * @author kitfox
- */
-public class ProgramSource
-{
-    public static enum Type { 
-        VERTEX
-        {
-            public int getGlType()
-            {
-                return GL.GL_VERTEX_SHADER;
-            }
-        }, 
-        FRAGMENT
-        {
-            public int getGlType()
-            {
-                return GL.GL_FRAGMENT_SHADER;
-            }
-        };
-        
-        abstract public int getGlType();
-    };
-    private final Type type;
-    private final URL source;
-    
-    /** Creates a new instance of ProgramSource */
-    public ProgramSource(Type type, URL source)
-    {
-        this.type = type;
-        this.source = source;
-    }
-
-    int load(GL gl) throws IOException
-    {
-        int shaderName = gl.glCreateShader(type.getGlType());
-        String[] lines = loadShader(source.openStream());
-        IntBuffer sizes = stringSizes(lines);
-        gl.glShaderSource(shaderName, lines.length, lines, sizes);
-        gl.glCompileShader(shaderName);
-        return shaderName;
-    }
-    
-    private String[] loadShader(InputStream is) throws IOException
-    {
-        InputStreamReader reader = new InputStreamReader(is);
-        
-        BufferedReader br = new BufferedReader(reader);
-     
-        ArrayList<String> lines = new ArrayList<String>();
-        for (String line = br.readLine(); line != null; line = br.readLine())
-        {
-            lines.add(line);
-        }
-        
-        return lines.toArray(new String[lines.size()]);
-    }
-
-    private IntBuffer stringSizes(String[] lines)
-    {
-        IntBuffer buf = BufferUtil.newIntBuffer(lines.length);
-        for (String line: lines)
-        {
-            buf.put(line.length());
-        }
-        buf.rewind();
-        return buf;
-    }
-
-    public Type getType()
-    {
-        return type;
-    }
-
-    public URL getSource()
-    {
-        return source;
-    }
-    
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/opengl/TextureLibrary.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/opengl/TextureLibrary.java
deleted file mode 100644
index 45c5ba8..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/filter/opengl/TextureLibrary.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * TextureLibrary.java
- *
- * Created on May 4, 2007, 9:06 AM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007.filter.opengl;
-
-/**
- *
- * @author kitfox
- */
-public class TextureLibrary
-{
-    static final TextureLibrary singleton = new TextureLibrary();
-    
-    /** Creates a new instance of TextureLibrary */
-    private TextureLibrary()
-    {
-    }
-    
-    public static TextureLibrary getInstance()
-    {
-        return singleton;
-    }
-}
diff --git a/java-one-2007/src/main/java/com/kitfox/javaone2007/programs/RedGreenFill.java b/java-one-2007/src/main/java/com/kitfox/javaone2007/programs/RedGreenFill.java
deleted file mode 100644
index b05b62c..0000000
--- a/java-one-2007/src/main/java/com/kitfox/javaone2007/programs/RedGreenFill.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * RedGreenFill.java
- *
- * Created on April 25, 2007, 12:29 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package com.kitfox.javaone2007.programs;
-
-import com.kitfox.javaone2007.Program;
-
-/**
- *
- * @author kitfox
- */
-public class RedGreenFill extends Program
-{
-    
-    /** Creates a new instance of RedGreenFill */
-    public RedGreenFill()
-    {
-    }
-
-    public String[] getFragmentStrings()
-    {
-        return null;
-    }
-
-    public String[] getVertexStrings()
-    {
-        return null;
-    }
-    
-}
diff --git a/java-one-2007/src/main/res/com/kitfox/javaone2007/program/redGreen.frag b/java-one-2007/src/main/res/com/kitfox/javaone2007/program/redGreen.frag
deleted file mode 100644
index 86b3f26..0000000
--- a/java-one-2007/src/main/res/com/kitfox/javaone2007/program/redGreen.frag
+++ /dev/null
@@ -1,6 +0,0 @@
-varying vec2 coordPos;
-
-void main(void)
-{
-    
-}
\ No newline at end of file
diff --git a/java-one-2007/src/main/res/com/kitfox/javaone2007/program/redGreen.vert b/java-one-2007/src/main/res/com/kitfox/javaone2007/program/redGreen.vert
deleted file mode 100644
index c1f7dd4..0000000
--- a/java-one-2007/src/main/res/com/kitfox/javaone2007/program/redGreen.vert
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-uniform vec2 origin;
-uniform vec2 size;
-*/
-
-varying vec2 coordPos;
-
-void main(void)
-{
-    coordPos = gl_Vertex.xy;
-    gl_Position = fTransform();
-}
\ No newline at end of file
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/blur/BlurFrame.form b/java-one-2007/src/test/java/com/kitfox/javaone2007/blur/BlurFrame.form
deleted file mode 100644
index 1915bdf..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/blur/BlurFrame.form
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
-  <Properties>
-    <Property name="defaultCloseOperation" type="int" value="3"/>
-  </Properties>
-  <SyntheticProperties>
-    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
-  </SyntheticProperties>
-  <AuxValues>
-    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
-    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
-    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-    <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
-  </AuxValues>
-
-  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
-</Form>
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/blur/BlurFrame.java b/java-one-2007/src/test/java/com/kitfox/javaone2007/blur/BlurFrame.java
deleted file mode 100644
index cd14ab5..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/blur/BlurFrame.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * TexRectangleFrame.java
- *
- * Created on April 25, 2007, 8:26 PM
- */
-
-package com.kitfox.javaone2007.blur;
-
-import com.kitfox.javaone2007.texRectangle.TexRectanglePanel;
-import java.awt.BorderLayout;
-
-/**
- *
- * @author  kitfox
- */
-public class BlurFrame extends javax.swing.JFrame
-{
-    BlurPanel panel = new BlurPanel();
-    
-    /** Creates new form TexRectangleFrame */
-    public BlurFrame()
-    {
-        initComponents();
-        
-        getContentPane().add(panel, BorderLayout.CENTER);
-        
-        setSize(640, 480);
-    }
-    
-    /** This method is called from within the constructor to
-     * initialize the form.
-     * WARNING: Do NOT modify this code. The content of this method is
-     * always regenerated by the Form Editor.
-     */
-    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
-    private void initComponents()
-    {
-
-        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
-        pack();
-    }// </editor-fold>//GEN-END:initComponents
-    
-    /**
-     * @param args the command line arguments
-     */
-    public static void main(String args[])
-    {
-        java.awt.EventQueue.invokeLater(new Runnable()
-        {
-            public void run()
-            {
-                new BlurFrame().setVisible(true);
-            }
-        });
-    }
-    
-    // Variables declaration - do not modify//GEN-BEGIN:variables
-    // End of variables declaration//GEN-END:variables
-    
-}
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/blur/BlurPanel.form b/java-one-2007/src/test/java/com/kitfox/javaone2007/blur/BlurPanel.form
deleted file mode 100644
index 4c80dfb..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/blur/BlurPanel.form
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
-  <AuxValues>
-    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
-    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
-    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-    <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
-  </AuxValues>
-
-  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
-</Form>
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/blur/BlurPanel.java b/java-one-2007/src/test/java/com/kitfox/javaone2007/blur/BlurPanel.java
deleted file mode 100644
index 292440f..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/blur/BlurPanel.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * TexRectanglePanel.java
- *
- * Created on April 25, 2007, 8:59 PM
- */
-
-package com.kitfox.javaone2007.blur;
-
-import com.sun.opengl.util.BufferUtil;
-import java.awt.BorderLayout;
-import java.awt.image.BufferedImage;
-import java.awt.image.WritableRaster;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.nio.ByteBuffer;
-import java.nio.IntBuffer;
-import java.util.ArrayList;
-import javax.imageio.ImageIO;
-import javax.media.opengl.GL;
-import javax.media.opengl.GLAutoDrawable;
-import javax.media.opengl.GLCanvas;
-import javax.media.opengl.GLCapabilities;
-import javax.media.opengl.GLEventListener;
-
-/**
- *
- * @author  kitfox
- */
-public class BlurPanel extends javax.swing.JPanel implements GLEventListener
-{
-    private GLCanvas canvas;
-    
-    int texId;
-    ByteBuffer imgData;
-    WritableRaster raster;
-
-    int program;
-    
-    /** Creates new form TexRectanglePanel */
-    public BlurPanel()
-    {
-        initComponents();
-        
-    }
-    
-    public void addNotify()
-    {
-        super.addNotify();
-        canvas = new GLCanvas(new GLCapabilities());
-        canvas.addGLEventListener(this);
-        
-        add(canvas, BorderLayout.CENTER);
-    }
-    
-
-    public void init(GLAutoDrawable gLAutoDrawable)
-    {
-        GL gl = gLAutoDrawable.getGL();
-        
-        gl.glClearColor(0, 0, 0, 0);
-        
-        gl.glMatrixMode(GL.GL_PROJECTION);
-        {
-            gl.glLoadIdentity();
-            gl.glOrtho(0, 1, 0, 1, -1, 1);
-        }
-        gl.glMatrixMode(GL.GL_MODELVIEW);
-
-        //-------------------------------------------
-        try
-        {
-            URL url = getClass().getResource("/com/kitfox/javaone2007/abc_alpha.png");
-            BufferedImage img = ImageIO.read(url);
-            
-            raster = img.getRaster();
-            
-            imgData = BufferUtil.newByteBuffer(raster.getWidth() * raster.getHeight() * 4);
-            for (int j = raster.getHeight() - 1; j >= 0; j--)
-            {
-                for (int i = 0; i < raster.getWidth(); i++)
-                {
-                    imgData.put((byte)raster.getSample(i, j, 0));
-                    imgData.put((byte)raster.getSample(i, j, 1));
-                    imgData.put((byte)raster.getSample(i, j, 2));
-                    imgData.put((byte)raster.getSample(i, j, 3));
-                }
-            }
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-            return;
-        }
-
-        
-        //-----------------------------------------------
-        IntBuffer texBuf = BufferUtil.newIntBuffer(1);
-        gl.glGenTextures(1, texBuf);
-        texId = texBuf.get(0);
-        imgData.rewind();
-        
-//        gl.glClientActiveTexture(GL.GL_TEXTURE0);
-
-        gl.glEnable(GL.GL_TEXTURE_RECTANGLE_ARB);
-        gl.glActiveTexture(GL.GL_TEXTURE0);
-        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, texId);
-        gl.glTexImage2D(GL.GL_TEXTURE_RECTANGLE_ARB, 0, GL.GL_RGBA, 
-                raster.getWidth(), raster.getHeight(), 
-                0, GL.GL_RGBA, 
-                GL.GL_UNSIGNED_BYTE, imgData);
-        
-        gl.glTexParameteri(GL.GL_TEXTURE_RECTANGLE_ARB, GL.GL_TEXTURE_MIN_FILTER,GL.GL_NEAREST);
-        gl.glTexParameteri(GL.GL_TEXTURE_RECTANGLE_ARB, GL.GL_TEXTURE_MAG_FILTER,GL.GL_NEAREST);
-        
-//        gl.glTexEnvf(GL.GL_TEXTURE_ENV, GL.GL_TEXTURE_ENV_MODE, GL.GL_REPLACE);
-        gl.glEnable(GL.GL_BLEND);
-        gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-//        gl.glShadeModel(GL.GL_FLAT);
-        
-        //----------------------------------------------
-        // Build shaders
-        String[] lines;
-        IntBuffer sizes;
-        try
-        {
-            int vertShad = gl.glCreateShader(GL.GL_VERTEX_SHADER);
-            lines = loadShader(getClass().getResource("/com/kitfox/javaone2007/shader/filter.vert").openStream());
-            sizes = stringSizes(lines);
-            gl.glShaderSource(vertShad, lines.length, lines, sizes);
-            gl.glCompileShader(vertShad);
-            System.err.println("***" + getLog(gl, vertShad));
-
-            int fragShad = gl.glCreateShader(GL.GL_FRAGMENT_SHADER);
-            lines = loadShader(getClass().getResource("/com/kitfox/javaone2007/shader/seperableSymmetricKernel.frag").openStream());
-            sizes = stringSizes(lines);
-            gl.glShaderSource(fragShad, lines.length, lines, sizes);
-            gl.glCompileShader(fragShad);
-            System.err.println("***" + getLog(gl, fragShad));
-
-            
-            program = gl.glCreateProgram();
-            gl.glAttachShader(program, vertShad);
-            gl.glAttachShader(program, fragShad);
-//            gl.glAttachObjectARB(program, vertShad);
-//            gl.glAttachObjectARB(program, fragShad);
-            gl.glLinkProgram(program);
-            
-            //Check log
-            System.err.println("***" + getLog(gl, program));
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-            return;
-        }
-        
-    }
-    
-    public String getLog(GL gl, int handle)
-    {
-        IntBuffer ibuf = BufferUtil.newIntBuffer(1);
-        gl.glGetObjectParameterivARB(handle, GL.GL_OBJECT_INFO_LOG_LENGTH_ARB, ibuf);
-        int len = ibuf.get(0);
-        if (len == 0) return "";
-        
-        ibuf.rewind();
-        ByteBuffer bbuf = BufferUtil.newByteBuffer(len);
-        gl.glGetInfoLogARB(program, len, ibuf, bbuf);
-        
-        bbuf.rewind();
-        byte[] bytes = new byte[ibuf.get(0)];
-        bbuf.get(bytes);
-        return new String(bytes);
-    }
-    
-    public void display(GLAutoDrawable gLAutoDrawable)
-    {
-        GL gl = gLAutoDrawable.getGL();
-        
-        float[] kernel = buildGaussianKernel(3, new float[5]);
-        
-        gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-        
-        gl.glUseProgramObjectARB(program);
-        int sourceMapId = gl.glGetUniformLocationARB(program, "source");
-        gl.glUniform1i(sourceMapId, 0);
-        
-        gl.glUniform1fv(
-                gl.glGetUniformLocationARB(program, "kernelX"),
-                kernel.length,
-                kernel,
-                0);
-//        gl.glUniform1i(
-//                gl.glGetUniformLocationARB(program, "kernelSizeX"),
-//                kernel.length);
-        gl.glUniform1fv(
-                gl.glGetUniformLocationARB(program, "kernelY"),
-                kernel.length,
-                kernel,
-                0);
-//        gl.glUniform1i(
-//                gl.glGetUniformLocationARB(program, "kernelSizeY"),
-//                kernel.length);
-        
-        gl.glActiveTexture(GL.GL_TEXTURE0);
-        gl.glEnable(GL.GL_TEXTURE_RECTANGLE_ARB);
-        
-        gl.glColor3f(1, 1, 1);
-        gl.glBegin(GL.GL_QUADS);
-        {
-            gl.glTexCoord2f(0, 0);
-            gl.glVertex2f(0, 0);
-            gl.glTexCoord2f(raster.getWidth(), 0);
-            gl.glVertex2f(1, 0);
-            gl.glTexCoord2f(raster.getWidth(), raster.getHeight());
-            gl.glVertex2f(1, 1);
-            gl.glTexCoord2f(0, raster.getHeight());
-            gl.glVertex2f(0, 1);
-        }
-        gl.glEnd();
-        
-        gl.glUseProgram(0);
-        
-        gl.glFlush();
-    }
-
-    public void reshape(GLAutoDrawable gLAutoDrawable, int i, int i0, int i1, int i2)
-    {
-    }
-
-    public void displayChanged(GLAutoDrawable gLAutoDrawable, boolean b, boolean b0)
-    {
-    }
-    
-    public String[] loadShader(InputStream is) throws IOException
-    {
-        InputStreamReader reader = new InputStreamReader(is);
-        
-        BufferedReader br = new BufferedReader(reader);
-     
-        ArrayList<String> lines = new ArrayList<String>();
-        for (String line = br.readLine(); line != null; line = br.readLine())
-        {
-            lines.add(line);
-        }
-        
-        return lines.toArray(new String[lines.size()]);
-    }
-
-    private IntBuffer stringSizes(String[] lines)
-    {
-        IntBuffer buf = BufferUtil.newIntBuffer(lines.length);
-        for (String line: lines)
-        {
-            buf.put(line.length());
-        }
-        buf.rewind();
-        return buf;
-    }
-    
-    public float[] buildGaussianKernel(float stdDev, float[] retArr)
-    {
-        float ss2 = 2 * stdDev * stdDev;
-        double scalar = 1 / Math.sqrt(ss2 * Math.PI);
-        double ss2Inv = 1 / ss2;
-        for (int i = 0; i < retArr.length; i++)
-        {
-            retArr[i] = (float)(Math.exp(-i * i * ss2Inv) * scalar);
-        }
-        
-        return retArr;
-    }
-    
-    /** This method is called from within the constructor to
-     * initialize the form.
-     * WARNING: Do NOT modify this code. The content of this method is
-     * always regenerated by the Form Editor.
-     */
-    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
-    private void initComponents()
-    {
-
-        setLayout(new java.awt.BorderLayout());
-
-    }// </editor-fold>//GEN-END:initComponents
-    
-    
-    // Variables declaration - do not modify//GEN-BEGIN:variables
-    // End of variables declaration//GEN-END:variables
-    
-}
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/frameBufferObject/FBOFrame.form b/java-one-2007/src/test/java/com/kitfox/javaone2007/frameBufferObject/FBOFrame.form
deleted file mode 100644
index 1915bdf..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/frameBufferObject/FBOFrame.form
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
-  <Properties>
-    <Property name="defaultCloseOperation" type="int" value="3"/>
-  </Properties>
-  <SyntheticProperties>
-    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
-  </SyntheticProperties>
-  <AuxValues>
-    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
-    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
-    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-    <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
-  </AuxValues>
-
-  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
-</Form>
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/frameBufferObject/FBOPanel.form b/java-one-2007/src/test/java/com/kitfox/javaone2007/frameBufferObject/FBOPanel.form
deleted file mode 100644
index 4c80dfb..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/frameBufferObject/FBOPanel.form
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
-  <AuxValues>
-    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
-    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
-    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-    <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
-  </AuxValues>
-
-  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
-</Form>
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/frameBufferObject/FBOPanel.java b/java-one-2007/src/test/java/com/kitfox/javaone2007/frameBufferObject/FBOPanel.java
deleted file mode 100644
index 613da62..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/frameBufferObject/FBOPanel.java
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * TexRectanglePanel.java
- *
- * Created on April 25, 2007, 8:59 PM
- */
-
-package com.kitfox.javaone2007.frameBufferObject;
-
-import com.sun.opengl.util.BufferUtil;
-import com.sun.opengl.util.GLUT;
-import java.awt.BorderLayout;
-import java.awt.image.BufferedImage;
-import java.awt.image.WritableRaster;
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.nio.ByteBuffer;
-import java.nio.IntBuffer;
-import javax.imageio.ImageIO;
-import javax.media.opengl.GL;
-import javax.media.opengl.GLAutoDrawable;
-import javax.media.opengl.GLCanvas;
-import javax.media.opengl.GLCapabilities;
-import javax.media.opengl.GLEventListener;
-import javax.media.opengl.glu.GLU;
-
-/**
- *
- * @author  kitfox
- */
-public class FBOPanel extends javax.swing.JPanel implements GLEventListener
-{
-    private GLCanvas canvas;
-    
-//    ByteBuffer imgData;
-//    WritableRaster raster;
-    
-    int frameBufferId;
-    int depthId;
-    int texId;
-    
-    int destWidth = 640;
-    int destHeight = 480;
-    
-    /** Creates new form TexRectanglePanel */
-    public FBOPanel()
-    {
-        initComponents();
-        
-    }
-    
-    public void addNotify()
-    {
-        super.addNotify();
-        canvas = new GLCanvas(new GLCapabilities());
-        canvas.addGLEventListener(this);
-        
-        add(canvas, BorderLayout.CENTER);
-    }
-    
-
-    public void init(GLAutoDrawable gLAutoDrawable)
-    {
-        GL gl = gLAutoDrawable.getGL();
-
-        //Load 
-        gl.glEnable(GL.GL_TEXTURE_RECTANGLE_ARB);
-        
-        //-----------------------------------------------
-        IntBuffer ibuf = BufferUtil.newIntBuffer(1);
-        
-        gl.glGenFramebuffersEXT(1, ibuf);
-        frameBufferId = ibuf.get(0);
-        ibuf.rewind();
-        gl.glBindFramebufferEXT(GL.GL_FRAMEBUFFER_EXT, frameBufferId);
-        
-//        gl.glGenRenderbuffersEXT(1, ibuf);
-//        depthId = ibuf.get(0);
-//        ibuf.rewind();
-//        gl.glBindRenderbufferEXT(GL.GL_RENDERBUFFER_EXT, depthId);
-//        gl.glRenderbufferStorageEXT(GL.GL_RENDERBUFFER_EXT, GL.GL_DEPTH_COMPONENT,
-//                destWidth, destHeight);
-        
-        gl.glGenTextures(1, ibuf);
-        texId = ibuf.get(0);
-        ibuf.rewind();
-        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, texId);
-        ByteBuffer imgData = BufferUtil.newByteBuffer(destWidth * destHeight * 4);
-        gl.glTexImage2D(GL.GL_TEXTURE_RECTANGLE_ARB, 0, GL.GL_RGBA, 
-                destWidth, destHeight, 
-                0, GL.GL_RGBA, 
-//                GL.GL_UNSIGNED_BYTE, 0);
-                GL.GL_UNSIGNED_BYTE, imgData);
-        
-        //Attach texture back buffer
-        gl.glFramebufferTexture2DEXT(GL.GL_FRAMEBUFFER_EXT, 
-                GL.GL_COLOR_ATTACHMENT0_EXT, GL.GL_TEXTURE_RECTANGLE_ARB, texId, 0);
-        
-
-//        gl.glFramebufferRenderbufferEXT(GL.GL_FRAMEBUFFER_EXT, 
-//                GL.GL_DEPTH_ATTACHMENT_EXT, GL.GL_RENDERBUFFER_EXT, depthId);
-        
-        
-        
-        //Create empty texture
-        
-        int status = gl.glCheckFramebufferStatusEXT (GL.GL_FRAMEBUFFER_EXT);
-        switch (status)
-        {
-        case GL.GL_FRAMEBUFFER_COMPLETE_EXT:
-                System.out.println("FrameBuffer Created");
-            break;
-        case GL.GL_FRAMEBUFFER_UNSUPPORTED_EXT:
-            System.out.println("FBO configuration unsupported");
-            break;
-        default:
-            System.out.println( "FBO programmer error" );
-            break;
-        }        
-
-	gl.glBindFramebufferEXT(GL.GL_FRAMEBUFFER_EXT, 0);	// Unbind the FBO for now
-
-        initAbc(gl);
-    }
-    
-    int texAbcId;
-    int texAbcWidth;
-    int texAbcHeight;
-    
-    public void initAbc(GL gl)
-    {
-        WritableRaster raster;
-        ByteBuffer imgData;
-        try
-        {
-            URL url = getClass().getResource("/com/kitfox/javaone2007/abc.png");
-            BufferedImage img = ImageIO.read(url);
-            
-            raster = img.getRaster();
-            
-            imgData = BufferUtil.newByteBuffer(raster.getWidth() * raster.getHeight() * 4);
-            for (int j = raster.getHeight() - 1; j >= 0; j--)
-            {
-                for (int i = 0; i < raster.getWidth(); i++)
-                {
-                    imgData.put((byte)raster.getSample(i, j, 0));
-                    imgData.put((byte)raster.getSample(i, j, 1));
-                    imgData.put((byte)raster.getSample(i, j, 2));
-                    imgData.put((byte)raster.getSample(i, j, 3));
-                }
-            }
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-            return;
-        }
-        
-        IntBuffer texBuf = BufferUtil.newIntBuffer(1);
-        gl.glGenTextures(1, texBuf);
-        texAbcId = texBuf.get(0);
-        imgData.rewind();
-        texAbcWidth = raster.getWidth();
-        texAbcHeight = raster.getHeight();
-        
-        gl.glEnable(GL.GL_TEXTURE_RECTANGLE_ARB);
-        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, texAbcId);
-        gl.glTexImage2D(GL.GL_TEXTURE_RECTANGLE_ARB, 0, GL.GL_RGBA, 
-                texAbcWidth, texAbcHeight, 
-                0, GL.GL_RGBA, 
-                GL.GL_UNSIGNED_BYTE, imgData);
-        
-//        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, 0);
-    }
-
-    public void display(GLAutoDrawable gLAutoDrawable)
-    {
-        GL gl = gLAutoDrawable.getGL();
-        
-//        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, 0);
-        gl.glBindFramebufferEXT(GL.GL_FRAMEBUFFER_EXT, frameBufferId);
-//        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, texId);
-        gl.glPushAttrib(GL.GL_ALL_ATTRIB_BITS);
-
-        
-        gl.glViewport(0, 0, destWidth, destHeight);
-        
-gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
-//        gl.glClearColor(0, 0, 0, 0);
-//        gl.glClearColor(1, 1, 1, 1);
-//        gl.glClearColor(1, 1, 0, 1);
-        gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-
-        
-        gl.glEnable(GL.GL_BLEND);
-        gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-//gl.glShadeModel(GL.GL_SMOOTH);
-//gl.glClearDepth(1.0f);					
-//gl.glEnable(GL.GL_DEPTH_TEST);			
-//gl.glDepthFunc(GL.GL_LEQUAL);				
-  
-        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, 0);
-//        gl.glTexEnvi(GL.GL_TEXTURE_ENV, GL.GL_TEXTURE_ENV_MODE, GL.GL_DECAL);
-//        gl.glTexEnvi(GL.GL_TEXTURE_ENV, GL.GL_TEXTURE_ENV_MODE, GL.GL_REPLACE);
-//        gl.glTexEnvi(GL.GL_TEXTURE_ENV, GL.GL_TEXTURE_ENV_MODE, GL.GL_MODULATE);
-//        gl.glTexEnvi(GL.GL_TEXTURE_ENV, GL.GL_TEXTURE_ENV_MODE, GL.GL_BLEND);
-        
-
-        
-        
-//        gl.glEnable(GL.GL_BLEND);
-//        gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-//        gl.glBlendFunc(GL.GL_SRC_COLOR, GL.GL_ZERO);
-//        gl.glBlendFunc(GL.GL_ZERO, GL.GL_DST_COLOR);
-//        gl.glShadeModel(GL.GL_FLAT);
-        
-        
-        
-        gl.glMatrixMode(GL.GL_PROJECTION);
-        {
-            gl.glLoadIdentity();
-            gl.glFrustum(-1, 1, -1, 1, 1.5, 20);
-//            gl.glOrtho(0, 1, 0, 1, -1, 1);
-        }
-        gl.glMatrixMode(GL.GL_MODELVIEW);
-        
-        /*
-        gl.glColor3f(0, 0, 1);
-        gl.glBegin(GL.GL_POLYGON);
-        {
-//            gl.glVertex3f(-1, -1, 0);
-//            gl.glVertex3f(1, -1, 0);
-//            gl.glVertex3f(1, 1, 0);
-//            gl.glVertex3f(-1, 1, 0);
-            gl.glVertex3f(.25f, .25f, 0);
-            gl.glVertex3f(.75f, .25f, 0);
-            gl.glVertex3f(.75f, .75f, 0);
-            gl.glVertex3f(.25f, .75f, 0);
-        }
-        gl.glEnd();
-         */
-        gl.glColor3f(0, 1, 1);
-        gl.glLoadIdentity();
-        
-        GLU glu = new GLU();
-        glu.gluLookAt(0, 0, 5, 0, 0, 0, 0, 1, 0);
-        gl.glScalef(1.0f, 2.0f, 1.0f);
-        GLUT glut = new GLUT();
-        glut.glutWireCube(1);
-//        glut.glutSolidCube(1);
-         
-        
-        //-----------------------
-        // Draw rasters
-        gl.glMatrixMode(GL.GL_PROJECTION);
-        {
-            gl.glLoadIdentity();
-            gl.glOrtho(0, 1, 0, 1, -1, 1);
-        }
-        gl.glMatrixMode(GL.GL_MODELVIEW);
-            gl.glLoadIdentity();
-
-        gl.glTexEnvf(GL.GL_TEXTURE_ENV, GL.GL_TEXTURE_ENV_MODE, GL.GL_REPLACE);
-        gl.glEnable(GL.GL_BLEND);
-        gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-        gl.glShadeModel(GL.GL_FLAT);
-
-        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, texAbcId);
-        
-        gl.glColor3f(1, 1, 1);
-        gl.glBegin(GL.GL_QUADS);
-        {
-            gl.glTexCoord2f(0, 0);
-            gl.glVertex2f(0, 0);
-            gl.glTexCoord2f(texAbcWidth, 0);
-            gl.glVertex2f(.5f, 0);
-            gl.glTexCoord2f(texAbcWidth, texAbcHeight);
-            gl.glVertex2f(.5f, .5f);
-            gl.glTexCoord2f(0, texAbcHeight);
-            gl.glVertex2f(0, .5f);
-        }
-        gl.glEnd();
-        
-        /*
-        gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-        
-        gl.glColor3f(1, 1, 1);
-        gl.glBegin(GL.GL_QUADS);
-        {
-            gl.glTexCoord2f(0, 0);
-            gl.glVertex2f(0, 0);
-            gl.glTexCoord2f(raster.getWidth(), 0);
-            gl.glVertex2f(1, 0);
-            gl.glTexCoord2f(raster.getWidth(), raster.getHeight());
-            gl.glVertex2f(1, 1);
-            gl.glTexCoord2f(0, raster.getHeight());
-            gl.glVertex2f(0, 1);
-        }
-        gl.glEnd();
-        */
-        
-        gl.glFlush();
-
-        gl.glPopAttrib();
-        gl.glBindFramebufferEXT(GL.GL_FRAMEBUFFER_EXT, 0);
-        
-        //Save image
-        ByteBuffer imgData = BufferUtil.newByteBuffer(destWidth * destHeight * 4);
-        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, texId);
-        gl.glGetTexImage(GL.GL_TEXTURE_RECTANGLE_ARB, 
-                0, //Mipmap level
-                GL.GL_RGBA, GL.GL_UNSIGNED_BYTE,
-                imgData);
-        
-        BufferedImage img = new BufferedImage(destWidth, destHeight, BufferedImage.TYPE_INT_ARGB);
-        imgData.rewind();
-        WritableRaster raster = img.getRaster();
-        for (int j = raster.getHeight() - 1; j >= 0; j--)
-        {
-            for (int i = 0; i < raster.getWidth(); i++)
-            {
-                raster.setSample(i, j, 0, imgData.get());
-                raster.setSample(i, j, 1, imgData.get());
-                raster.setSample(i, j, 2, imgData.get());
-                raster.setSample(i, j, 3, imgData.get());
-            }
-        }
-
-        try
-        {
-            ImageIO.write(img, "png", new File("fboImage.png"));
-        } 
-        catch (IOException ex)
-        {
-            ex.printStackTrace();
-        }
-        
-        gl = gl;
-        
-        /*
-        //-------------------------------------------
-        try
-        {
-            URL url = getClass().getResource("/com/kitfox/javaone2007/abc.png");
-            BufferedImage img = ImageIO.read(url);
-            
-            raster = img.getRaster();
-            
-            imgData = BufferUtil.newByteBuffer(raster.getWidth() * raster.getHeight() * 4);
-            for (int j = raster.getHeight() - 1; j >= 0; j--)
-            {
-                for (int i = 0; i < raster.getWidth(); i++)
-                {
-                    imgData.put((byte)raster.getSample(i, j, 0));
-                    imgData.put((byte)raster.getSample(i, j, 1));
-                    imgData.put((byte)raster.getSample(i, j, 2));
-                    imgData.put((byte)raster.getSample(i, j, 3));
-                }
-            }
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-            return;
-        }
-
-        imgData.rewind();
-        
-         */
-    }
-
-    public void reshape(GLAutoDrawable gLAutoDrawable, int i, int i0, int i1, int i2)
-    {
-    }
-
-    public void displayChanged(GLAutoDrawable gLAutoDrawable, boolean b, boolean b0)
-    {
-    }
-    
-    /** This method is called from within the constructor to
-     * initialize the form.
-     * WARNING: Do NOT modify this code. The content of this method is
-     * always regenerated by the Form Editor.
-     */
-    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
-    private void initComponents()
-    {
-
-        setLayout(new java.awt.BorderLayout());
-
-    }// </editor-fold>//GEN-END:initComponents
-    
-    
-    // Variables declaration - do not modify//GEN-BEGIN:variables
-    // End of variables declaration//GEN-END:variables
-    
-}
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/normal/NormalFrame.form b/java-one-2007/src/test/java/com/kitfox/javaone2007/normal/NormalFrame.form
deleted file mode 100644
index 1915bdf..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/normal/NormalFrame.form
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
-  <Properties>
-    <Property name="defaultCloseOperation" type="int" value="3"/>
-  </Properties>
-  <SyntheticProperties>
-    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
-  </SyntheticProperties>
-  <AuxValues>
-    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
-    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
-    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-    <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
-  </AuxValues>
-
-  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
-</Form>
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/normal/NormalFrame.java b/java-one-2007/src/test/java/com/kitfox/javaone2007/normal/NormalFrame.java
deleted file mode 100644
index 24c4b16..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/normal/NormalFrame.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * TexRectangleFrame.java
- *
- * Created on April 25, 2007, 8:26 PM
- */
-
-package com.kitfox.javaone2007.normal;
-
-import com.kitfox.javaone2007.texRectangle.TexRectanglePanel;
-import java.awt.BorderLayout;
-
-/**
- *
- * @author  kitfox
- */
-public class NormalFrame extends javax.swing.JFrame
-{
-    NormalPanel panel = new NormalPanel();
-    
-    /** Creates new form TexRectangleFrame */
-    public NormalFrame()
-    {
-        initComponents();
-        
-        getContentPane().add(panel, BorderLayout.CENTER);
-        
-        setSize(640, 480);
-    }
-    
-    /** This method is called from within the constructor to
-     * initialize the form.
-     * WARNING: Do NOT modify this code. The content of this method is
-     * always regenerated by the Form Editor.
-     */
-    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
-    private void initComponents()
-    {
-
-        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
-        pack();
-    }// </editor-fold>//GEN-END:initComponents
-    
-    /**
-     * @param args the command line arguments
-     */
-    public static void main(String args[])
-    {
-        java.awt.EventQueue.invokeLater(new Runnable()
-        {
-            public void run()
-            {
-                new NormalFrame().setVisible(true);
-            }
-        });
-    }
-    
-    // Variables declaration - do not modify//GEN-BEGIN:variables
-    // End of variables declaration//GEN-END:variables
-    
-}
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/normal/NormalPanel.form b/java-one-2007/src/test/java/com/kitfox/javaone2007/normal/NormalPanel.form
deleted file mode 100644
index 83d6837..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/normal/NormalPanel.form
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
-  <AuxValues>
-    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
-    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
-    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-    <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
-  </AuxValues>
-
-  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
-  <SubComponents>
-    <Container class="javax.swing.JPanel" name="jPanel1">
-      <Constraints>
-        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
-          <BorderConstraints direction="South"/>
-        </Constraint>
-      </Constraints>
-
-      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
-      <SubComponents>
-        <Component class="javax.swing.JCheckBox" name="check_directional">
-          <Properties>
-            <Property name="selected" type="boolean" value="true"/>
-            <Property name="text" type="java.lang.String" value="Directional"/>
-            <Property name="toolTipText" type="java.lang.String" value="Toggle between point and directional lights"/>
-            <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
-              <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
-                <EmptyBorder bottom="0" left="0" right="0" top="0"/>
-              </Border>
-            </Property>
-            <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
-              <Insets value="[0, 0, 0, 0]"/>
-            </Property>
-          </Properties>
-          <Events>
-            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="check_directionalActionPerformed"/>
-          </Events>
-          <Constraints>
-            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
-              <BorderConstraints direction="West"/>
-            </Constraint>
-          </Constraints>
-        </Component>
-        <Component class="javax.swing.JSlider" name="slider_depth">
-          <Properties>
-            <Property name="maximum" type="int" value="200"/>
-            <Property name="toolTipText" type="java.lang.String" value="Height of light above canvas"/>
-            <Property name="value" type="int" value="100"/>
-          </Properties>
-          <Events>
-            <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="slider_depthStateChanged"/>
-          </Events>
-          <Constraints>
-            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
-              <BorderConstraints direction="Center"/>
-            </Constraint>
-          </Constraints>
-        </Component>
-      </SubComponents>
-    </Container>
-  </SubComponents>
-</Form>
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/normal/NormalPanel.java b/java-one-2007/src/test/java/com/kitfox/javaone2007/normal/NormalPanel.java
deleted file mode 100644
index 3898f28..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/normal/NormalPanel.java
+++ /dev/null
@@ -1,459 +0,0 @@
-/*
- * TexRectanglePanel.java
- *
- * Created on April 25, 2007, 8:59 PM
- */
-
-package com.kitfox.javaone2007.normal;
-
-import com.sun.opengl.util.BufferUtil;
-import java.awt.BorderLayout;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
-import java.awt.event.MouseMotionListener;
-import java.awt.image.BufferedImage;
-import java.awt.image.WritableRaster;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.nio.ByteBuffer;
-import java.nio.IntBuffer;
-import java.util.ArrayList;
-import javax.imageio.ImageIO;
-import javax.media.opengl.GL;
-import javax.media.opengl.GLAutoDrawable;
-import javax.media.opengl.GLCanvas;
-import javax.media.opengl.GLCapabilities;
-import javax.media.opengl.GLEventListener;
-
-/**
- *
- * @author  kitfox
- */
-public class NormalPanel extends javax.swing.JPanel implements GLEventListener
-{
-    private GLCanvas canvas;
-    
-    int texColorId;
-    int texNormalId;
-    int width;
-    int height;
-
-    int program;
-    
-    int mouseX = 0;
-    int mouseY = 0;
-    boolean highlight;
-    
-    /** Creates new form TexRectanglePanel */
-    public NormalPanel()
-    {
-        initComponents();
-        
-    }
-    
-    public void addNotify()
-    {
-        super.addNotify();
-        canvas = new GLCanvas(new GLCapabilities());
-        canvas.addGLEventListener(this);
-        
-        add(canvas, BorderLayout.CENTER);
-        
-        canvas.addMouseListener(
-                new MouseListener()
-        {
-            public void mouseClicked(MouseEvent evt)
-            {
-            }
-
-            public void mousePressed(MouseEvent evt)
-            {
-                int mod = evt.getModifiersEx();
-                if ((mod & MouseEvent.BUTTON3_DOWN_MASK) == MouseEvent.BUTTON3_DOWN_MASK)
-                {
-                    updateLightPosition(evt);
-                }
-                if ((mod & MouseEvent.BUTTON1_DOWN_MASK) == MouseEvent.BUTTON1_DOWN_MASK)
-                {
-                    highlight = true;
-//                    System.err.println("Flame On");
-                    canvas.repaint();
-                }
-            }
-
-            public void mouseReleased(MouseEvent evt)
-            {
-                int mod = evt.getModifiersEx();
-                if ((mod & MouseEvent.BUTTON1_DOWN_MASK) != MouseEvent.BUTTON1_DOWN_MASK)
-                {
-                    highlight = false;
-//                    System.err.println("Flame Off");
-                    canvas.repaint();
-                }
-            }
-
-            public void mouseEntered(MouseEvent evt)
-            {
-            }
-
-            public void mouseExited(MouseEvent evt)
-            {
-            }
-        }
-                );
-        
-        canvas.addMouseMotionListener(
-                new MouseMotionListener()
-                {
-                    public void mouseDragged(MouseEvent evt)
-                    {
-                        int mod = evt.getModifiersEx();
-                        if ((mod & MouseEvent.BUTTON3_DOWN_MASK) == MouseEvent.BUTTON3_DOWN_MASK)
-                        {
-                            updateLightPosition(evt);
-                        }
-                    }
-
-                    public void mouseMoved(MouseEvent evt)
-                    {
-                    }
-                }
-                );
-    }
-
-    private void updateLightPosition(MouseEvent evt)
-    {
-        mouseX = width * evt.getX() / canvas.getWidth();
-        mouseY = height * (canvas.getHeight() - evt.getY()) / canvas.getHeight();
-        canvas.repaint();
-    }
-
-    public void init(GLAutoDrawable gLAutoDrawable)
-    {
-        ByteBuffer imgDataColor;
-        ByteBuffer imgDataNormal;
-        WritableRaster raster;
-    
-        GL gl = gLAutoDrawable.getGL();
-        
-        gl.glClearColor(0, 0, 0, 0);
-        
-        gl.glMatrixMode(GL.GL_PROJECTION);
-        {
-            gl.glLoadIdentity();
-            gl.glOrtho(0, 1, 0, 1, -1, 1);
-        }
-        gl.glMatrixMode(GL.GL_MODELVIEW);
-
-        //-------------------------------------------
-        try
-        {
-            URL url = getClass().getResource("/com/kitfox/javaone2007/abc_alpha.png");
-            BufferedImage img = ImageIO.read(url);
-            
-            raster = img.getRaster();
-            width = raster.getWidth();
-            height = raster.getHeight();
-            
-            mouseX = width / 2;
-            mouseY = height / 2;
-        
-            
-            imgDataColor = BufferUtil.newByteBuffer(raster.getWidth() * raster.getHeight() * 4);
-            for (int j = raster.getHeight() - 1; j >= 0; j--)
-            {
-                for (int i = 0; i < raster.getWidth(); i++)
-                {
-                    imgDataColor.put((byte)raster.getSample(i, j, 0));
-                    imgDataColor.put((byte)raster.getSample(i, j, 1));
-                    imgDataColor.put((byte)raster.getSample(i, j, 2));
-                    imgDataColor.put((byte)raster.getSample(i, j, 3));
-                }
-            }
-            
-            url = getClass().getResource("/com/kitfox/javaone2007/abc_alpha_normal.png");
-            img = ImageIO.read(url);
-            
-            raster = img.getRaster();
-            
-            imgDataNormal = BufferUtil.newByteBuffer(raster.getWidth() * raster.getHeight() * 4);
-            for (int j = raster.getHeight() - 1; j >= 0; j--)
-            {
-                for (int i = 0; i < raster.getWidth(); i++)
-                {
-                    imgDataNormal.put((byte)raster.getSample(i, j, 0));
-                    imgDataNormal.put((byte)raster.getSample(i, j, 1));
-                    imgDataNormal.put((byte)raster.getSample(i, j, 2));
-                    imgDataNormal.put((byte)raster.getSample(i, j, 3));
-                }
-            }
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-            return;
-        }
-
-        
-        //-----------------------------------------------
-        IntBuffer texBuf = BufferUtil.newIntBuffer(2);
-        gl.glGenTextures(2, texBuf);
-        texColorId = texBuf.get(0);
-        texNormalId = texBuf.get(1);
-
-        imgDataColor.rewind();
-        gl.glEnable(GL.GL_TEXTURE_RECTANGLE_ARB);
-        gl.glActiveTexture(GL.GL_TEXTURE0);
-        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, texColorId);
-        gl.glTexImage2D(GL.GL_TEXTURE_RECTANGLE_ARB, 0, GL.GL_RGBA, 
-                raster.getWidth(), raster.getHeight(), 
-                0, GL.GL_RGBA, 
-                GL.GL_UNSIGNED_BYTE, imgDataColor);
-        
-        gl.glTexParameteri(GL.GL_TEXTURE_RECTANGLE_ARB, GL.GL_TEXTURE_MIN_FILTER,GL.GL_NEAREST);
-        gl.glTexParameteri(GL.GL_TEXTURE_RECTANGLE_ARB, GL.GL_TEXTURE_MAG_FILTER,GL.GL_NEAREST);
-        
-        
-        imgDataNormal.rewind();
-        gl.glEnable(GL.GL_TEXTURE_RECTANGLE_ARB);
-        gl.glActiveTexture(GL.GL_TEXTURE1);
-        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, texNormalId);
-        gl.glTexImage2D(GL.GL_TEXTURE_RECTANGLE_ARB, 0, GL.GL_RGBA, 
-                raster.getWidth(), raster.getHeight(), 
-                0, GL.GL_RGBA, 
-                GL.GL_UNSIGNED_BYTE, imgDataNormal);
-        
-        gl.glTexParameteri(GL.GL_TEXTURE_RECTANGLE_ARB, GL.GL_TEXTURE_MIN_FILTER,GL.GL_NEAREST);
-        gl.glTexParameteri(GL.GL_TEXTURE_RECTANGLE_ARB, GL.GL_TEXTURE_MAG_FILTER,GL.GL_NEAREST);
-        
-
-        
-        
-//        gl.glTexEnvf(GL.GL_TEXTURE_ENV, GL.GL_TEXTURE_ENV_MODE, GL.GL_REPLACE);
-        gl.glEnable(GL.GL_BLEND);
-        gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-//        gl.glShadeModel(GL.GL_FLAT);
-        
-        //----------------------------------------------
-        // Build shaders
-        String[] lines;
-        IntBuffer sizes;
-        try
-        {
-            int vertShad = gl.glCreateShader(GL.GL_VERTEX_SHADER);
-            lines = loadShader(getClass().getResource("/com/kitfox/javaone2007/shader/filter.vert").openStream());
-            sizes = stringSizes(lines);
-            gl.glShaderSource(vertShad, lines.length, lines, sizes);
-            gl.glCompileShader(vertShad);
-            System.err.println("***" + getLog(gl, vertShad));
-
-            int fragShad = gl.glCreateShader(GL.GL_FRAGMENT_SHADER);
-            lines = loadShader(getClass().getResource("/com/kitfox/javaone2007/shader/normalShader.frag").openStream());
-            sizes = stringSizes(lines);
-            gl.glShaderSource(fragShad, lines.length, lines, sizes);
-            gl.glCompileShader(fragShad);
-            System.err.println("***" + getLog(gl, fragShad));
-
-            
-            program = gl.glCreateProgram();
-            gl.glAttachShader(program, vertShad);
-            gl.glAttachShader(program, fragShad);
-//            gl.glAttachObjectARB(program, vertShad);
-//            gl.glAttachObjectARB(program, fragShad);
-            gl.glLinkProgram(program);
-            
-            //Check log
-            System.err.println("***" + getLog(gl, program));
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-            return;
-        }
-        
-    }
-    
-    public String getLog(GL gl, int handle)
-    {
-        IntBuffer ibuf = BufferUtil.newIntBuffer(1);
-        gl.glGetObjectParameterivARB(handle, GL.GL_OBJECT_INFO_LOG_LENGTH_ARB, ibuf);
-        int len = ibuf.get(0);
-        if (len == 0) return "";
-        
-        ibuf.rewind();
-        ByteBuffer bbuf = BufferUtil.newByteBuffer(len);
-        gl.glGetInfoLogARB(program, len, ibuf, bbuf);
-        
-        bbuf.rewind();
-        byte[] bytes = new byte[ibuf.get(0)];
-        bbuf.get(bytes);
-        return new String(bytes);
-    }
-    
-    public void display(GLAutoDrawable gLAutoDrawable)
-    {
-        GL gl = gLAutoDrawable.getGL();
-        
-        gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-        
-        gl.glUseProgramObjectARB(program);
-        gl.glUniform1i(
-                gl.glGetUniformLocationARB(program, "sourceColor"),
-                0);
-        gl.glUniform1i(
-                gl.glGetUniformLocationARB(program, "sourceNormal"),
-                1);
-        //System.err.println("Highlight: " + highlight);
-        gl.glUniform1i(
-                gl.glGetUniformLocationARB(program, "highlight"),
-                highlight ? 1 : 0);
-        
-        if (check_directional.isSelected())
-        {
-            gl.glUniform4f(
-                    gl.glGetUniformLocationARB(program, "lightPosition"),
-                    mouseX - (width / 2), (height / 2) - mouseY, slider_depth.getValue(), 0);
-        }
-        else
-        {
-            gl.glUniform4f(
-                    gl.glGetUniformLocationARB(program, "lightPosition"),
-                    mouseX, mouseY, slider_depth.getValue(), 1);
-        }
-        
-        gl.glActiveTexture(GL.GL_TEXTURE0);
-        gl.glEnable(GL.GL_TEXTURE_RECTANGLE_ARB);
-        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, texColorId);
-        
-        gl.glActiveTexture(GL.GL_TEXTURE1);
-        gl.glEnable(GL.GL_TEXTURE_RECTANGLE_ARB);
-        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, texNormalId);
-        
-        gl.glColor3f(1, 1, 1);
-        gl.glBegin(GL.GL_QUADS);
-        {
-            gl.glTexCoord2f(0, 0);
-            gl.glVertex2f(0, 0);
-            gl.glTexCoord2f(width, 0);
-            gl.glVertex2f(1, 0);
-            gl.glTexCoord2f(width, height);
-            gl.glVertex2f(1, 1);
-            gl.glTexCoord2f(0, height);
-            gl.glVertex2f(0, 1);
-        }
-        gl.glEnd();
-        
-        gl.glUseProgram(0);
-        
-        gl.glFlush();
-    }
-
-    public void reshape(GLAutoDrawable gLAutoDrawable, int i, int i0, int i1, int i2)
-    {
-    }
-
-    public void displayChanged(GLAutoDrawable gLAutoDrawable, boolean b, boolean b0)
-    {
-    }
-    
-    public String[] loadShader(InputStream is) throws IOException
-    {
-        InputStreamReader reader = new InputStreamReader(is);
-        
-        BufferedReader br = new BufferedReader(reader);
-     
-        ArrayList<String> lines = new ArrayList<String>();
-        for (String line = br.readLine(); line != null; line = br.readLine())
-        {
-            lines.add(line);
-        }
-        
-        return lines.toArray(new String[lines.size()]);
-    }
-
-    private IntBuffer stringSizes(String[] lines)
-    {
-        IntBuffer buf = BufferUtil.newIntBuffer(lines.length);
-        for (String line: lines)
-        {
-            buf.put(line.length());
-        }
-        buf.rewind();
-        return buf;
-    }
-    
-    /** This method is called from within the constructor to
-     * initialize the form.
-     * WARNING: Do NOT modify this code. The content of this method is
-     * always regenerated by the Form Editor.
-     */
-    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
-    private void initComponents()
-    {
-        jPanel1 = new javax.swing.JPanel();
-        check_directional = new javax.swing.JCheckBox();
-        slider_depth = new javax.swing.JSlider();
-
-        setLayout(new java.awt.BorderLayout());
-
-        jPanel1.setLayout(new java.awt.BorderLayout());
-
-        check_directional.setSelected(true);
-        check_directional.setText("Directional");
-        check_directional.setToolTipText("Toggle between point and directional lights");
-        check_directional.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
-        check_directional.setMargin(new java.awt.Insets(0, 0, 0, 0));
-        check_directional.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
-                check_directionalActionPerformed(evt);
-            }
-        });
-
-        jPanel1.add(check_directional, java.awt.BorderLayout.WEST);
-
-        slider_depth.setMaximum(200);
-        slider_depth.setToolTipText("Height of light above canvas");
-        slider_depth.setValue(100);
-        slider_depth.addChangeListener(new javax.swing.event.ChangeListener()
-        {
-            public void stateChanged(javax.swing.event.ChangeEvent evt)
-            {
-                slider_depthStateChanged(evt);
-            }
-        });
-
-        jPanel1.add(slider_depth, java.awt.BorderLayout.CENTER);
-
-        add(jPanel1, java.awt.BorderLayout.SOUTH);
-
-    }// </editor-fold>//GEN-END:initComponents
-
-    private void check_directionalActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_check_directionalActionPerformed
-    {//GEN-HEADEREND:event_check_directionalActionPerformed
-        if (canvas != null)
-        {
-            canvas.repaint();
-        }
-    }//GEN-LAST:event_check_directionalActionPerformed
-
-    private void slider_depthStateChanged(javax.swing.event.ChangeEvent evt)//GEN-FIRST:event_slider_depthStateChanged
-    {//GEN-HEADEREND:event_slider_depthStateChanged
-        if (canvas != null)
-        {
-            canvas.repaint();
-        }
-    }//GEN-LAST:event_slider_depthStateChanged
-    
-    
-    // Variables declaration - do not modify//GEN-BEGIN:variables
-    private javax.swing.JCheckBox check_directional;
-    private javax.swing.JPanel jPanel1;
-    private javax.swing.JSlider slider_depth;
-    // End of variables declaration//GEN-END:variables
-    
-}
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/shader/ShaderFrame.java b/java-one-2007/src/test/java/com/kitfox/javaone2007/shader/ShaderFrame.java
deleted file mode 100644
index 7651d8d..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/shader/ShaderFrame.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * TexRectangleFrame.java
- *
- * Created on April 25, 2007, 8:26 PM
- */
-
-package com.kitfox.javaone2007.shader;
-
-import com.kitfox.javaone2007.texRectangle.TexRectanglePanel;
-import java.awt.BorderLayout;
-
-/**
- *
- * @author  kitfox
- */
-public class ShaderFrame extends javax.swing.JFrame
-{
-    ShaderPanel panel = new ShaderPanel();
-    
-    /** Creates new form TexRectangleFrame */
-    public ShaderFrame()
-    {
-        initComponents();
-        
-        getContentPane().add(panel, BorderLayout.CENTER);
-        
-        setSize(640, 480);
-    }
-    
-    /** This method is called from within the constructor to
-     * initialize the form.
-     * WARNING: Do NOT modify this code. The content of this method is
-     * always regenerated by the Form Editor.
-     */
-    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
-    private void initComponents()
-    {
-
-        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
-        pack();
-    }// </editor-fold>//GEN-END:initComponents
-    
-    /**
-     * @param args the command line arguments
-     */
-    public static void main(String args[])
-    {
-        java.awt.EventQueue.invokeLater(new Runnable()
-        {
-            public void run()
-            {
-                new ShaderFrame().setVisible(true);
-            }
-        });
-    }
-    
-    // Variables declaration - do not modify//GEN-BEGIN:variables
-    // End of variables declaration//GEN-END:variables
-    
-}
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/shader/ShaderPanel.form b/java-one-2007/src/test/java/com/kitfox/javaone2007/shader/ShaderPanel.form
deleted file mode 100644
index 4c80dfb..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/shader/ShaderPanel.form
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
-  <AuxValues>
-    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
-    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
-    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-    <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
-  </AuxValues>
-
-  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
-</Form>
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/shader/ShaderPanel.java b/java-one-2007/src/test/java/com/kitfox/javaone2007/shader/ShaderPanel.java
deleted file mode 100644
index adf5e89..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/shader/ShaderPanel.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*
- * TexRectanglePanel.java
- *
- * Created on April 25, 2007, 8:59 PM
- */
-
-package com.kitfox.javaone2007.shader;
-
-import com.sun.opengl.util.BufferUtil;
-import java.awt.BorderLayout;
-import java.awt.image.BufferedImage;
-import java.awt.image.WritableRaster;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.nio.ByteBuffer;
-import java.nio.IntBuffer;
-import java.util.ArrayList;
-import javax.imageio.ImageIO;
-import javax.media.opengl.GL;
-import javax.media.opengl.GLAutoDrawable;
-import javax.media.opengl.GLCanvas;
-import javax.media.opengl.GLCapabilities;
-import javax.media.opengl.GLEventListener;
-
-/**
- *
- * @author  kitfox
- */
-public class ShaderPanel extends javax.swing.JPanel implements GLEventListener
-{
-    private GLCanvas canvas;
-    
-    int texId;
-    ByteBuffer imgData;
-    WritableRaster raster;
-
-    int program;
-    
-    /** Creates new form TexRectanglePanel */
-    public ShaderPanel()
-    {
-        initComponents();
-        
-    }
-    
-    public void addNotify()
-    {
-        super.addNotify();
-        canvas = new GLCanvas(new GLCapabilities());
-        canvas.addGLEventListener(this);
-        
-        add(canvas, BorderLayout.CENTER);
-    }
-    
-
-    public void init(GLAutoDrawable gLAutoDrawable)
-    {
-        GL gl = gLAutoDrawable.getGL();
-        
-        gl.glClearColor(0, 0, 0, 0);
-        
-        gl.glMatrixMode(GL.GL_PROJECTION);
-        {
-            gl.glLoadIdentity();
-            gl.glOrtho(0, 1, 0, 1, -1, 1);
-        }
-        gl.glMatrixMode(GL.GL_MODELVIEW);
-
-        //-------------------------------------------
-        try
-        {
-            URL url = getClass().getResource("/com/kitfox/javaone2007/abc.png");
-            BufferedImage img = ImageIO.read(url);
-            
-            raster = img.getRaster();
-            
-            imgData = BufferUtil.newByteBuffer(raster.getWidth() * raster.getHeight() * 4);
-            for (int j = raster.getHeight() - 1; j >= 0; j--)
-            {
-                for (int i = 0; i < raster.getWidth(); i++)
-                {
-                    imgData.put((byte)raster.getSample(i, j, 0));
-                    imgData.put((byte)raster.getSample(i, j, 1));
-                    imgData.put((byte)raster.getSample(i, j, 2));
-                    imgData.put((byte)raster.getSample(i, j, 3));
-                }
-            }
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-            return;
-        }
-
-        
-        //-----------------------------------------------
-        IntBuffer texBuf = BufferUtil.newIntBuffer(1);
-        gl.glGenTextures(1, texBuf);
-        texId = texBuf.get(0);
-        imgData.rewind();
-        
-//        gl.glClientActiveTexture(GL.GL_TEXTURE0);
-
-        gl.glEnable(GL.GL_TEXTURE_RECTANGLE_ARB);
-        gl.glActiveTexture(GL.GL_TEXTURE0);
-        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, texId);
-        gl.glTexImage2D(GL.GL_TEXTURE_RECTANGLE_ARB, 0, GL.GL_RGBA, 
-                raster.getWidth(), raster.getHeight(), 
-                0, GL.GL_RGBA, 
-                GL.GL_UNSIGNED_BYTE, imgData);
-        
-        gl.glTexParameteri(GL.GL_TEXTURE_RECTANGLE_ARB, GL.GL_TEXTURE_MIN_FILTER,GL.GL_NEAREST);
-        gl.glTexParameteri(GL.GL_TEXTURE_RECTANGLE_ARB, GL.GL_TEXTURE_MAG_FILTER,GL.GL_NEAREST);
-        
-//        gl.glTexEnvf(GL.GL_TEXTURE_ENV, GL.GL_TEXTURE_ENV_MODE, GL.GL_REPLACE);
-        gl.glEnable(GL.GL_BLEND);
-        gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-//        gl.glShadeModel(GL.GL_FLAT);
-        
-        //----------------------------------------------
-        // Build shaders
-        String[] lines;
-        IntBuffer sizes;
-        try
-        {
-            int vertShad = gl.glCreateShader(GL.GL_VERTEX_SHADER);
-            lines = loadShader(getClass().getResource("/com/kitfox/javaone2007/shader/filter.vert").openStream());
-            sizes = stringSizes(lines);
-            gl.glShaderSource(vertShad, lines.length, lines, sizes);
-            gl.glCompileShader(vertShad);
-            System.err.println("***" + getLog(gl, vertShad));
-
-            int fragShad = gl.glCreateShader(GL.GL_FRAGMENT_SHADER);
-            lines = loadShader(getClass().getResource("/com/kitfox/javaone2007/shader/filter.frag").openStream());
-            sizes = stringSizes(lines);
-            gl.glShaderSource(fragShad, lines.length, lines, sizes);
-            gl.glCompileShader(fragShad);
-            System.err.println("***" + getLog(gl, fragShad));
-
-            
-            program = gl.glCreateProgram();
-            gl.glAttachShader(program, vertShad);
-            gl.glAttachShader(program, fragShad);
-//            gl.glAttachObjectARB(program, vertShad);
-//            gl.glAttachObjectARB(program, fragShad);
-            gl.glLinkProgram(program);
-            
-            //Check log
-            System.err.println("***" + getLog(gl, program));
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-            return;
-        }
-        
-    }
-    
-    public String getLog(GL gl, int handle)
-    {
-        IntBuffer ibuf = BufferUtil.newIntBuffer(1);
-        gl.glGetObjectParameterivARB(handle, GL.GL_OBJECT_INFO_LOG_LENGTH_ARB, ibuf);
-        int len = ibuf.get(0);
-        if (len == 0) return "";
-        
-        ibuf.rewind();
-        ByteBuffer bbuf = BufferUtil.newByteBuffer(len);
-        gl.glGetInfoLogARB(program, len, ibuf, bbuf);
-        
-        bbuf.rewind();
-        byte[] bytes = new byte[ibuf.get(0)];
-        bbuf.get(bytes);
-        return new String(bytes);
-    }
-    
-    public void display(GLAutoDrawable gLAutoDrawable)
-    {
-        GL gl = gLAutoDrawable.getGL();
-        
-        gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-        
-/*
-        IntBuffer ibuf = BufferUtil.newIntBuffer(3);
-//        gl.glGetObjectParameterivARB(program, GL.GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB, ibuf);
-//        int attrMaxLength = ibuf.get(0);
-        gl.glGetObjectParameterivARB(program, GL.GL_OBJECT_ACTIVE_UNIFORMS_ARB, ibuf);
-        int numUniformVar = ibuf.get(0);
-        gl.glGetObjectParameterivARB(program, GL.GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB, ibuf);
-        int maxUniformNameLength = ibuf.get(0);
-        //gl.glGetActiveUniform(program, 
-        ByteBuffer buf = BufferUtil.newByteBuffer(maxUniformNameLength);
-        IntBuffer ibufLen = BufferUtil.newIntBuffer(3);
-        IntBuffer ibufSize = BufferUtil.newIntBuffer(3);
-        IntBuffer ibufType = BufferUtil.newIntBuffer(3);
-        for (int i = 0; i < numUniformVar; i++)
-        {
-            gl.glGetActiveUniform(program, i, maxUniformNameLength, ibufLen, ibufSize, ibufType, buf);
-            buf.rewind();
-            byte[] arr = new byte[ibufLen.get(0)];
-            buf.get(arr);
-            buf.rewind();
-            String name = new String(arr);
-        }
- */
-        
-//        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, texId);
-//        gl.glEnable(GL.GL_TEXTURE_RECTANGLE_ARB);
-        
-        gl.glUseProgramObjectARB(program);
-//        int sizeId = gl.glGetUniformLocation(program, "size");
-//        int ableId = gl.glGetUniformLocation(program, "able");
-//        int bakerId = gl.glGetUniformLocation(program, "baker");
-//        int charlieId = gl.glGetUniformLocation(program, "charlie");
-//        int deltaId = gl.glGetUniformLocation(program, "delta");
-//        int echoId = gl.glGetUniformLocation(program, "echo");
-//        gl.glUniform2f(sizeId, raster.getWidth(), raster.getHeight());
-        int sourceMapId = gl.glGetUniformLocationARB(program, "sourcemap");
-        gl.glUniform1i(sourceMapId, 0);
-        
-        gl.glActiveTexture(GL.GL_TEXTURE0);
-        gl.glEnable(GL.GL_TEXTURE_RECTANGLE_ARB);
-        
-        gl.glColor3f(1, 1, 1);
-        gl.glBegin(GL.GL_QUADS);
-        {
-            gl.glTexCoord2f(0, 0);
-            gl.glVertex2f(0, 0);
-            gl.glTexCoord2f(raster.getWidth(), 0);
-            gl.glVertex2f(1, 0);
-            gl.glTexCoord2f(raster.getWidth(), raster.getHeight());
-            gl.glVertex2f(1, 1);
-            gl.glTexCoord2f(0, raster.getHeight());
-            gl.glVertex2f(0, 1);
-        }
-        gl.glEnd();
-        
-        gl.glUseProgram(0);
-        
-        gl.glFlush();
-    }
-
-    public void reshape(GLAutoDrawable gLAutoDrawable, int i, int i0, int i1, int i2)
-    {
-    }
-
-    public void displayChanged(GLAutoDrawable gLAutoDrawable, boolean b, boolean b0)
-    {
-    }
-    
-    public String[] loadShader(InputStream is) throws IOException
-    {
-        InputStreamReader reader = new InputStreamReader(is);
-        
-        BufferedReader br = new BufferedReader(reader);
-     
-        ArrayList<String> lines = new ArrayList<String>();
-        for (String line = br.readLine(); line != null; line = br.readLine())
-        {
-            lines.add(line);
-        }
-        
-        return lines.toArray(new String[lines.size()]);
-    }
-
-    private IntBuffer stringSizes(String[] lines)
-    {
-        IntBuffer buf = BufferUtil.newIntBuffer(lines.length);
-        for (String line: lines)
-        {
-            buf.put(line.length());
-        }
-        buf.rewind();
-        return buf;
-    }
-    
-    /** This method is called from within the constructor to
-     * initialize the form.
-     * WARNING: Do NOT modify this code. The content of this method is
-     * always regenerated by the Form Editor.
-     */
-    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
-    private void initComponents()
-    {
-
-        setLayout(new java.awt.BorderLayout());
-
-    }// </editor-fold>//GEN-END:initComponents
-    
-    
-    // Variables declaration - do not modify//GEN-BEGIN:variables
-    // End of variables declaration//GEN-END:variables
-    
-}
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/texRectangle/TexRectangleFrame.form b/java-one-2007/src/test/java/com/kitfox/javaone2007/texRectangle/TexRectangleFrame.form
deleted file mode 100644
index 7fb1abc..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/texRectangle/TexRectangleFrame.form
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
-  <Properties>
-    <Property name="defaultCloseOperation" type="int" value="3"/>
-  </Properties>
-  <SyntheticProperties>
-    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
-  </SyntheticProperties>
-  <AuxValues>
-    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
-    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
-    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-  </AuxValues>
-
-  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
-</Form>
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/texRectangle/TexRectangleFrame.java b/java-one-2007/src/test/java/com/kitfox/javaone2007/texRectangle/TexRectangleFrame.java
deleted file mode 100644
index 950a6c7..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/texRectangle/TexRectangleFrame.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * TexRectangleFrame.java
- *
- * Created on April 25, 2007, 8:26 PM
- */
-
-package com.kitfox.javaone2007.texRectangle;
-
-import java.awt.BorderLayout;
-
-/**
- *
- * @author  kitfox
- */
-public class TexRectangleFrame extends javax.swing.JFrame
-{
-    TexRectanglePanel panel = new TexRectanglePanel();
-    
-    /** Creates new form TexRectangleFrame */
-    public TexRectangleFrame()
-    {
-        initComponents();
-        
-        getContentPane().add(panel, BorderLayout.CENTER);
-        
-        setSize(640, 480);
-    }
-    
-    /** This method is called from within the constructor to
-     * initialize the form.
-     * WARNING: Do NOT modify this code. The content of this method is
-     * always regenerated by the Form Editor.
-     */
-    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
-    private void initComponents()
-    {
-
-        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
-        pack();
-    }// </editor-fold>//GEN-END:initComponents
-    
-    /**
-     * @param args the command line arguments
-     */
-    public static void main(String args[])
-    {
-        java.awt.EventQueue.invokeLater(new Runnable()
-        {
-            public void run()
-            {
-                new TexRectangleFrame().setVisible(true);
-            }
-        });
-    }
-    
-    // Variables declaration - do not modify//GEN-BEGIN:variables
-    // End of variables declaration//GEN-END:variables
-    
-}
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/texRectangle/TexRectanglePanel.form b/java-one-2007/src/test/java/com/kitfox/javaone2007/texRectangle/TexRectanglePanel.form
deleted file mode 100644
index 4c80dfb..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/texRectangle/TexRectanglePanel.form
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
-  <AuxValues>
-    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
-    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
-    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-    <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
-  </AuxValues>
-
-  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
-</Form>
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/texRectangle/TexRectanglePanel.java b/java-one-2007/src/test/java/com/kitfox/javaone2007/texRectangle/TexRectanglePanel.java
deleted file mode 100644
index 39dcc6d..0000000
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/texRectangle/TexRectanglePanel.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * TexRectanglePanel.java
- *
- * Created on April 25, 2007, 8:59 PM
- */
-
-package com.kitfox.javaone2007.texRectangle;
-
-import com.sun.opengl.util.BufferUtil;
-import java.awt.BorderLayout;
-import java.awt.image.BufferedImage;
-import java.awt.image.WritableRaster;
-import java.net.URL;
-import java.nio.ByteBuffer;
-import java.nio.IntBuffer;
-import javax.imageio.ImageIO;
-import javax.media.opengl.GL;
-import javax.media.opengl.GLAutoDrawable;
-import javax.media.opengl.GLCanvas;
-import javax.media.opengl.GLCapabilities;
-import javax.media.opengl.GLEventListener;
-
-/**
- *
- * @author  kitfox
- */
-public class TexRectanglePanel extends javax.swing.JPanel implements GLEventListener
-{
-    private GLCanvas canvas;
-    
-    ByteBuffer imgData;
-    WritableRaster raster;
-    
-    /** Creates new form TexRectanglePanel */
-    public TexRectanglePanel()
-    {
-        initComponents();
-        
-    }
-    
-    public void addNotify()
-    {
-        super.addNotify();
-        canvas = new GLCanvas(new GLCapabilities());
-        canvas.addGLEventListener(this);
-        
-        add(canvas, BorderLayout.CENTER);
-    }
-    
-
-    public void init(GLAutoDrawable gLAutoDrawable)
-    {
-        GL gl = gLAutoDrawable.getGL();
-        
-        gl.glClearColor(1, 1, 0, 0);
-        
-        gl.glMatrixMode(GL.GL_PROJECTION);
-        {
-            gl.glLoadIdentity();
-            gl.glOrtho(0, 1, 0, 1, -1, 1);
-        }
-        gl.glMatrixMode(GL.GL_MODELVIEW);
-
-        //-------------------------------------------
-        try
-        {
-            URL url = getClass().getResource("/com/kitfox/javaone2007/abc.png");
-            BufferedImage img = ImageIO.read(url);
-            
-            raster = img.getRaster();
-            
-            imgData = BufferUtil.newByteBuffer(raster.getWidth() * raster.getHeight() * 4);
-            for (int j = raster.getHeight() - 1; j >= 0; j--)
-            {
-                for (int i = 0; i < raster.getWidth(); i++)
-                {
-                    imgData.put((byte)raster.getSample(i, j, 0));
-                    imgData.put((byte)raster.getSample(i, j, 1));
-                    imgData.put((byte)raster.getSample(i, j, 2));
-                    imgData.put((byte)raster.getSample(i, j, 3));
-                }
-            }
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-            return;
-        }
-
-        
-        //-----------------------------------------------
-        IntBuffer texBuf = BufferUtil.newIntBuffer(1);
-        gl.glGenTextures(1, texBuf);
-        int texId = texBuf.get(0);
-        imgData.rewind();
-        
-        gl.glEnable(GL.GL_TEXTURE_RECTANGLE_ARB);
-        gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_ARB, texId);
-        gl.glTexImage2D(GL.GL_TEXTURE_RECTANGLE_ARB, 0, GL.GL_RGBA8, 
-                raster.getWidth(), raster.getHeight(), 
-                0, GL.GL_RGBA, 
-                GL.GL_UNSIGNED_BYTE, imgData);
-        
-        gl.glTexEnvf(GL.GL_TEXTURE_ENV, GL.GL_TEXTURE_ENV_MODE, GL.GL_REPLACE);
-        gl.glEnable(GL.GL_BLEND);
-        gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-        gl.glShadeModel(GL.GL_FLAT);
-    }
-
-    public void display(GLAutoDrawable gLAutoDrawable)
-    {
-        GL gl = gLAutoDrawable.getGL();
-        
-        gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-        
-        gl.glColor3f(1, 1, 1);
-        gl.glBegin(GL.GL_QUADS);
-        {
-            gl.glTexCoord2f(0, 0);
-            gl.glVertex2f(0, 0);
-            gl.glTexCoord2f(raster.getWidth(), 0);
-            gl.glVertex2f(1, 0);
-            gl.glTexCoord2f(raster.getWidth(), raster.getHeight());
-            gl.glVertex2f(1, 1);
-            gl.glTexCoord2f(0, raster.getHeight());
-            gl.glVertex2f(0, 1);
-        }
-        gl.glEnd();
-        
-        gl.glFlush();
-    }
-
-    public void reshape(GLAutoDrawable gLAutoDrawable, int i, int i0, int i1, int i2)
-    {
-    }
-
-    public void displayChanged(GLAutoDrawable gLAutoDrawable, boolean b, boolean b0)
-    {
-    }
-    
-    /** This method is called from within the constructor to
-     * initialize the form.
-     * WARNING: Do NOT modify this code. The content of this method is
-     * always regenerated by the Form Editor.
-     */
-    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
-    private void initComponents()
-    {
-
-        setLayout(new java.awt.BorderLayout());
-
-    }// </editor-fold>//GEN-END:initComponents
-    
-    
-    // Variables declaration - do not modify//GEN-BEGIN:variables
-    // End of variables declaration//GEN-END:variables
-    
-}
diff --git a/java-one-2007/src/test/res/com/kitfox/javaone2007/abc.png b/java-one-2007/src/test/res/com/kitfox/javaone2007/abc.png
deleted file mode 100644
index d4ae0bf..0000000
Binary files a/java-one-2007/src/test/res/com/kitfox/javaone2007/abc.png and /dev/null differ
diff --git a/java-one-2007/src/test/res/com/kitfox/javaone2007/abc_alpha.png b/java-one-2007/src/test/res/com/kitfox/javaone2007/abc_alpha.png
deleted file mode 100644
index 8e61455..0000000
Binary files a/java-one-2007/src/test/res/com/kitfox/javaone2007/abc_alpha.png and /dev/null differ
diff --git a/java-one-2007/src/test/res/com/kitfox/javaone2007/abc_alpha_normal.png b/java-one-2007/src/test/res/com/kitfox/javaone2007/abc_alpha_normal.png
deleted file mode 100644
index 722f24e..0000000
Binary files a/java-one-2007/src/test/res/com/kitfox/javaone2007/abc_alpha_normal.png and /dev/null differ
diff --git a/java-one-2007/src/test/res/com/kitfox/javaone2007/abc_bg.png b/java-one-2007/src/test/res/com/kitfox/javaone2007/abc_bg.png
deleted file mode 100644
index 027a616..0000000
Binary files a/java-one-2007/src/test/res/com/kitfox/javaone2007/abc_bg.png and /dev/null differ
diff --git a/java-one-2007/src/test/res/com/kitfox/javaone2007/d.png b/java-one-2007/src/test/res/com/kitfox/javaone2007/d.png
deleted file mode 100644
index 00c7fd0..0000000
Binary files a/java-one-2007/src/test/res/com/kitfox/javaone2007/d.png and /dev/null differ
diff --git a/java-one-2007/src/test/res/com/kitfox/javaone2007/shader/filter.frag b/java-one-2007/src/test/res/com/kitfox/javaone2007/shader/filter.frag
deleted file mode 100644
index a490c43..0000000
--- a/java-one-2007/src/test/res/com/kitfox/javaone2007/shader/filter.frag
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Variable names must be all lower case
-*/
-varying vec2 inset;
-
-uniform float delta;
-uniform float echo;
-uniform sampler2DRect sourcemap;
-
-void main(void)
-{
-    vec4 sourceCol = texture2DRect(sourcemap, gl_TexCoord[0].st).xyzw;
-    gl_FragColor = sourceCol;
-
-/*
-    vec3 sourceCol = texture2DRect(sourcemap, vec2(0.5, 0.5)).xyz;
-    gl_FragColor = vec4(sourceCol, 1.0);
-
-    vec3 sourceCol = texture2D(sourcemap, gl_TexCoord[0].st).xyz;
-    gl_FragColor = vec4(sourceCol.yzx, 1.0);
-
-    vec3 sourceCol = texture2D(sourcemap, gl_TexCoord[0].st / vec2(128, 128)).xyz;
-    gl_FragColor = vec4(sourceCol.yzx, 1.0);
-
-    vec3 sourceCol = texture2D(sourcemap, gl_TexCoord[0].st).xyz;
-    gl_FragColor = vec4(sourceCol, 1.0);
-
-    vec3 sourceCol = texture2D(sourcemap, gl_TexCoord[0].st / vec2(200, 100)).xyz;
-    gl_FragColor = vec4(sourceCol.yzx, 1.0);
-
-    //Iterate over unit square
-    gl_FragColor = vec4(gl_TexCoord[0].st / vec2(200, 100), 0, 1.0);
-
-    vec3 sourceCol = vec3(texture2D(sourceMap, gl_TexCoord[0].st));
-    gl_FragColor = vec4(sourceCol, 1.0);
-
-
-    vec3 sourceCol = vec3(texture2D(sourceMap, gl_TexCoord[0].st));
-    vec3 sourceCol = vec3(texture2D(sourceMap, gl_TexCoord[0].st / vec2(200, 100)));
-    vec3 sourceCol = vec3(texture2D(sourceMap, gl_TexCoord[0].st));
-    gl_FragColor = vec4(gl_TexCoord[0].st / vec2(200, 100), 0, 1.0);
-    gl_FragColor = vec4(gl_TexCoord[0].st / vec2(10, 10), 0, 1.0);
-    gl_FragColor = vec4(gl_TexCoord[0].st * vec2(640, 480), 0, 1.0);
-    gl_FragColor = vec4(1, 0, 0, 1.0);
-    gl_FragColor = vec4(sourceCol, 1.0);
-*/
-}
-
diff --git a/java-one-2007/src/test/res/com/kitfox/javaone2007/shader/filter.vert b/java-one-2007/src/test/res/com/kitfox/javaone2007/shader/filter.vert
deleted file mode 100644
index 9b508ec..0000000
--- a/java-one-2007/src/test/res/com/kitfox/javaone2007/shader/filter.vert
+++ /dev/null
@@ -1,21 +0,0 @@
-
-varying vec2 inset;
-
-uniform vec2 size;
-uniform float able;
-uniform float baker;
-uniform float charlie;
-
-void main(void)
-{
-    inset = gl_Vertex.xy;
-/*
-    inset = vec2(gl_Vertex.x, gl_Vertex.y);
-    inset = (gl_Vertex.x / size.x, gl_Vertex.y / size.y);
-    inset = gl_Vertex.xy / size;
-    inset = gl_Vertex.xy / (width, height);
-*/
-    gl_TexCoord[0] = gl_MultiTexCoord0;
-    gl_Position = ftransform();
-}
-
diff --git a/java-one-2007/src/test/res/com/kitfox/javaone2007/shader/filter_redGreenGrad.frag b/java-one-2007/src/test/res/com/kitfox/javaone2007/shader/filter_redGreenGrad.frag
deleted file mode 100644
index b619c0c..0000000
--- a/java-one-2007/src/test/res/com/kitfox/javaone2007/shader/filter_redGreenGrad.frag
+++ /dev/null
@@ -1,10 +0,0 @@
-varying vec2 inset;
-
-void main(void)
-{
-    gl_FragColor = vec4(inset.x, inset.y, 0, 1.0);
-/*
-    gl_FragColor = vec4(1, 0, 0, 1.0);
-*/
-}
-
diff --git a/java-one-2007/src/test/res/com/kitfox/javaone2007/shader/normalShader.frag b/java-one-2007/src/test/res/com/kitfox/javaone2007/shader/normalShader.frag
deleted file mode 100644
index 95f089d..0000000
--- a/java-one-2007/src/test/res/com/kitfox/javaone2007/shader/normalShader.frag
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Perform simple normal map shading
-*/
-
-uniform sampler2DRect sourceColor;
-uniform sampler2DRect sourceNormal;
-
-uniform bool highlight;
-uniform vec4 lightPosition;
-
-
-void main(void)
-{
-
-    vec4 col = texture2DRect(sourceColor, gl_TexCoord[0].st);
-    vec3 norm = texture2DRect(sourceNormal, gl_TexCoord[0].st).xyz;
-
-    norm *= 2.0;
-    norm -= 1.0;
-
-    vec3 lightDir;
-    if (lightPosition.w == 0.0)
-    {
-        lightDir = lightPosition.xyz;
-    }
-    else
-    {
-         lightDir = lightPosition.xyz - vec3(gl_TexCoord[0].st, 0);
-    }
-
-    lightDir = normalize(lightDir);
-    float cosAng = dot(lightDir, norm);
-
-    if (highlight)
-    {
-        col = clamp(col + vec4(.3, .3, .3, 0), 0.0, 1.0);
-/*
-        col = clamp(col + vec4(.2, .2, .2, 0), 0.0, 1.0);
-        col = vec4(0.0, 1.0, 0.0, 0.0);
-        col = vec4(.2, .8, .2, 1);
-*/
-    }
-
-    gl_FragColor = col * cosAng;
-}
-
-
diff --git a/java-one-2007/src/test/res/com/kitfox/javaone2007/shader/seperableSymmetricKernel.frag b/java-one-2007/src/test/res/com/kitfox/javaone2007/shader/seperableSymmetricKernel.frag
deleted file mode 100644
index 14e77c7..0000000
--- a/java-one-2007/src/test/res/com/kitfox/javaone2007/shader/seperableSymmetricKernel.frag
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
-Implements a seperable symmetric kernel.  
-
-The passed in kernel arrays are assumed to have odd sidelength and be reflected
-about their midpoint.  Eg, if kernelSizeX == 3 and the passed in kernelX array is
-
-[.5 .2 .1],
-
-this is preumed to represent the expanded vector
-
-[.1 .2 .5 .2 .1]
-
-The final convolution matrix is equal to the product of the Y vector and the
-X vector.  It will be of size m x n, where m is the length of the X vector
-and n is the length of the Y vector.
-
-*/
-
-uniform sampler2DRect source;
-
-const int maxKernelSize = 5;
-
-uniform float kernelX[maxKernelSize];  
-uniform float kernelY[maxKernelSize];
-/*
-uniform int kernelSizeX;
-uniform int kernelSizeY;
-*/
-vec4 buf[maxKernelSize * 2 - 1];
-
-
-int absInt(in int index)
-{
-    if (index >= 0)
-    {
-        return index;
-    }
-    else
-    {
-        return -index;
-    }
-}
-
-void main(void)
-{
-    int i, j;
-
-    for (i = 0; i < maxKernelSize * 2 - 1; i++)
-    {
-        buf[i] = vec4(0.0);
-        for (j = 0; j < maxKernelSize * 2 - 1; j++)
-        {
-            vec4 samp = texture2DRect(source, gl_TexCoord[0].st + vec2(i - maxKernelSize + 1, j - maxKernelSize + 1));
-            buf[i] += samp * kernelY[absInt(j - maxKernelSize + 1)];
-        }
-    }
-
-    vec4 res = vec4(0.0);
-    for (i = 0; i < maxKernelSize * 2 - 1; i++)
-    {
-        res += buf[i] * kernelX[absInt(i - maxKernelSize + 1)];
-    }
-
-/*
-    i = 0;
-    while (i < kernelSizeX)
-    {
-        i++;
-    }
-
-    for (i = 0; i < kernelSizeX; i++)
-    {
-    }
-*/
-
-    /*Sum vertical*/
-/*
-    for (i = 0; i < kernelSizeX * 2 - 1; i++)
-    {
-        for (j = 0; j < kernelSizeY * 2 - 1; j++)
-        {
-            vec4 samp = texture2DRect(source, gl_TexCoord[0].st + vec2(i - kernelSizeX + 1, j - kernelSizeY + 1));
-            buf[i] += samp * kernelY[absInt(j - kernelSizeY + 1)];
-        }
-    }
-*/
-
-    /*Sum horizontal*/
-/*
-    vec4 res = vec4(0.0);
-    for (i = 0; i < kernelSizeX * 2 - 1; i++)
-    {
-        res += buf[i] * kernelX[absInt(i - kernelSizeX + 1)];
-    }
-*/
-
-    gl_FragColor = res;
-}
-
-
diff --git a/libraries/nblibraries.properties b/libraries/nblibraries.properties
index 520fb73..cbeea1b 100755
--- a/libraries/nblibraries.properties
+++ b/libraries/nblibraries.properties
@@ -1,8 +1,10 @@
+libs.CopyLibs.classpath=\
+    ${base}/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar
+libs.CopyLibs.displayName=CopyLibs Task
+libs.CopyLibs.prop-version=2.0
 libs.junit.classpath=\
     ${base}/junit/junit-3.8.2.jar
 libs.junit.javadoc=\
     ${base}/junit/junit-3.8.2-api.zip
 libs.junit_4.classpath=\
     ${base}/junit_4/junit-4.1.jar
-libs.CopyLibs.classpath=\
-    ${base}/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar
diff --git a/svg-core/build.xml b/svg-core/build.xml
index 0fbc9b1..f7d3693 100755
--- a/svg-core/build.xml
+++ b/svg-core/build.xml
@@ -95,6 +95,7 @@
     
     <target name="-post-jar">
         <tstamp/>
+
         <jar destfile="${dist.jar}" update="false">
             <manifest>
                 <attribute name="Main-Class" value="com.kitfox.svg.app.SVGPlayer"/>
@@ -121,9 +122,11 @@
             </dname>
         </genkey>
         
-        <signjar jar="${dist.jar}" alias="${key.user}" storepass="${key.password}" keystore="${key.location}"/>
-        
         <copy file="${dist.jar}" toFile="${project.www.jar}"/>
+        <signjar jar="${project.www.jar}" 
+                 alias="${key.user}" 
+                 storepass="${key.password}" 
+                 keystore="${key.location}"/>
 
         <delete file="${project.tiny.jar}"/>
         <jar destfile="${project.tiny.jar}" update="true">
diff --git a/svg-core/nbproject/build-impl.xml b/svg-core/nbproject/build-impl.xml
index 3a71c95..a007430 100755
--- a/svg-core/nbproject/build-impl.xml
+++ b/svg-core/nbproject/build-impl.xml
@@ -12,18 +12,18 @@ is divided into following sections:
   - execution
   - debugging
   - javadoc
-  - junit compilation
-  - junit execution
-  - junit debugging
+  - test compilation
+  - test execution
+  - test debugging
   - applet
   - cleanup
 
         -->
 <project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="svg-salamander-core-impl">
-    <fail message="Please build using Ant 1.7.1 or higher.">
+    <fail message="Please build using Ant 1.8.0 or higher.">
         <condition>
             <not>
-                <antversion atleast="1.7.1"/>
+                <antversion atleast="1.8.0"/>
             </not>
         </condition>
     </fail>
@@ -79,8 +79,16 @@ is divided into following sections:
         <property file="nbproject/project.properties"/>
     </target>
     <target depends="-pre-init,-init-private,-init-libraries,-init-user,-init-project,-init-macrodef-property" name="-do-init">
+        <property name="platform.java" value="${java.home}/bin/java"/>
         <available file="${manifest.file}" property="manifest.available"/>
-        <available file="${application.splash}" property="splashscreen.available"/>
+        <condition property="splashscreen.available">
+            <and>
+                <not>
+                    <equals arg1="${application.splash}" arg2="" trim="true"/>
+                </not>
+                <available file="${application.splash}"/>
+            </and>
+        </condition>
         <condition property="main.class.available">
             <and>
                 <isset property="main.class"/>
@@ -89,58 +97,51 @@ is divided into following sections:
                 </not>
             </and>
         </condition>
-        <condition property="manifest.available+main.class">
+        <condition property="profile.available">
             <and>
-                <isset property="manifest.available"/>
-                <isset property="main.class.available"/>
+                <isset property="javac.profile"/>
+                <length length="0" string="${javac.profile}" when="greater"/>
+                <matches pattern="1\.[89](\..*)?" string="${javac.source}"/>
             </and>
         </condition>
+        <condition property="do.archive">
+            <or>
+                <not>
+                    <istrue value="${jar.archive.disabled}"/>
+                </not>
+                <istrue value="${not.archive.disabled}"/>
+            </or>
+        </condition>
         <condition property="do.mkdist">
             <and>
+                <isset property="do.archive"/>
                 <isset property="libs.CopyLibs.classpath"/>
                 <not>
                     <istrue value="${mkdist.disabled}"/>
                 </not>
             </and>
         </condition>
-        <condition property="manifest.available+main.class+mkdist.available">
-            <and>
-                <istrue value="${manifest.available+main.class}"/>
-                <isset property="do.mkdist"/>
-            </and>
-        </condition>
-        <condition property="manifest.available+main.class+mkdist.available+splashscreen.available">
-            <and>
-                <istrue value="${manifest.available+main.class+mkdist.available}"/>
-                <istrue value="${splashscreen.available}"/>
-            </and>
-        </condition>
-        <condition property="do.archive">
-            <not>
-                <istrue value="${jar.archive.disabled}"/>
-            </not>
-        </condition>
         <condition property="do.archive+manifest.available">
             <and>
                 <isset property="manifest.available"/>
                 <istrue value="${do.archive}"/>
             </and>
         </condition>
-        <condition property="do.archive+manifest.available+main.class">
+        <condition property="do.archive+main.class.available">
             <and>
-                <istrue value="${manifest.available+main.class}"/>
+                <isset property="main.class.available"/>
                 <istrue value="${do.archive}"/>
             </and>
         </condition>
-        <condition property="do.archive+manifest.available+main.class+mkdist.available">
+        <condition property="do.archive+splashscreen.available">
             <and>
-                <istrue value="${manifest.available+main.class+mkdist.available}"/>
+                <isset property="splashscreen.available"/>
                 <istrue value="${do.archive}"/>
             </and>
         </condition>
-        <condition property="do.archive+manifest.available+main.class+mkdist.available+splashscreen.available">
+        <condition property="do.archive+profile.available">
             <and>
-                <istrue value="${manifest.available+main.class+mkdist.available+splashscreen.available}"/>
+                <isset property="profile.available"/>
                 <istrue value="${do.archive}"/>
             </and>
         </condition>
@@ -172,6 +173,7 @@ is divided into following sections:
             </and>
         </condition>
         <property name="run.jvmargs" value=""/>
+        <property name="run.jvmargs.ide" value=""/>
         <property name="javac.compilerargs" value=""/>
         <property name="work.dir" value="${basedir}"/>
         <condition property="no.deps">
@@ -201,11 +203,56 @@ is divided into following sections:
         </condition>
         <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
         <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
-            <length length="0" string="${endorsed.classpath}" when="greater"/>
+            <and>
+                <isset property="endorsed.classpath"/>
+                <not>
+                    <equals arg1="${endorsed.classpath}" arg2="" trim="true"/>
+                </not>
+            </and>
+        </condition>
+        <condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}">
+            <isset property="profile.available"/>
+        </condition>
+        <condition else="false" property="jdkBug6558476">
+            <and>
+                <matches pattern="1\.[56]" string="${java.specification.version}"/>
+                <not>
+                    <os family="unix"/>
+                </not>
+            </and>
+        </condition>
+        <condition else="false" property="javac.fork">
+            <or>
+                <istrue value="${jdkBug6558476}"/>
+                <istrue value="${javac.external.vm}"/>
+            </or>
         </condition>
-        <property name="javac.fork" value="false"/>
         <property name="jar.index" value="false"/>
+        <property name="jar.index.metainf" value="${jar.index}"/>
+        <property name="copylibs.rebase" value="true"/>
         <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
+        <condition property="junit.available">
+            <or>
+                <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
+                <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
+            </or>
+        </condition>
+        <condition property="testng.available">
+            <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
+        </condition>
+        <condition property="junit+testng.available">
+            <and>
+                <istrue value="${junit.available}"/>
+                <istrue value="${testng.available}"/>
+            </and>
+        </condition>
+        <condition else="testng" property="testng.mode" value="mixed">
+            <istrue value="${junit+testng.available}"/>
+        </condition>
+        <condition else="" property="testng.debug.mode" value="-mixed">
+            <istrue value="${junit+testng.available}"/>
+        </condition>
+        <property name="java.failonerror" value="true"/>
     </target>
     <target name="-post-init">
         <!-- Empty placeholder for easier customization. -->
@@ -264,6 +311,7 @@ is divided into following sections:
                         <path path="@{classpath}"/>
                     </classpath>
                     <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <compilerarg line="${javac.profile.cmd.line.arg}"/>
                     <compilerarg line="${javac.compilerargs}"/>
                     <compilerarg value="-processorpath"/>
                     <compilerarg path="@{processorpath}:${empty.dir}"/>
@@ -303,6 +351,7 @@ is divided into following sections:
                         <path path="@{classpath}"/>
                     </classpath>
                     <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <compilerarg line="${javac.profile.cmd.line.arg}"/>
                     <compilerarg line="${javac.compilerargs}"/>
                     <customize/>
                 </javac>
@@ -337,17 +386,66 @@ is divided into following sections:
                 <delete>
                     <files includesfile="${javac.includesfile.binary}"/>
                 </delete>
-                <delete file="${javac.includesfile.binary}"/>
+                <delete>
+                    <fileset file="${javac.includesfile.binary}"/>
+                </delete>
             </sequential>
         </macrodef>
     </target>
-    <target name="-init-macrodef-junit">
+    <target if="${junit.available}" name="-init-macrodef-junit-init">
+        <condition else="false" property="nb.junit.batch" value="true">
+            <and>
+                <istrue value="${junit.available}"/>
+                <not>
+                    <isset property="test.method"/>
+                </not>
+            </and>
+        </condition>
+        <condition else="false" property="nb.junit.single" value="true">
+            <and>
+                <istrue value="${junit.available}"/>
+                <isset property="test.method"/>
+            </and>
+        </condition>
+    </target>
+    <target name="-init-test-properties">
+        <property name="test.binaryincludes" value="<nothing>"/>
+        <property name="test.binarytestincludes" value=""/>
+        <property name="test.binaryexcludes" value=""/>
+    </target>
+    <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
         <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
             <attribute default="${includes}" name="includes"/>
             <attribute default="${excludes}" name="excludes"/>
             <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
             <sequential>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}">
+                <property name="junit.forkmode" value="perTest"/>
+                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
+                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <customize/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
+        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property name="junit.forkmode" value="perTest"/>
+                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
                     <batchtest todir="${build.test.results.dir}">
                         <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
@@ -355,22 +453,321 @@ is divided into following sections:
                         <fileset dir="${test.res.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
                         </fileset>
+                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
+                            <filename name="${test.binarytestincludes}"/>
+                        </fileset>
                     </batchtest>
-                    <classpath>
-                        <path path="${run.test.classpath}"/>
-                    </classpath>
                     <syspropertyset>
                         <propertyref prefix="test-sys-prop."/>
                         <mapper from="test-sys-prop.*" to="*" type="glob"/>
                     </syspropertyset>
                     <formatter type="brief" usefile="false"/>
                     <formatter type="xml"/>
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg line="${run.jvmargs}"/>
+                    <jvmarg value="-ea"/>
+                    <customize/>
                 </junit>
             </sequential>
         </macrodef>
     </target>
+    <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
+    <target if="${testng.available}" name="-init-macrodef-testng">
+        <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
+                    <isset property="test.method"/>
+                </condition>
+                <union id="test.set">
+                    <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
+                        <filename name="@{testincludes}"/>
+                    </fileset>
+                    <fileset dir="${test.res.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
+                        <filename name="@{testincludes}"/>
+                    </fileset>
+                </union>
+                <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
+                <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="svg-salamander-core" testname="TestNG tests" workingDir="${work.dir}">
+                    <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
+                    <propertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </propertyset>
+                    <customize/>
+                </testng>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-test-impl">
+        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <echo>No tests executed.</echo>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
+        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize/>
+                </j2seproject3:junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
+        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize/>
+                </j2seproject3:testng>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
+        <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <sequential>
+                <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize>
+                        <classpath>
+                            <path path="${run.test.classpath}"/>
+                        </classpath>
+                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                        <jvmarg line="${run.jvmargs}"/>
+                        <jvmarg line="${run.jvmargs.ide}"/>
+                    </customize>
+                </j2seproject3:test-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
+        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property name="junit.forkmode" value="perTest"/>
+                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
+                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <jvmarg line="${debug-args-line}"/>
+                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+                    <customize/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
+        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property name="junit.forkmode" value="perTest"/>
+                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
+                    <batchtest todir="${build.test.results.dir}">
+                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
+                        <fileset dir="${test.res.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
+                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
+                            <filename name="${test.binarytestincludes}"/>
+                        </fileset>
+                    </batchtest>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <jvmarg line="${debug-args-line}"/>
+                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+                    <customize/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
+        <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize/>
+                </j2seproject3:junit-debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="${testng.available}" name="-init-macrodef-testng-debug">
+        <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <element name="customize2" optional="true"/>
+            <sequential>
+                <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
+                    <isset property="test.method"/>
+                </condition>
+                <condition else="-suitename svg-salamander-core -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
+                    <matches pattern=".*\.xml" string="@{testClass}"/>
+                </condition>
+                <delete dir="${build.test.results.dir}" quiet="true"/>
+                <mkdir dir="${build.test.results.dir}"/>
+                <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}">
+                    <customize>
+                        <customize2/>
+                        <jvmarg value="-ea"/>
+                        <arg line="${testng.debug.mode}"/>
+                        <arg line="-d ${build.test.results.dir}"/>
+                        <arg line="-listener org.testng.reporters.VerboseReporter"/>
+                        <arg line="${testng.cmd.args}"/>
+                    </customize>
+                </j2seproject3:debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
+        <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <element implicit="true" name="customize2" optional="true"/>
+            <sequential>
+                <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
+                    <customize2/>
+                </j2seproject3:testng-debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
+        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <sequential>
+                <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize>
+                        <classpath>
+                            <path path="${run.test.classpath}"/>
+                        </classpath>
+                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                        <jvmarg line="${run.jvmargs}"/>
+                        <jvmarg line="${run.jvmargs.ide}"/>
+                    </customize>
+                </j2seproject3:test-debug-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
+        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <sequential>
+                <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
+                    <customize2>
+                        <syspropertyset>
+                            <propertyref prefix="test-sys-prop."/>
+                            <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                        </syspropertyset>
+                    </customize2>
+                </j2seproject3:testng-debug-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
+    <!--
+                pre NB7.2 profiling section; consider it deprecated
+            -->
+    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
+    <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile">
+        <macrodef name="resolve">
+            <attribute name="name"/>
+            <attribute name="value"/>
+            <sequential>
+                <property name="@{name}" value="${env.@{value}}"/>
+            </sequential>
+        </macrodef>
+        <macrodef name="profile">
+            <attribute default="${main.class}" name="classname"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property environment="env"/>
+                <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
+                <java classname="@{classname}" dir="${profiler.info.dir}" failonerror="${java.failonerror}" fork="true" jvm="${profiler.info.jvm}">
+                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
+                    <jvmarg line="${profiler.info.jvmargs}"/>
+                    <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
+                    <arg line="${application.args}"/>
+                    <classpath>
+                        <path path="${run.classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check">
+        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
+        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
+    </target>
+    <!--
+                end of pre NB7.2 profiling section
+            -->
     <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
         <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
             <attribute default="${main.class}" name="name"/>
@@ -421,13 +818,14 @@ is divided into following sections:
             <attribute default="${debug.classpath}" name="classpath"/>
             <element name="customize" optional="true"/>
             <sequential>
-                <java classname="@{classname}" dir="${work.dir}" fork="true">
+                <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true">
                     <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
                     <jvmarg line="${debug-args-line}"/>
                     <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
                     <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
                     <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
                     <jvmarg line="${run.jvmargs}"/>
+                    <jvmarg line="${run.jvmargs.ide}"/>
                     <classpath>
                         <path path="@{classpath}"/>
                     </classpath>
@@ -444,13 +842,15 @@ is divided into following sections:
         <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
             <attribute default="${main.class}" name="classname"/>
             <attribute default="${run.classpath}" name="classpath"/>
+            <attribute default="jvm" name="jvm"/>
             <element name="customize" optional="true"/>
             <sequential>
-                <java classname="@{classname}" dir="${work.dir}" fork="true">
+                <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true">
                     <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
                     <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
                     <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
                     <jvmarg line="${run.jvmargs}"/>
+                    <jvmarg line="${run.jvmargs.ide}"/>
                     <classpath>
                         <path path="@{classpath}"/>
                     </classpath>
@@ -465,6 +865,7 @@ is divided into following sections:
     </target>
     <target name="-init-macrodef-copylibs">
         <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${manifest.file}" name="manifest"/>
             <element name="customize" optional="true"/>
             <sequential>
                 <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
@@ -476,12 +877,15 @@ is divided into following sections:
                     <path path="${run.classpath.without.build.classes.dir}"/>
                     <chainedmapper>
                         <flattenmapper/>
+                        <filtermapper>
+                            <replacestring from=" " to="%20"/>
+                        </filtermapper>
                         <globmapper from="*" to="lib/*"/>
                     </chainedmapper>
                 </pathconvert>
                 <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
-                <copylibs compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}" manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
-                    <fileset dir="${build.classes.dir}"/>
+                <copylibs compress="${jar.compress}" excludeFromCopy="${copylibs.excludes}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
+                    <fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
                     <manifest>
                         <attribute name="Class-Path" value="${jar.classpath}"/>
                         <customize/>
@@ -493,7 +897,7 @@ is divided into following sections:
     <target name="-init-presetdef-jar">
         <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
             <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}">
-                <j2seproject1:fileset dir="${build.classes.dir}"/>
+                <j2seproject1:fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
             </jar>
         </presetdef>
     </target>
@@ -521,7 +925,7 @@ is divided into following sections:
     <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
         <property name="ap.cmd.line.internal" value=""/>
     </target>
-    <target depends="-pre-init,-init-private,-init-libraries,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
+    <target depends="-pre-init,-init-private,-init-libraries,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
     <!--
                 ===================
                 COMPILATION SECTION
@@ -578,7 +982,7 @@ is divided into following sections:
     <target if="has.persistence.xml" name="-copy-persistence-xml">
         <mkdir dir="${build.classes.dir}/META-INF"/>
         <copy todir="${build.classes.dir}/META-INF">
-            <fileset dir="${meta.inf.dir}" includes="persistence.xml"/>
+            <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/>
         </copy>
     </target>
     <target name="-post-compile">
@@ -613,56 +1017,67 @@ is divided into following sections:
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive" name="-do-jar-without-manifest" unless="manifest.available">
-        <j2seproject1:jar/>
+    <target depends="init" if="do.archive" name="-do-jar-create-manifest" unless="manifest.available">
+        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
+        <touch file="${tmp.manifest.file}" verbose="false"/>
     </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class">
-        <j2seproject1:jar manifest="${manifest.file}"/>
+    <target depends="init" if="do.archive+manifest.available" name="-do-jar-copy-manifest">
+        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
+        <copy file="${manifest.file}" tofile="${tmp.manifest.file}"/>
     </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available">
-        <j2seproject1:jar manifest="${manifest.file}">
-            <j2seproject1:manifest>
-                <j2seproject1:attribute name="Main-Class" value="${main.class}"/>
-            </j2seproject1:manifest>
-        </j2seproject1:jar>
-        <echo>To run this application from the command line without Ant, try:</echo>
-        <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
-        <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <pathconvert property="run.classpath.with.dist.jar">
-            <path path="${run.classpath}"/>
-            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
-        </pathconvert>
-        <echo>java -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
+    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+main.class.available" name="-do-jar-set-mainclass">
+        <manifest file="${tmp.manifest.file}" mode="update">
+            <attribute name="Main-Class" value="${main.class}"/>
+        </manifest>
     </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar,-init-macrodef-copylibs" if="do.archive+manifest.available+main.class+mkdist.available+splashscreen.available" name="-do-jar-with-libraries-and-splashscreen">
+    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+profile.available" name="-do-jar-set-profile">
+        <manifest file="${tmp.manifest.file}" mode="update">
+            <attribute name="Profile" value="${javac.profile}"/>
+        </manifest>
+    </target>
+    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-set-splashscreen">
         <basename file="${application.splash}" property="splashscreen.basename"/>
         <mkdir dir="${build.classes.dir}/META-INF"/>
         <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/>
-        <j2seproject3:copylibs>
-            <customize>
-                <attribute name="Main-Class" value="${main.class}"/>
-                <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
-            </customize>
-        </j2seproject3:copylibs>
-        <echo>To run this application from the command line without Ant, try:</echo>
+        <manifest file="${tmp.manifest.file}" mode="update">
+            <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
+        </manifest>
+    </target>
+    <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.mkdist" name="-do-jar-copylibs">
+        <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
+        <echo level="info">To run this application from the command line without Ant, try:</echo>
         <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <echo>java -jar "${dist.jar.resolved}"</echo>
+        <echo level="info">java -jar "${dist.jar.resolved}"</echo>
     </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar,-init-macrodef-copylibs" if="do.archive+manifest.available+main.class+mkdist.available" name="-do-jar-with-libraries" unless="splashscreen.available">
-        <j2seproject3:copylibs>
-            <customize>
-                <attribute name="Main-Class" value="${main.class}"/>
-            </customize>
-        </j2seproject3:copylibs>
-        <echo>To run this application from the command line without Ant, try:</echo>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.archive" name="-do-jar-jar" unless="do.mkdist">
+        <j2seproject1:jar manifest="${tmp.manifest.file}"/>
+        <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
         <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <echo>java -jar "${dist.jar.resolved}"</echo>
+        <pathconvert property="run.classpath.with.dist.jar">
+            <path path="${run.classpath}"/>
+            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
+        </pathconvert>
+        <condition else="" property="jar.usage.message" value="To run this application from the command line without Ant, try:${line.separator}${platform.java} -cp ${run.classpath.with.dist.jar} ${main.class}">
+            <isset property="main.class.available"/>
+        </condition>
+        <condition else="debug" property="jar.usage.level" value="info">
+            <isset property="main.class.available"/>
+        </condition>
+        <echo level="${jar.usage.level}" message="${jar.usage.message}"/>
     </target>
+    <target depends="-do-jar-copylibs" if="do.archive" name="-do-jar-delete-manifest">
+        <delete>
+            <fileset file="${tmp.manifest.file}"/>
+        </delete>
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-jar,-do-jar-delete-manifest" name="-do-jar-without-libraries"/>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-copylibs,-do-jar-delete-manifest" name="-do-jar-with-libraries"/>
     <target name="-post-jar">
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries-and-splashscreen,-do-jar-with-libraries,-post-jar" description="Build JAR." name="jar"/>
+    <target depends="init,compile,-pre-jar,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/>
+    <target depends="init,compile,-pre-jar,-do-jar,-post-jar" description="Build JAR." name="jar"/>
     <!--
                 =================
                 EXECUTION SECTION
@@ -728,34 +1143,146 @@ is divided into following sections:
     </target>
     <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
     <!--
+                =================
+                PROFILING SECTION
+                =================
+            -->
+    <!--
+                pre NB7.2 profiler integration
+            -->
+    <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
+        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile/>
+    </target>
+    <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72">
+        <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
+        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile classname="${profile.class}"/>
+    </target>
+    <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
+        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile classname="sun.applet.AppletViewer">
+            <customize>
+                <arg value="${applet.url}"/>
+            </customize>
+        </profile>
+    </target>
+    <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
+        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
+            <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
+            <jvmarg value="${profiler.info.jvmargs.agent}"/>
+            <jvmarg line="${profiler.info.jvmargs}"/>
+            <test name="${profile.class}"/>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+            </classpath>
+            <syspropertyset>
+                <propertyref prefix="test-sys-prop."/>
+                <mapper from="test-sys-prop.*" to="*" type="glob"/>
+            </syspropertyset>
+            <formatter type="brief" usefile="false"/>
+            <formatter type="xml"/>
+        </junit>
+    </target>
+    <!--
+                end of pre NB72 profiling section
+            -->
+    <target if="netbeans.home" name="-profile-check">
+        <condition property="profiler.configured">
+            <or>
+                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
+                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
+            </or>
+        </condition>
+    </target>
+    <target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
+        <startprofiler/>
+        <antcall target="run"/>
+    </target>
+    <target depends="-profile-check,-profile-single-pre72" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-single" unless="profiler.info.jvmargs.agent">
+        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+        <startprofiler/>
+        <antcall target="run-single"/>
+    </target>
+    <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/>
+    <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs">
+        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
+        <startprofiler/>
+        <antcall target="test-single"/>
+    </target>
+    <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
+        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+        <startprofiler/>
+        <antcal target="run-test-with-main"/>
+    </target>
+    <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
+        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
+        <startprofiler/>
+        <antcall target="run-applet"/>
+    </target>
+    <!--
                 ===============
                 JAVADOC SECTION
                 ===============
             -->
     <target depends="init" if="have.sources" name="-javadoc-build">
         <mkdir dir="${dist.javadoc.dir}"/>
-        <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
+        <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
+            <and>
+                <isset property="endorsed.classpath.cmd.line.arg"/>
+                <not>
+                    <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/>
+                </not>
+            </and>
+        </condition>
+        <condition else="" property="bug5101868workaround" value="*.java">
+            <matches pattern="1\.[56](\..*)?" string="${java.version}"/>
+        </condition>
+        <javadoc additionalparam="-J-Dfile.encoding=${file.encoding} ${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version} [...]
             <classpath>
                 <path path="${javac.classpath}"/>
             </classpath>
-            <fileset dir="${src.www.dir}" excludes="${excludes}" includes="${includes}">
+            <fileset dir="${src.www.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
                 <filename name="**/*.java"/>
             </fileset>
-            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
+            <fileset dir="${src.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
                 <filename name="**/*.java"/>
             </fileset>
-            <fileset dir="${src.java.dir}" excludes="${excludes}" includes="${includes}">
+            <fileset dir="${src.java.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
                 <filename name="**/*.java"/>
             </fileset>
-            <fileset dir="${src.res.dir}" excludes="${excludes}" includes="${includes}">
+            <fileset dir="${src.res.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
                 <filename name="**/*.java"/>
             </fileset>
-            <fileset dir="${res.dir}" excludes="${excludes}" includes="${includes}">
+            <fileset dir="${res.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
                 <filename name="**/*.java"/>
             </fileset>
             <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
                 <include name="**/*.java"/>
+                <exclude name="*.java"/>
             </fileset>
+            <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
         </javadoc>
         <copy todir="${dist.javadoc.dir}">
             <fileset dir="${src.www.dir}" excludes="${excludes}" includes="${includes}">
@@ -784,7 +1311,7 @@ is divided into following sections:
     <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
     <!--
                 =========================
-                JUNIT COMPILATION SECTION
+                TEST COMPILATION SECTION
                 =========================
             -->
     <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
@@ -797,7 +1324,7 @@ is divided into following sections:
     <target if="do.depend.true" name="-compile-test-depend">
         <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}:${test.res.dir}"/>
     </target>
-    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
+    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
         <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.src.dir}:${test.res.dir}"/>
         <copy todir="${build.test.classes.dir}">
             <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
@@ -813,7 +1340,7 @@ is divided into following sections:
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
+    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
         <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
         <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
         <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.src.dir}:${test.res.dir}" srcdir="${test.src.dir}:${test.res.dir}"/>
@@ -829,14 +1356,14 @@ is divided into following sections:
     <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
     <!--
                 =======================
-                JUNIT EXECUTION SECTION
+                TEST EXECUTION SECTION
                 =======================
             -->
     <target depends="init" if="have.tests" name="-pre-test-run">
         <mkdir dir="${build.test.results.dir}"/>
     </target>
     <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
-        <j2seproject3:junit testincludes="**/*Test.java"/>
+        <j2seproject3:test includes="${includes}" testincludes="**/*Test.java"/>
     </target>
     <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
         <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
@@ -849,39 +1376,40 @@ is divided into following sections:
     </target>
     <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
         <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
-        <j2seproject3:junit excludes="" includes="${test.includes}"/>
+        <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
     </target>
     <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
         <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
     </target>
     <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
+        <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
+        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
+        <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
+        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
     <!--
                 =======================
-                JUNIT DEBUGGING SECTION
+                TEST DEBUGGING SECTION
                 =======================
             -->
-    <target depends="init,compile-test" if="have.tests" name="-debug-start-debuggee-test">
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
         <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
-        <property location="${build.test.results.dir}/TEST-${test.class}.xml" name="test.report.file"/>
-        <delete file="${test.report.file}"/>
-        <mkdir dir="${build.test.results.dir}"/>
-        <j2seproject3:debug classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" classpath="${ant.home}/lib/ant.jar:${ant.home}/lib/ant-junit.jar:${debug.test.classpath}">
-            <customize>
-                <syspropertyset>
-                    <propertyref prefix="test-sys-prop."/>
-                    <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                </syspropertyset>
-                <arg value="${test.class}"/>
-                <arg value="showoutput=true"/>
-                <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/>
-                <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/>
-            </customize>
-        </j2seproject3:debug>
+        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
+        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
+        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
+        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
     </target>
     <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
         <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
     </target>
     <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
+    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
     <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
         <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
     </target>
@@ -946,9 +1474,12 @@ is divided into following sections:
     <target name="-check-call-dep">
         <property file="${call.built.properties}" prefix="already.built."/>
         <condition property="should.call.dep">
-            <not>
-                <isset property="already.built.${call.subproject}"/>
-            </not>
+            <and>
+                <not>
+                    <isset property="already.built.${call.subproject}"/>
+                </not>
+                <available file="${call.script}"/>
+            </and>
         </condition>
     </target>
     <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
diff --git a/svg-core/nbproject/genfiles.properties b/svg-core/nbproject/genfiles.properties
index 49bff32..7cb00d2 100755
--- a/svg-core/nbproject/genfiles.properties
+++ b/svg-core/nbproject/genfiles.properties
@@ -4,5 +4,5 @@ build.xml.stylesheet.CRC32=be360661
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 nbproject/build-impl.xml.data.CRC32=478066e1
-nbproject/build-impl.xml.script.CRC32=1ebb99f0
-nbproject/build-impl.xml.stylesheet.CRC32=229523de at 1.38.3.45
+nbproject/build-impl.xml.script.CRC32=515d6ec8
+nbproject/build-impl.xml.stylesheet.CRC32=05530350 at 1.79.1.48
diff --git a/svg-core/nbproject/project.properties b/svg-core/nbproject/project.properties
index 406fd4c..a99fc58 100755
--- a/svg-core/nbproject/project.properties
+++ b/svg-core/nbproject/project.properties
@@ -1,5 +1,6 @@
 annotation.processing.enabled=true
 annotation.processing.enabled.in.editor=false
+annotation.processing.processors.list=
 annotation.processing.run.all.processors=true
 application.title=svg-salamander-core
 application.vendor=kitfox
@@ -38,6 +39,7 @@ javac.classpath=\
 # Space-separated list of extra javac options
 javac.compilerargs=
 javac.deprecation=false
+javac.external.vm=false
 javac.processorpath=\
     ${javac.classpath}
 javac.source=1.4
@@ -67,6 +69,7 @@ jnlp.signed=true
 main.class=com.kitfox.svg.app.SVGPlayer
 manifest.file=manifest.mf
 meta.inf.dir=${src.dir}/META-INF
+mkdist.disabled=false
 platform.active=default_platform
 res.dir=${file.reference.main-res}
 run.classpath=\
diff --git a/svg-core/pom.xml b/svg-core/pom.xml
index f56f7f9..89ab989 100644
--- a/svg-core/pom.xml
+++ b/svg-core/pom.xml
@@ -11,12 +11,12 @@
 	<!-- TODO Mark: replace with com.kitfox -->
 	<groupId>com.kitfox</groupId>
 	<artifactId>kitfox-svg-salamander</artifactId>
-	<version>1.0.8</version>
+	<version>1.0.39</version>
 	<packaging>jar</packaging>
 
 	<name>${project.artifactId}</name>
 
-	<description>${project.name} SVGSalamander is a popular, small and fast
+	<description>${project.name} SVGSalamander is a light weight
 		SVG renderer and animator for Java.</description>
 
 	<!-- TODO Mark: set actual year -->
@@ -31,9 +31,9 @@
 
 	<!-- TODO Mark: replace with your repo url paths -->
 	<scm>
-		<url>http://svgsalamander.java.net/tags/kitfox-svg-salamander-1.0.8</url>
-		<connection>scm:svn:https://svn.java.net/svn/svgsalamander~svn/tags/kitfox-svg-salamander-1.0.8</connection>
-		<developerConnection>scm:svn:https://svn.java.net/svn/svgsalamander~svn/tags/kitfox-svg-salamander-1.0.8</developerConnection>
+		<url>http://svgsalamander.java.net/tags/kitfox-svg-salamander-1.0.39</url>
+		<connection>scm:svn:https://svn.java.net/svn/svgsalamander~svn/tags/kitfox-svg-salamander-1.0.39</connection>
+		<developerConnection>scm:svn:https://svn.java.net/svn/svgsalamander~svn/tags/kitfox-svg-salamander-1.0.39</developerConnection>
 	</scm>
 
 	<!-- TODO Mark: replace with your license -->
diff --git a/svg-core/src/main/java/com/kitfox/svg/A.java b/svg-core/src/main/java/com/kitfox/svg/A.java
index 30a8fae..7283557 100644
--- a/svg-core/src/main/java/com/kitfox/svg/A.java
+++ b/svg-core/src/main/java/com/kitfox/svg/A.java
@@ -1,26 +1,35 @@
 /*
- * Stop.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 1:56 AM
  */
@@ -28,33 +37,28 @@
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
-import java.awt.*;
 import java.net.URI;
 
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class A extends Group {
+public class A extends Group
+{
+    public static final String TAG_NAME = "a";
 
     URI href;
     String title;
 
     /** Creates a new instance of Stop */
-    public A() {
-    }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+    public A()
     {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        String offset = attrs.getValue("offset");
-        this.offset = (float)XMLParseUtil.parseRatio(offset);
+    }
 
-        buildStop();
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
-    */
     
     protected void build() throws SVGException
     {
diff --git a/svg-core/src/main/java/com/kitfox/svg/Circle.java b/svg-core/src/main/java/com/kitfox/svg/Circle.java
index 93c576f..6c2eff8 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Circle.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Circle.java
@@ -1,30 +1,38 @@
 /*
- * Rect.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 5:25 PM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
@@ -37,59 +45,48 @@ import java.awt.geom.Rectangle2D;
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class Circle extends ShapeElement 
+public class Circle extends ShapeElement
 {
 
+    public static final String TAG_NAME = "circle";
     float cx = 0f;
     float cy = 0f;
     float r = 0f;
-
-
     Ellipse2D.Float circle = new Ellipse2D.Float();
 
-    /** Creates a new instance of Rect */
-    public Circle() {
-    }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+    /**
+     * Creates a new instance of Rect
+     */
+    public Circle()
     {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        String cx = attrs.getValue("cx");
-        String cy = attrs.getValue("cy");
-        String r = attrs.getValue("r");
-
-        this.cx = XMLParseUtil.parseFloat(cx);
-        this.cy = XMLParseUtil.parseFloat(cy);
-        this.r = XMLParseUtil.parseFloat(r);
-
-        build();
-        
-        //setBounds(this.cx - this.r, this.cy - this.r, this.r * 2.0, this.r * 2.0);
     }
-*/
-    /*
-    public void loaderEndElement(SVGLoaderHelper helper)
-    {
-//        super.loaderEndElement(helper);
 
-//        build();
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
-     */
-    
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-        if (getPres(sty.setName("cx"))) cx = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("cy"))) cy = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("r"))) r = sty.getFloatValueWithUnits();
-        
+
+        if (getPres(sty.setName("cx")))
+        {
+            cx = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("cy")))
+        {
+            cy = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("r")))
+        {
+            r = sty.getFloatValueWithUnits();
+        }
+
         circle.setFrame(cx - r, cy - r, r * 2f, r * 2f);
     }
 
@@ -111,8 +108,9 @@ public class Circle extends ShapeElement
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -124,7 +122,7 @@ public class Circle extends ShapeElement
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean shapeChange = false;
-        
+
         if (getPres(sty.setName("cx")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -134,7 +132,7 @@ public class Circle extends ShapeElement
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("cy")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -144,7 +142,7 @@ public class Circle extends ShapeElement
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("r")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -154,18 +152,14 @@ public class Circle extends ShapeElement
                 shapeChange = true;
             }
         }
-        
+
         if (shapeChange)
         {
             build();
 //            circle.setFrame(cx - r, cy - r, r * 2f, r * 2f);
 //            return true;
         }
-        
+
         return changeState || shapeChange;
     }
-    
 }
-
-
-
diff --git a/svg-core/src/main/java/com/kitfox/svg/ClipPath.java b/svg-core/src/main/java/com/kitfox/svg/ClipPath.java
index 993521c..5b00fc9 100644
--- a/svg-core/src/main/java/com/kitfox/svg/ClipPath.java
+++ b/svg-core/src/main/java/com/kitfox/svg/ClipPath.java
@@ -1,30 +1,38 @@
 /*
- * Stop.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 1:56 AM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
@@ -36,61 +44,47 @@ import java.util.Iterator;
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class ClipPath extends SVGElement 
+public class ClipPath extends SVGElement
 {
 
+    public static final String TAG_NAME = "clippath";
     public static final int CP_USER_SPACE_ON_USE = 0;
     public static final int CP_OBJECT_BOUNDING_BOX = 1;
-
     int clipPathUnits = CP_USER_SPACE_ON_USE;
 
-    /** Creates a new instance of Stop */
-    public ClipPath() {
-    }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+    /**
+     * Creates a new instance of Stop
+     */
+    public ClipPath()
     {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        String clipPathUnits = attrs.getValue("clipPathUnits");
-
-        if (clipPathUnits.equals("objectBoundingBox")) this.clipPathUnits = CP_OBJECT_BOUNDING_BOX;
+    }
 
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
-*/
+
     /**
      * Called after the start element but before the end element to indicate
      * each child tag that has been processed
      */
     public void loaderAddChild(SVGLoaderHelper helper, SVGElement child) throws SVGElementException
     {
-		super.loaderAddChild(helper, child);
-
-//        if (child instanceof ShapeElement) members.add(child);
+        super.loaderAddChild(helper, child);
     }
 
-    /*
-    public void loaderEndElement(SVGLoaderHelper helper)
-    {
-//        super.loaderEndElement(helper);
-
-//        build();
-    }
-    */
-    
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
+
         clipPathUnits = (getPres(sty.setName("clipPathUnits"))
-            && sty.getStringValue().equals("objectBoundingBox")) 
-            ? CP_OBJECT_BOUNDING_BOX 
+            && sty.getStringValue().equals("objectBoundingBox"))
+            ? CP_OBJECT_BOUNDING_BOX
             : CP_USER_SPACE_ON_USE;
     }
-    
+
     public int getClipPathUnits()
     {
         return clipPathUnits;
@@ -98,50 +92,63 @@ public class ClipPath extends SVGElement
 
     public Shape getClipPathShape()
     {
-        if (children.size() == 0) return null;
-        if (children.size() == 1) return ((ShapeElement)children.get(0)).getShape();
+        if (children.isEmpty())
+        {
+            return null;
+        }
+        if (children.size() == 1)
+        {
+            return ((ShapeElement) children.get(0)).getShape();
+        }
 
         Area clipArea = null;
         for (Iterator it = children.iterator(); it.hasNext();)
         {
-            ShapeElement se = (ShapeElement)it.next();
+            ShapeElement se = (ShapeElement) it.next();
 
             if (clipArea == null)
             {
                 Shape shape = se.getShape();
-                if (shape != null) clipArea = new Area(se.getShape());
+                if (shape != null)
+                {
+                    clipArea = new Area(se.getShape());
+                }
                 continue;
             }
 
             Shape shape = se.getShape();
-            if (shape != null) clipArea.intersect(new Area(shape));
+            if (shape != null)
+            {
+                clipArea.intersect(new Area(shape));
+            }
         }
 
         return clipArea;
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
+     * @param curTime
      * @return - true if this node has changed state as a result of the time
      * update
+     * @throws com.kitfox.svg.SVGException
      */
     public boolean updateTime(double curTime) throws SVGException
     {
-//        if (trackManager.getNumTracks() == 0) return false;
-
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean shapeChange = false;
 
-        
+
         if (getPres(sty.setName("clipPathUnits")))
         {
             String newUnitsStrn = sty.getStringValue();
             int newUnits = newUnitsStrn.equals("objectBoundingBox")
-                ? CP_OBJECT_BOUNDING_BOX 
+                ? CP_OBJECT_BOUNDING_BOX
                 : CP_USER_SPACE_ON_USE;
-                
+
             if (newUnits != clipPathUnits)
             {
                 clipPathUnits = newUnits;
@@ -154,6 +161,12 @@ public class ClipPath extends SVGElement
             build();
         }
 
+        for (int i = 0; i < children.size(); ++i)
+        {
+            SVGElement ele = (SVGElement) children.get(i);
+            ele.updateTime(curTime);
+        }
+        
         return shapeChange;
     }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/Defs.java b/svg-core/src/main/java/com/kitfox/svg/Defs.java
index 18586ab..0d70284 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Defs.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Defs.java
@@ -1,38 +1,41 @@
 /*
- * Stop.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 1:56 AM
  */
-
 package com.kitfox.svg;
 
-import java.awt.*;
-import java.awt.geom.*;
-import java.util.*;
-
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
+import java.util.Iterator;
 
 /**
  * @author Mark McKay
@@ -41,8 +44,18 @@ import org.xml.sax.*;
 public class Defs extends TransformableElement
 {
 
-    /** Creates a new instance of Stop */
-    public Defs() {
+    public static final String TAG_NAME = "defs";
+
+    /**
+     * Creates a new instance of Stop
+     */
+    public Defs()
+    {
+    }
+
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
 
     /**
@@ -51,7 +64,7 @@ public class Defs extends TransformableElement
      */
     public void loaderAddChild(SVGLoaderHelper helper, SVGElement child) throws SVGElementException
     {
-		super.loaderAddChild(helper, child);
+        super.loaderAddChild(helper, child);
 
 //        members.add(child);
     }
@@ -61,10 +74,10 @@ public class Defs extends TransformableElement
         boolean stateChange = false;
         for (Iterator it = children.iterator(); it.hasNext();)
         {
-            SVGElement ele = (SVGElement)it.next();
+            SVGElement ele = (SVGElement) it.next();
             stateChange = stateChange || ele.updateTime(curTime);
         }
-        
+
         return super.updateTime(curTime) || stateChange;
     }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/Desc.java b/svg-core/src/main/java/com/kitfox/svg/Desc.java
index 4eb2c8f..e717f5e 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Desc.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Desc.java
@@ -1,30 +1,38 @@
 /*
- * Stop.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on September 19, 2004, 1:56 AM
  */
-
 package com.kitfox.svg;
 
 /**
@@ -33,12 +41,22 @@ package com.kitfox.svg;
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class Desc extends SVGElement {
+public class Desc extends SVGElement
+{
 
+    public static final String TAG_NAME = "desc";
     StringBuffer text = new StringBuffer();
 
-    /** Creates a new instance of Stop */
-    public Desc() {
+    /**
+     * Creates a new instance of Stop
+     */
+    public Desc()
+    {
+    }
+
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
 
     /**
@@ -49,8 +67,11 @@ public class Desc extends SVGElement {
         this.text.append(text);
     }
 
-    public String getText() { return text.toString(); }
-    
+    public String getText()
+    {
+        return text.toString();
+    }
+
     public boolean updateTime(double curTime)
     {
         return false;
diff --git a/svg-core/src/main/java/com/kitfox/svg/Ellipse.java b/svg-core/src/main/java/com/kitfox/svg/Ellipse.java
index 30586e2..6051d3f 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Ellipse.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Ellipse.java
@@ -1,110 +1,98 @@
 /*
- * Rect.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 5:25 PM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
-
-import java.awt.*;
-import java.awt.geom.*;
+import java.awt.Graphics2D;
+import java.awt.Shape;
+import java.awt.geom.Ellipse2D;
+import java.awt.geom.Rectangle2D;
 
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class Ellipse extends ShapeElement {
+public class Ellipse extends ShapeElement
+{
 
+    public static final String TAG_NAME = "ellipse";
     float cx = 0.0f;
     float cy = 0.0f;
     float rx = 0.0f;
     float ry = 0.0f;
-
     Ellipse2D.Float ellipse = new Ellipse2D.Float();
 
-    /** Creates a new instance of Rect */
-    public Ellipse() {
+    /**
+     * Creates a new instance of Rect
+     */
+    public Ellipse()
+    {
     }
-/*
-    protected void init(String idIn, Style parentStyle, String cx, String cy, String rx, String ry) {
-        super.init(idIn, parentStyle);
-
-        this.cx = parseDouble(cx);
-        this.cy = parseDouble(cy);
-        this.rx = parseDouble(rx);
-        this.ry = parseDouble(ry);
 
-        setBounds(this.cx - this.rx, this.cy - this.ry, this.rx * 2.0, this.ry * 2.0);
-    }
-*/
-    /*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+    public String getTagName()
     {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        String cx = attrs.getValue("cx");
-        String cy = attrs.getValue("cy");
-        String rx = attrs.getValue("rx");
-        String ry = attrs.getValue("ry");
-
-        this.cx = XMLParseUtil.parseDouble(cx);
-        this.cy = XMLParseUtil.parseDouble(cy);
-        this.rx = XMLParseUtil.parseDouble(rx);
-        this.ry = XMLParseUtil.parseDouble(ry);
-
-        build();
+        return TAG_NAME;
     }
-    */
-    
-    /*
-    public void loaderEndElement(SVGLoaderHelper helper)
-    {
-        super.loaderEndElement(helper);
 
-        build();
-    }
-     */
-    
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-        if (getPres(sty.setName("cx"))) cx = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("cy"))) cy = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("rx"))) rx = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("ry"))) ry = sty.getFloatValueWithUnits();
-        
+
+        if (getPres(sty.setName("cx")))
+        {
+            cx = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("cy")))
+        {
+            cy = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("rx")))
+        {
+            rx = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("ry")))
+        {
+            ry = sty.getFloatValueWithUnits();
+        }
+
         ellipse.setFrame(cx - rx, cy - ry, rx * 2f, ry * 2f);
     }
 
@@ -124,10 +112,11 @@ public class Ellipse extends ShapeElement {
     {
         return boundsToParent(includeStrokeInBounds(ellipse.getBounds2D()));
     }
-    
+
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -139,7 +128,7 @@ public class Ellipse extends ShapeElement {
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean shapeChange = false;
-        
+
         if (getPres(sty.setName("cx")))
         {
             float newCx = sty.getFloatValueWithUnits();
@@ -149,7 +138,7 @@ public class Ellipse extends ShapeElement {
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("cy")))
         {
             float newCy = sty.getFloatValueWithUnits();
@@ -159,7 +148,7 @@ public class Ellipse extends ShapeElement {
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("rx")))
         {
             float newRx = sty.getFloatValueWithUnits();
@@ -169,7 +158,7 @@ public class Ellipse extends ShapeElement {
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("ry")))
         {
             float newRy = sty.getFloatValueWithUnits();
@@ -179,14 +168,14 @@ public class Ellipse extends ShapeElement {
                 shapeChange = true;
             }
         }
-        
+
         if (shapeChange)
         {
             build();
 //            ellipse.setFrame(cx - rx, cy - ry, rx * 2f, ry * 2f);
 //            return true;
         }
-        
+
         return changeState || shapeChange;
     }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/FeDistantLight.java b/svg-core/src/main/java/com/kitfox/svg/FeDistantLight.java
index a3aff4e..1581b2d 100644
--- a/svg-core/src/main/java/com/kitfox/svg/FeDistantLight.java
+++ b/svg-core/src/main/java/com/kitfox/svg/FeDistantLight.java
@@ -1,71 +1,93 @@
 /*
- * FillElement.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on March 18, 2004, 6:52 AM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
-import java.awt.*;
-import java.awt.geom.*;
-import java.net.*;
-import java.util.*;
-
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
 
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class FeDistantLight extends FeLight 
+public class FeDistantLight extends FeLight
 {
+
+    public static final String TAG_NAME = "fedistantlight";
     float azimuth = 0f;
     float elevation = 0f;
-    
 
-    /** Creates a new instance of FillElement */
-    public FeDistantLight() {
+    /**
+     * Creates a new instance of FillElement
+     */
+    public FeDistantLight()
+    {
+    }
+
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
 
-    
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
         String strn;
-        
-        if (getPres(sty.setName("azimuth"))) azimuth = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("elevation"))) elevation = sty.getFloatValueWithUnits();
+
+        if (getPres(sty.setName("azimuth")))
+        {
+            azimuth = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("elevation")))
+        {
+            elevation = sty.getFloatValueWithUnits();
+        }
+    }
+
+    public float getAzimuth()
+    {
+        return azimuth;
+    }
+
+    public float getElevation()
+    {
+        return elevation;
     }
 
-    public float getAzimuth() { return azimuth; }
-    public float getElevation() { return elevation; }
-    
     public boolean updateTime(double curTime) throws SVGException
     {
 //        if (trackManager.getNumTracks() == 0) return false;
@@ -73,7 +95,7 @@ public class FeDistantLight extends FeLight
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean stateChange = false;
-        
+
         if (getPres(sty.setName("azimuth")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -83,7 +105,7 @@ public class FeDistantLight extends FeLight
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("elevation")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -93,8 +115,7 @@ public class FeDistantLight extends FeLight
                 stateChange = true;
             }
         }
-        
+
         return stateChange;
     }
 }
-
diff --git a/svg-core/src/main/java/com/kitfox/svg/FeLight.java b/svg-core/src/main/java/com/kitfox/svg/FeLight.java
index 8cd239c..3a69371 100644
--- a/svg-core/src/main/java/com/kitfox/svg/FeLight.java
+++ b/svg-core/src/main/java/com/kitfox/svg/FeLight.java
@@ -1,50 +1,58 @@
 /*
- * FillElement.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on March 18, 2004, 6:52 AM
  */
-
 package com.kitfox.svg;
 
-import java.awt.*;
-import java.awt.geom.*;
-import java.net.*;
-import java.util.*;
-
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
-
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-abstract public class FeLight extends FilterEffects 
+abstract public class FeLight extends FilterEffects
 {
 
-    /** Creates a new instance of FillElement */
-    public FeLight() {
+    public static final String TAG_NAME = "feLight";
+
+    /**
+     * Creates a new instance of FillElement
+     */
+    public FeLight()
+    {
     }
 
+    public String getTagName()
+    {
+        return TAG_NAME;
+    }
 }
-
diff --git a/svg-core/src/main/java/com/kitfox/svg/FePointLight.java b/svg-core/src/main/java/com/kitfox/svg/FePointLight.java
index 52e116e..264d696 100644
--- a/svg-core/src/main/java/com/kitfox/svg/FePointLight.java
+++ b/svg-core/src/main/java/com/kitfox/svg/FePointLight.java
@@ -1,75 +1,104 @@
 /*
- * FillElement.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on March 18, 2004, 6:52 AM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
-import java.awt.*;
-import java.awt.geom.*;
-import java.net.*;
-import java.util.*;
-
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
 
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class FePointLight extends FeLight 
+public class FePointLight extends FeLight
 {
+
+    public static final String TAG_NAME = "fepointlight";
     float x = 0f;
     float y = 0f;
     float z = 0f;
-    
 
-    /** Creates a new instance of FillElement */
-    public FePointLight() {
+    /**
+     * Creates a new instance of FillElement
+     */
+    public FePointLight()
+    {
+    }
+
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
 
-    
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
         String strn;
-        
-        if (getPres(sty.setName("x"))) x = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("y"))) y = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("z"))) z = sty.getFloatValueWithUnits();
+
+        if (getPres(sty.setName("x")))
+        {
+            x = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("y")))
+        {
+            y = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("z")))
+        {
+            z = sty.getFloatValueWithUnits();
+        }
+    }
+
+    public float getX()
+    {
+        return x;
+    }
+
+    public float getY()
+    {
+        return y;
+    }
+
+    public float getZ()
+    {
+        return z;
     }
 
-    public float getX() { return x; }
-    public float getY() { return y; }
-    public float getZ() { return z; }
-    
     public boolean updateTime(double curTime) throws SVGException
     {
 //        if (trackManager.getNumTracks() == 0) return false;
@@ -77,7 +106,7 @@ public class FePointLight extends FeLight
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean stateChange = false;
-        
+
         if (getPres(sty.setName("x")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -87,7 +116,7 @@ public class FePointLight extends FeLight
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("y")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -97,7 +126,7 @@ public class FePointLight extends FeLight
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("z")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -107,8 +136,7 @@ public class FePointLight extends FeLight
                 stateChange = true;
             }
         }
-        
+
         return stateChange;
     }
 }
-
diff --git a/svg-core/src/main/java/com/kitfox/svg/FeSpotLight.java b/svg-core/src/main/java/com/kitfox/svg/FeSpotLight.java
index f42a817..81fd088 100644
--- a/svg-core/src/main/java/com/kitfox/svg/FeSpotLight.java
+++ b/svg-core/src/main/java/com/kitfox/svg/FeSpotLight.java
@@ -1,47 +1,50 @@
 /*
- * FillElement.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on March 18, 2004, 6:52 AM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
-import java.awt.*;
-import java.awt.geom.*;
-import java.net.*;
-import java.util.*;
-
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
 
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class FeSpotLight extends FeLight 
+public class FeSpotLight extends FeLight
 {
+
+    public static final String TAG_NAME = "fespotlight";
     float x = 0f;
     float y = 0f;
     float z = 0f;
@@ -50,39 +53,100 @@ public class FeSpotLight extends FeLight
     float pointsAtZ = 0f;
     float specularComponent = 0f;
     float limitingConeAngle = 0f;
-    
 
-    /** Creates a new instance of FillElement */
-    public FeSpotLight() {
+    /**
+     * Creates a new instance of FillElement
+     */
+    public FeSpotLight()
+    {
+    }
+
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
 
-    
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
         String strn;
-        
-        if (getPres(sty.setName("x"))) x = sty.getFloatValueWithUnits();
-        if (getPres(sty.setName("y"))) y = sty.getFloatValueWithUnits();
-        if (getPres(sty.setName("z"))) z = sty.getFloatValueWithUnits();
-        if (getPres(sty.setName("pointsAtX"))) pointsAtX = sty.getFloatValueWithUnits();
-        if (getPres(sty.setName("pointsAtY"))) pointsAtY = sty.getFloatValueWithUnits();
-        if (getPres(sty.setName("pointsAtZ"))) pointsAtZ = sty.getFloatValueWithUnits();
-        if (getPres(sty.setName("specularComponent"))) specularComponent = sty.getFloatValueWithUnits();
-        if (getPres(sty.setName("limitingConeAngle"))) limitingConeAngle = sty.getFloatValueWithUnits();
+
+        if (getPres(sty.setName("x")))
+        {
+            x = sty.getFloatValueWithUnits();
+        }
+        if (getPres(sty.setName("y")))
+        {
+            y = sty.getFloatValueWithUnits();
+        }
+        if (getPres(sty.setName("z")))
+        {
+            z = sty.getFloatValueWithUnits();
+        }
+        if (getPres(sty.setName("pointsAtX")))
+        {
+            pointsAtX = sty.getFloatValueWithUnits();
+        }
+        if (getPres(sty.setName("pointsAtY")))
+        {
+            pointsAtY = sty.getFloatValueWithUnits();
+        }
+        if (getPres(sty.setName("pointsAtZ")))
+        {
+            pointsAtZ = sty.getFloatValueWithUnits();
+        }
+        if (getPres(sty.setName("specularComponent")))
+        {
+            specularComponent = sty.getFloatValueWithUnits();
+        }
+        if (getPres(sty.setName("limitingConeAngle")))
+        {
+            limitingConeAngle = sty.getFloatValueWithUnits();
+        }
+    }
+
+    public float getX()
+    {
+        return x;
+    }
+
+    public float getY()
+    {
+        return y;
+    }
+
+    public float getZ()
+    {
+        return z;
+    }
+
+    public float getPointsAtX()
+    {
+        return pointsAtX;
+    }
+
+    public float getPointsAtY()
+    {
+        return pointsAtY;
+    }
+
+    public float getPointsAtZ()
+    {
+        return pointsAtZ;
+    }
+
+    public float getSpecularComponent()
+    {
+        return specularComponent;
+    }
+
+    public float getLimitingConeAngle()
+    {
+        return limitingConeAngle;
     }
 
-    public float getX() { return x; }
-    public float getY() { return y; }
-    public float getZ() { return z; }
-    public float getPointsAtX() { return pointsAtX; }
-    public float getPointsAtY() { return pointsAtY; }
-    public float getPointsAtZ() { return pointsAtZ; }
-    public float getSpecularComponent() { return specularComponent; }
-    public float getLimitingConeAngle() { return limitingConeAngle; }
-    
     public boolean updateTime(double curTime) throws SVGException
     {
 //        if (trackManager.getNumTracks() == 0) return false;
@@ -90,7 +154,7 @@ public class FeSpotLight extends FeLight
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean stateChange = false;
-        
+
         if (getPres(sty.setName("x")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -100,7 +164,7 @@ public class FeSpotLight extends FeLight
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("y")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -110,7 +174,7 @@ public class FeSpotLight extends FeLight
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("z")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -120,7 +184,7 @@ public class FeSpotLight extends FeLight
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("pointsAtX")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -130,7 +194,7 @@ public class FeSpotLight extends FeLight
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("pointsAtY")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -140,7 +204,7 @@ public class FeSpotLight extends FeLight
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("pointsAtZ")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -150,7 +214,7 @@ public class FeSpotLight extends FeLight
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("specularComponent")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -160,7 +224,7 @@ public class FeSpotLight extends FeLight
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("limitingConeAngle")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -170,8 +234,7 @@ public class FeSpotLight extends FeLight
                 stateChange = true;
             }
         }
-        
+
         return stateChange;
     }
 }
-
diff --git a/svg-core/src/main/java/com/kitfox/svg/FillElement.java b/svg-core/src/main/java/com/kitfox/svg/FillElement.java
index 9fef10b..1bc6cf8 100644
--- a/svg-core/src/main/java/com/kitfox/svg/FillElement.java
+++ b/svg-core/src/main/java/com/kitfox/svg/FillElement.java
@@ -1,30 +1,38 @@
 /*
- * FillElement.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on March 18, 2004, 6:52 AM
  */
-
 package com.kitfox.svg;
 
 import java.awt.*;
@@ -34,18 +42,22 @@ import java.awt.geom.*;
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-abstract public class FillElement extends SVGElement {
-
-    /** Creates a new instance of FillElement */
-    public FillElement() {
+abstract public class FillElement extends SVGElement
+{
+    /**
+     * Creates a new instance of FillElement
+     */
+    public FillElement()
+    {
     }
 
     /**
-     * Requests the paint defined by this element.  Passes in information
-     * to allow paint to be customized
+     * Requests the paint defined by this element. Passes in information to
+     * allow paint to be customized
+     *
      * @param bounds - bounding box of shape being rendered
-     * @param xform - The current transformation that the shape is being rendered
-     * under.
+     * @param xform - The current transformation that the shape is being
+     * rendered under.
      */
     abstract public Paint getPaint(Rectangle2D bounds, AffineTransform xform);
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/Filter.java b/svg-core/src/main/java/com/kitfox/svg/Filter.java
index d64e582..d55c643 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Filter.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Filter.java
@@ -1,67 +1,78 @@
 /*
- * FillElement.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on March 18, 2004, 6:52 AM
  */
-
 package com.kitfox.svg;
 
-import java.awt.geom.*;
-import java.net.*;
-import java.util.*;
-
-import com.kitfox.svg.xml.*;
+import com.kitfox.svg.xml.StyleAttribute;
+import java.awt.geom.Point2D;
+import java.net.URI;
+import java.net.URL;
+import java.util.ArrayList;
 
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class Filter extends SVGElement 
+public class Filter extends SVGElement
 {
+
+    public static final String TAG_NAME = "filter";
     public static final int FU_OBJECT_BOUNDING_BOX = 0;
     public static final int FU_USER_SPACE_ON_USE = 1;
-
     protected int filterUnits = FU_OBJECT_BOUNDING_BOX;
-    
     public static final int PU_OBJECT_BOUNDING_BOX = 0;
     public static final int PU_USER_SPACE_ON_USE = 1;
-
     protected int primitiveUnits = PU_OBJECT_BOUNDING_BOX;
-    
     float x = 0f;
     float y = 0f;
     float width = 1f;
     float height = 1f;
-    
     Point2D filterRes = new Point2D.Double();
-    
     URL href = null;
-
     final ArrayList filterEffects = new ArrayList();
 
-    /** Creates a new instance of FillElement */
-    public Filter() {
+    /**
+     * Creates a new instance of FillElement
+     */
+    public Filter()
+    {
+    }
+
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
 
     /**
@@ -77,55 +88,92 @@ public class Filter extends SVGElement
             filterEffects.add(child);
         }
     }
-    
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
         String strn;
-        
+
         if (getPres(sty.setName("filterUnits")))
         {
             strn = sty.getStringValue().toLowerCase();
-            if (strn.equals("userspaceonuse")) filterUnits = FU_USER_SPACE_ON_USE;
-            else filterUnits = FU_OBJECT_BOUNDING_BOX;
+            if (strn.equals("userspaceonuse"))
+            {
+                filterUnits = FU_USER_SPACE_ON_USE;
+            } else
+            {
+                filterUnits = FU_OBJECT_BOUNDING_BOX;
+            }
         }
 
         if (getPres(sty.setName("primitiveUnits")))
         {
             strn = sty.getStringValue().toLowerCase();
-            if (strn.equals("userspaceonuse")) primitiveUnits = PU_USER_SPACE_ON_USE;
-            else primitiveUnits = PU_OBJECT_BOUNDING_BOX;
+            if (strn.equals("userspaceonuse"))
+            {
+                primitiveUnits = PU_USER_SPACE_ON_USE;
+            } else
+            {
+                primitiveUnits = PU_OBJECT_BOUNDING_BOX;
+            }
         }
 
-        if (getPres(sty.setName("x"))) x = sty.getFloatValueWithUnits();
+        if (getPres(sty.setName("x")))
+        {
+            x = sty.getFloatValueWithUnits();
+        }
 
-        if (getPres(sty.setName("y"))) y = sty.getFloatValueWithUnits();
+        if (getPres(sty.setName("y")))
+        {
+            y = sty.getFloatValueWithUnits();
+        }
 
-        if (getPres(sty.setName("width"))) width = sty.getFloatValueWithUnits();
+        if (getPres(sty.setName("width")))
+        {
+            width = sty.getFloatValueWithUnits();
+        }
 
-        if (getPres(sty.setName("height"))) height = sty.getFloatValueWithUnits();
+        if (getPres(sty.setName("height")))
+        {
+            height = sty.getFloatValueWithUnits();
+        }
 
-        try {
+        try
+        {
             if (getPres(sty.setName("xlink:href")))
             {
                 URI src = sty.getURIValue(getXMLBase());
                 href = src.toURL();
             }
-        }
-        catch (Exception e)
+        } catch (Exception e)
         {
             throw new SVGException(e);
         }
 
     }
 
-    public float getX() { return x; }
-    public float getY() { return y; }
-    public float getWidth() { return width; }
-    public float getHeight() { return height; }
-    
+    public float getX()
+    {
+        return x;
+    }
+
+    public float getY()
+    {
+        return y;
+    }
+
+    public float getWidth()
+    {
+        return width;
+    }
+
+    public float getHeight()
+    {
+        return height;
+    }
+
     public boolean updateTime(double curTime) throws SVGException
     {
 //        if (trackManager.getNumTracks() == 0) return false;
@@ -133,7 +181,7 @@ public class Filter extends SVGElement
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean stateChange = false;
-        
+
         if (getPres(sty.setName("x")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -143,7 +191,7 @@ public class Filter extends SVGElement
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("y")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -153,7 +201,7 @@ public class Filter extends SVGElement
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("width")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -163,7 +211,7 @@ public class Filter extends SVGElement
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("height")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -173,21 +221,21 @@ public class Filter extends SVGElement
                 stateChange = true;
             }
         }
-        
-        try {
+
+        try
+        {
             if (getPres(sty.setName("xlink:href")))
             {
                 URI src = sty.getURIValue(getXMLBase());
                 URL newVal = src.toURL();
-                
+
                 if (!newVal.equals(href))
                 {
                     href = newVal;
                     stateChange = true;
                 }
             }
-        }
-        catch (Exception e)
+        } catch (Exception e)
         {
             throw new SVGException(e);
         }
@@ -196,8 +244,13 @@ public class Filter extends SVGElement
         {
             int newVal;
             String strn = sty.getStringValue().toLowerCase();
-            if (strn.equals("userspaceonuse")) newVal = FU_USER_SPACE_ON_USE;
-            else newVal = FU_OBJECT_BOUNDING_BOX;
+            if (strn.equals("userspaceonuse"))
+            {
+                newVal = FU_USER_SPACE_ON_USE;
+            } else
+            {
+                newVal = FU_OBJECT_BOUNDING_BOX;
+            }
             if (newVal != filterUnits)
             {
                 filterUnits = newVal;
@@ -209,8 +262,13 @@ public class Filter extends SVGElement
         {
             int newVal;
             String strn = sty.getStringValue().toLowerCase();
-            if (strn.equals("userspaceonuse")) newVal = PU_USER_SPACE_ON_USE;
-            else newVal = PU_OBJECT_BOUNDING_BOX;
+            if (strn.equals("userspaceonuse"))
+            {
+                newVal = PU_USER_SPACE_ON_USE;
+            } else
+            {
+                newVal = PU_OBJECT_BOUNDING_BOX;
+            }
             if (newVal != filterUnits)
             {
                 primitiveUnits = newVal;
@@ -218,9 +276,8 @@ public class Filter extends SVGElement
             }
         }
 
-        
-        
+
+
         return stateChange;
     }
 }
-
diff --git a/svg-core/src/main/java/com/kitfox/svg/FilterEffects.java b/svg-core/src/main/java/com/kitfox/svg/FilterEffects.java
index e5c7a91..d78c60a 100644
--- a/svg-core/src/main/java/com/kitfox/svg/FilterEffects.java
+++ b/svg-core/src/main/java/com/kitfox/svg/FilterEffects.java
@@ -1,47 +1,52 @@
 /*
- * FillElement.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on March 18, 2004, 6:52 AM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
-import java.awt.*;
-import java.awt.geom.*;
-import java.net.*;
-import java.util.*;
-
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
+import java.net.URI;
+import java.net.URL;
 
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class FilterEffects extends SVGElement 
+public class FilterEffects extends SVGElement
 {
+    public static final String TAG_NAME = "filtereffects";
+    
     public static final int FP_SOURCE_GRAPHIC = 0;
     public static final int FP_SOURCE_ALPHA = 1;
     public static final int FP_BACKGROUND_IMAGE = 2;
@@ -49,25 +54,25 @@ public class FilterEffects extends SVGElement
     public static final int FP_FILL_PAINT = 4;
     public static final int FP_STROKE_PAINT = 5;
     public static final int FP_CUSTOM = 5;
-
     private int filterPrimitiveTypeIn;
     private String filterPrimitiveRefIn;
-    
-    
     float x = 0f;
     float y = 0f;
     float width = 1f;
     float height = 1f;
-    
     String result = "defaultFilterName";
-    
-    
-    
     URL href = null;
 
+    /**
+     * Creates a new instance of FillElement
+     */
+    public FilterEffects()
+    {
+    }
 
-    /** Creates a new instance of FillElement */
-    public FilterEffects() {
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
 
     /**
@@ -83,55 +88,70 @@ public class FilterEffects extends SVGElement
 //            filterEffects.add(child);
         }
     }
-    
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
         String strn;
         /*
-        if (getPres(sty.setName("filterUnits")))
-        {
-            strn = sty.getStringValue().toLowerCase();
-            if (strn.equals("userspaceonuse")) filterUnits = FU_USER_SPACE_ON_USE;
-            else filterUnits = FU_OBJECT_BOUNDING_BOX;
-        }
-
-        if (getPres(sty.setName("primitiveUnits")))
-        {
-            strn = sty.getStringValue().toLowerCase();
-            if (strn.equals("userspaceonuse")) primitiveUnits = PU_USER_SPACE_ON_USE;
-            else primitiveUnits = PU_OBJECT_BOUNDING_BOX;
-        }
-
-        if (getPres(sty.setName("x"))) x = sty.getFloatValue();
+         if (getPres(sty.setName("filterUnits")))
+         {
+         strn = sty.getStringValue().toLowerCase();
+         if (strn.equals("userspaceonuse")) filterUnits = FU_USER_SPACE_ON_USE;
+         else filterUnits = FU_OBJECT_BOUNDING_BOX;
+         }
+
+         if (getPres(sty.setName("primitiveUnits")))
+         {
+         strn = sty.getStringValue().toLowerCase();
+         if (strn.equals("userspaceonuse")) primitiveUnits = PU_USER_SPACE_ON_USE;
+         else primitiveUnits = PU_OBJECT_BOUNDING_BOX;
+         }
+
+         if (getPres(sty.setName("x"))) x = sty.getFloatValue();
+
+         if (getPres(sty.setName("y"))) y = sty.getFloatValue();
+
+         if (getPres(sty.setName("width"))) width = sty.getFloatValue();
+
+         if (getPres(sty.setName("height"))) height = sty.getFloatValue();
+
+         try {
+         if (getPres(sty.setName("xlink:href")))
+         {
+         URI src = sty.getURIValue(getXMLBase());
+         href = src.toURL();
+         }
+         }
+         catch (Exception e)
+         {
+         throw new SVGException(e);
+         }
+         */
+    }
 
-        if (getPres(sty.setName("y"))) y = sty.getFloatValue();
+    public float getX()
+    {
+        return x;
+    }
 
-        if (getPres(sty.setName("width"))) width = sty.getFloatValue();
+    public float getY()
+    {
+        return y;
+    }
 
-        if (getPres(sty.setName("height"))) height = sty.getFloatValue();
+    public float getWidth()
+    {
+        return width;
+    }
 
-        try {
-            if (getPres(sty.setName("xlink:href")))
-            {
-                URI src = sty.getURIValue(getXMLBase());
-                href = src.toURL();
-            }
-        }
-        catch (Exception e)
-        {
-            throw new SVGException(e);
-        }
-*/
+    public float getHeight()
+    {
+        return height;
     }
 
-    public float getX() { return x; }
-    public float getY() { return y; }
-    public float getWidth() { return width; }
-    public float getHeight() { return height; }
-    
     public boolean updateTime(double curTime) throws SVGException
     {
 //        if (trackManager.getNumTracks() == 0) return false;
@@ -139,7 +159,7 @@ public class FilterEffects extends SVGElement
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean stateChange = false;
-        
+
         if (getPres(sty.setName("x")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -149,7 +169,7 @@ public class FilterEffects extends SVGElement
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("y")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -159,7 +179,7 @@ public class FilterEffects extends SVGElement
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("width")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -169,7 +189,7 @@ public class FilterEffects extends SVGElement
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("height")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -179,55 +199,54 @@ public class FilterEffects extends SVGElement
                 stateChange = true;
             }
         }
-        
-        try {
+
+        try
+        {
             if (getPres(sty.setName("xlink:href")))
             {
                 URI src = sty.getURIValue(getXMLBase());
                 URL newVal = src.toURL();
-                
+
                 if (!newVal.equals(href))
                 {
                     href = newVal;
                     stateChange = true;
                 }
             }
-        }
-        catch (Exception e)
+        } catch (Exception e)
         {
             throw new SVGException(e);
         }
 
         /*
-        if (getPres(sty.setName("filterUnits")))
-        {
-            int newVal;
-            String strn = sty.getStringValue().toLowerCase();
-            if (strn.equals("userspaceonuse")) newVal = FU_USER_SPACE_ON_USE;
-            else newVal = FU_OBJECT_BOUNDING_BOX;
-            if (newVal != filterUnits)
-            {
-                filterUnits = newVal;
-                stateChange = true;
-            }
-        }
-
-        if (getPres(sty.setName("primitiveUnits")))
-        {
-            int newVal;
-            String strn = sty.getStringValue().toLowerCase();
-            if (strn.equals("userspaceonuse")) newVal = PU_USER_SPACE_ON_USE;
-            else newVal = PU_OBJECT_BOUNDING_BOX;
-            if (newVal != filterUnits)
-            {
-                primitiveUnits = newVal;
-                stateChange = true;
-            }
-        }
+         if (getPres(sty.setName("filterUnits")))
+         {
+         int newVal;
+         String strn = sty.getStringValue().toLowerCase();
+         if (strn.equals("userspaceonuse")) newVal = FU_USER_SPACE_ON_USE;
+         else newVal = FU_OBJECT_BOUNDING_BOX;
+         if (newVal != filterUnits)
+         {
+         filterUnits = newVal;
+         stateChange = true;
+         }
+         }
+
+         if (getPres(sty.setName("primitiveUnits")))
+         {
+         int newVal;
+         String strn = sty.getStringValue().toLowerCase();
+         if (strn.equals("userspaceonuse")) newVal = PU_USER_SPACE_ON_USE;
+         else newVal = PU_OBJECT_BOUNDING_BOX;
+         if (newVal != filterUnits)
+         {
+         primitiveUnits = newVal;
+         stateChange = true;
+         }
+         }
+
+         */
 
-        */
-        
         return stateChange;
     }
 }
-
diff --git a/svg-core/src/main/java/com/kitfox/svg/Font.java b/svg-core/src/main/java/com/kitfox/svg/Font.java
index 7d4a665..781b348 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Font.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Font.java
@@ -1,37 +1,42 @@
 /*
- * Font.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 20, 2004, 10:00 PM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
-
-import java.util.*;
+import java.util.HashMap;
 
 /**
  * Implements an embedded font.
@@ -43,62 +48,47 @@ import java.util.*;
  */
 public class Font extends SVGElement
 {
+
+    public static final String TAG_NAME = "font";
     int horizOriginX = 0;
     int horizOriginY = 0;
     int horizAdvX = -1;  //Must be specified
     int vertOriginX = -1;  //Defaults to horizAdvX / 2
     int vertOriginY = -1;  //Defaults to font's ascent
     int vertAdvY = -1;  //Defaults to one 'em'.  See font-face
-
     FontFace fontFace = null;
     MissingGlyph missingGlyph = null;
     final HashMap glyphs = new HashMap();
 
-    /** Creates a new instance of Font */
+    /**
+     * Creates a new instance of Font
+     */
     public Font()
     {
     }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
-    {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        String horizOriginX = attrs.getValue("horiz-origin-x");
-        String horizOriginY = attrs.getValue("horiz-origin-y");
-        String horizAdvX = attrs.getValue("horiz-adv-x");
-        String vertOriginX = attrs.getValue("vert-origin-x");
-        String vertOriginY = attrs.getValue("vert-origin-y");
-        String vertAdvY = attrs.getValue("vert-adv-y");
-
-        if (horizOriginX != null) this.horizOriginX = XMLParseUtil.parseInt(horizOriginX);
-        if (horizOriginY != null) this.horizOriginY = XMLParseUtil.parseInt(horizOriginY);
-        if (horizAdvX != null) this.horizAdvX = XMLParseUtil.parseInt(horizAdvX);
-        if (vertOriginX != null) this.vertOriginX = XMLParseUtil.parseInt(vertOriginX);
-        if (vertOriginY != null) this.vertOriginY = XMLParseUtil.parseInt(vertOriginY);
-        if (vertAdvY != null) this.vertAdvY = XMLParseUtil.parseInt(vertAdvY);
 
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
-*/
+
     /**
      * Called after the start element but before the end element to indicate
      * each child tag that has been processed
      */
     public void loaderAddChild(SVGLoaderHelper helper, SVGElement child) throws SVGElementException
     {
-		super.loaderAddChild(helper, child);
+        super.loaderAddChild(helper, child);
 
         if (child instanceof Glyph)
         {
-            glyphs.put(((Glyph)child).getUnicode(), child);
-        }
-        else if (child instanceof MissingGlyph)
+            glyphs.put(((Glyph) child).getUnicode(), child);
+        } else if (child instanceof MissingGlyph)
         {
-            missingGlyph = (MissingGlyph)child;
-        }
-        else if (child instanceof FontFace)
+            missingGlyph = (MissingGlyph) child;
+        } else if (child instanceof FontFace)
         {
-            fontFace = (FontFace)child;
+            fontFace = (FontFace) child;
         }
     }
 
@@ -107,66 +97,116 @@ public class Font extends SVGElement
         super.loaderEndElement(helper);
 
         //build();
-        
+
         helper.universe.registerFont(this);
     }
-    
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-        if (getPres(sty.setName("horiz-origin-x"))) horizOriginX = sty.getIntValue();
-        
-        if (getPres(sty.setName("horiz-origin-y"))) horizOriginY = sty.getIntValue();
-        
-        if (getPres(sty.setName("horiz-adv-x"))) horizAdvX = sty.getIntValue();
-        
-        if (getPres(sty.setName("vert-origin-x"))) vertOriginX = sty.getIntValue();
-        
-        if (getPres(sty.setName("vert-origin-y"))) vertOriginY = sty.getIntValue();
-        
-        if (getPres(sty.setName("vert-adv-y"))) vertAdvY = sty.getIntValue();
+
+        if (getPres(sty.setName("horiz-origin-x")))
+        {
+            horizOriginX = sty.getIntValue();
+        }
+
+        if (getPres(sty.setName("horiz-origin-y")))
+        {
+            horizOriginY = sty.getIntValue();
+        }
+
+        if (getPres(sty.setName("horiz-adv-x")))
+        {
+            horizAdvX = sty.getIntValue();
+        }
+
+        if (getPres(sty.setName("vert-origin-x")))
+        {
+            vertOriginX = sty.getIntValue();
+        }
+
+        if (getPres(sty.setName("vert-origin-y")))
+        {
+            vertOriginY = sty.getIntValue();
+        }
+
+        if (getPres(sty.setName("vert-adv-y")))
+        {
+            vertAdvY = sty.getIntValue();
+        }
+    }
+
+    public FontFace getFontFace()
+    {
+        return fontFace;
+    }
+
+    public void setFontFace(FontFace face)
+    {
+        fontFace = face;
     }
-    
-    public FontFace getFontFace() { return fontFace; }
 
     public MissingGlyph getGlyph(String unicode)
     {
-        Glyph retVal = (Glyph)glyphs.get(unicode);
-        if (retVal == null) return missingGlyph;
+        Glyph retVal = (Glyph) glyphs.get(unicode);
+        if (retVal == null)
+        {
+            return missingGlyph;
+        }
         return retVal;
     }
 
-    public int getHorizOriginX() { return horizOriginX; }
-    public int getHorizOriginY() { return horizOriginY; }
-    public int getHorizAdvX() { return horizAdvX; }
+    public int getHorizOriginX()
+    {
+        return horizOriginX;
+    }
+
+    public int getHorizOriginY()
+    {
+        return horizOriginY;
+    }
+
+    public int getHorizAdvX()
+    {
+        return horizAdvX;
+    }
 
     public int getVertOriginX()
     {
-        if (vertOriginX != -1) return vertOriginX;
+        if (vertOriginX != -1)
+        {
+            return vertOriginX;
+        }
         vertOriginX = getHorizAdvX() / 2;
         return vertOriginX;
     }
 
     public int getVertOriginY()
     {
-        if (vertOriginY != -1) return vertOriginY;
+        if (vertOriginY != -1)
+        {
+            return vertOriginY;
+        }
         vertOriginY = fontFace.getAscent();
         return vertOriginY;
     }
 
     public int getVertAdvY()
     {
-        if (vertAdvY != -1) return vertAdvY;
+        if (vertAdvY != -1)
+        {
+            return vertAdvY;
+        }
         vertAdvY = fontFace.getUnitsPerEm();
         return vertAdvY;
     }
-    
+
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -175,73 +215,73 @@ public class Font extends SVGElement
         //Fonts can't change
         return false;
         /*
-        if (trackManager.getNumTracks() == 0) return false;
+         if (trackManager.getNumTracks() == 0) return false;
         
-        //Get current values for parameters
-        StyleAttribute sty = new StyleAttribute();
-        boolean stateChange = false;
+         //Get current values for parameters
+         StyleAttribute sty = new StyleAttribute();
+         boolean stateChange = false;
         
-        if (getPres(sty.setName("horiz-origin-x")))
-        {
-            int newVal = sty.getIntValue();
-            if (newVal != horizOriginX)
-            {
-                horizOriginX = newVal;
-                stateChange = true;
-            }
-        }
+         if (getPres(sty.setName("horiz-origin-x")))
+         {
+         int newVal = sty.getIntValue();
+         if (newVal != horizOriginX)
+         {
+         horizOriginX = newVal;
+         stateChange = true;
+         }
+         }
         
-        if (getPres(sty.setName("horiz-origin-y")))
-        {
-            int newVal = sty.getIntValue();
-            if (newVal != horizOriginY)
-            {
-                horizOriginY = newVal;
-                stateChange = true;
-            }
-        }
+         if (getPres(sty.setName("horiz-origin-y")))
+         {
+         int newVal = sty.getIntValue();
+         if (newVal != horizOriginY)
+         {
+         horizOriginY = newVal;
+         stateChange = true;
+         }
+         }
         
-        if (getPres(sty.setName("horiz-adv-x")))
-        {
-            int newVal = sty.getIntValue();
-            if (newVal != horizAdvX)
-            {
-                horizAdvX = newVal;
-                stateChange = true;
-            }
-        }
+         if (getPres(sty.setName("horiz-adv-x")))
+         {
+         int newVal = sty.getIntValue();
+         if (newVal != horizAdvX)
+         {
+         horizAdvX = newVal;
+         stateChange = true;
+         }
+         }
         
-        if (getPres(sty.setName("vert-origin-x")))
-        {
-            int newVal = sty.getIntValue();
-            if (newVal != vertOriginX)
-            {
-                vertOriginX = newVal;
-                stateChange = true;
-            }
-        }
+         if (getPres(sty.setName("vert-origin-x")))
+         {
+         int newVal = sty.getIntValue();
+         if (newVal != vertOriginX)
+         {
+         vertOriginX = newVal;
+         stateChange = true;
+         }
+         }
         
-        if (getPres(sty.setName("vert-origin-y")))
-        {
-            int newVal = sty.getIntValue();
-            if (newVal != vertOriginY)
-            {
-                vertOriginY = newVal;
-                stateChange = true;
-            }
-        }
+         if (getPres(sty.setName("vert-origin-y")))
+         {
+         int newVal = sty.getIntValue();
+         if (newVal != vertOriginY)
+         {
+         vertOriginY = newVal;
+         stateChange = true;
+         }
+         }
         
-        if (getPres(sty.setName("vert-adv-y")))
-        {
-            int newVal = sty.getIntValue();
-            if (newVal != vertAdvY)
-            {
-                vertAdvY = newVal;
-                stateChange = true;
-            }
-        }
+         if (getPres(sty.setName("vert-adv-y")))
+         {
+         int newVal = sty.getIntValue();
+         if (newVal != vertAdvY)
+         {
+         vertAdvY = newVal;
+         stateChange = true;
+         }
+         }
         
-        return shapeChange;
-        */
+         return shapeChange;
+         */
     }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/FontFace.java b/svg-core/src/main/java/com/kitfox/svg/FontFace.java
index 7b6dcfe..fe51948 100644
--- a/svg-core/src/main/java/com/kitfox/svg/FontFace.java
+++ b/svg-core/src/main/java/com/kitfox/svg/FontFace.java
@@ -1,39 +1,41 @@
 /*
- * Font.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 20, 2004, 10:00 PM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
-
-import java.awt.geom.*;
-import java.awt.*;
-
 
 /**
  * Implements an embedded font.
@@ -45,165 +47,184 @@ import java.awt.*;
  */
 public class FontFace extends SVGElement
 {
-    String fontFamily;
-
-    /** Em size of coordinate system font is defined in */
-    int unitsPerEm = 1000;
-
-    int ascent = -1;
-    int descent = -1;
-    int accentHeight = -1;
 
-    int underlinePosition = -1;
-    int underlineThickness = -1;
-    int strikethroughPosition = -1;
-    int strikethroughThickness = -1;
-    int overlinePosition = -1;
-    int overlineThickness = -1;
+    public static final String TAG_NAME = "fontface";
+    String fontFamily;
+    /**
+     * Em size of coordinate system font is defined in
+     */
+    private int unitsPerEm = 1000;
+    private int ascent = -1;
+    private int descent = -1;
+    private int accentHeight = -1;
+    private int underlinePosition = -1;
+    private int underlineThickness = -1;
+    private int strikethroughPosition = -1;
+    private int strikethroughThickness = -1;
+    private int overlinePosition = -1;
+    private int overlineThickness = -1;
 
-    /** Creates a new instance of Font */
+    /**
+     * Creates a new instance of Font
+     */
     public FontFace()
     {
     }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
-    {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        fontFamily = attrs.getValue("font-family");
-
-        String unitsPerEm = attrs.getValue("units-per-em");
-        String ascent = attrs.getValue("ascent");
-        String descent = attrs.getValue("descent");
-        String accentHeight = attrs.getValue("accent-height");
-
-        String underlinePosition = attrs.getValue("underline-position");
-        String underlineThickness = attrs.getValue("underline-thickness");
-        String strikethroughPosition = attrs.getValue("strikethrough-position");
-        String strikethroughThickness = attrs.getValue("strikethrough-thickness");
-        String overlinePosition = attrs.getValue("overline-position");
-        String overlineThickness = attrs.getValue("overline-thickness");
-
-
-        if (unitsPerEm != null) this.unitsPerEm = XMLParseUtil.parseInt(unitsPerEm);
-        if (ascent != null) this.ascent = XMLParseUtil.parseInt(ascent);
-        if (descent != null) this.descent = XMLParseUtil.parseInt(descent);
-        if (accentHeight != null) this.accentHeight = XMLParseUtil.parseInt(accentHeight);
-
-        if (underlinePosition != null) this.underlinePosition = XMLParseUtil.parseInt(underlinePosition);
-        if (underlineThickness != null) this.underlineThickness = XMLParseUtil.parseInt(underlineThickness);
-        if (strikethroughPosition != null) this.strikethroughPosition = XMLParseUtil.parseInt(strikethroughPosition);
-        if (strikethroughThickness != null) this.strikethroughThickness = XMLParseUtil.parseInt(strikethroughThickness);
-        if (overlinePosition != null) this.overlinePosition = XMLParseUtil.parseInt(overlinePosition);
-        if (overlineThickness != null) this.overlineThickness = XMLParseUtil.parseInt(overlineThickness);
 
-//        unitFontXform.setToScale(1.0 / (double)unitsPerEm, 1.0 / (double)unitsPerEm);
-    }
-  */  
-    /*
-    public void loaderEndElement(SVGLoaderHelper helper)
+    public String getTagName()
     {
-        super.loaderEndElement(helper);
-
-        build();
-        
-//        unitFontXform.setToScale(1.0 / (double)unitsPerEm, 1.0 / (double)unitsPerEm);
+        return TAG_NAME;
     }
-     */
-    
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-        if (getPres(sty.setName("font-family"))) fontFamily = sty.getStringValue();
-        
-        if (getPres(sty.setName("units-per-em"))) unitsPerEm = sty.getIntValue();
-        if (getPres(sty.setName("ascent"))) ascent = sty.getIntValue();
-        if (getPres(sty.setName("descent"))) descent = sty.getIntValue();
-        if (getPres(sty.setName("accent-height"))) accentHeight = sty.getIntValue();
 
-        if (getPres(sty.setName("underline-position"))) underlinePosition = sty.getIntValue();
-        if (getPres(sty.setName("underline-thickness"))) underlineThickness = sty.getIntValue();
-        if (getPres(sty.setName("strikethrough-position"))) strikethroughPosition = sty.getIntValue();
-        if (getPres(sty.setName("strikethrough-thickenss"))) strikethroughThickness = sty.getIntValue();
-        if (getPres(sty.setName("overline-position"))) overlinePosition = sty.getIntValue();
-        if (getPres(sty.setName("overline-thickness"))) overlineThickness = sty.getIntValue();
-    }
+        if (getPres(sty.setName("font-family")))
+        {
+            fontFamily = sty.getStringValue();
+        }
 
+        if (getPres(sty.setName("units-per-em")))
+        {
+            unitsPerEm = sty.getIntValue();
+        }
+        if (getPres(sty.setName("ascent")))
+        {
+            ascent = sty.getIntValue();
+        }
+        if (getPres(sty.setName("descent")))
+        {
+            descent = sty.getIntValue();
+        }
+        if (getPres(sty.setName("accent-height")))
+        {
+            accentHeight = sty.getIntValue();
+        }
 
-    public String getFontFamily() { return fontFamily; }
+        if (getPres(sty.setName("underline-position")))
+        {
+            underlinePosition = sty.getIntValue();
+        }
+        if (getPres(sty.setName("underline-thickness")))
+        {
+            underlineThickness = sty.getIntValue();
+        }
+        if (getPres(sty.setName("strikethrough-position")))
+        {
+            strikethroughPosition = sty.getIntValue();
+        }
+        if (getPres(sty.setName("strikethrough-thickenss")))
+        {
+            strikethroughThickness = sty.getIntValue();
+        }
+        if (getPres(sty.setName("overline-position")))
+        {
+            overlinePosition = sty.getIntValue();
+        }
+        if (getPres(sty.setName("overline-thickness")))
+        {
+            overlineThickness = sty.getIntValue();
+        }
+    }
 
-    public int getUnitsPerEm() { return unitsPerEm; }
+    public String getFontFamily()
+    {
+        return fontFamily;
+    }
+
+    public int getUnitsPerEm()
+    {
+        return unitsPerEm;
+    }
 
     public int getAscent()
     {
         if (ascent == -1)
-            ascent = unitsPerEm - ((Font)parent).getVertOriginY();
+        {
+            ascent = unitsPerEm - ((Font) parent).getVertOriginY();
+        }
         return ascent;
     }
 
     public int getDescent()
     {
         if (descent == -1)
-            descent = ((Font)parent).getVertOriginY();
+        {
+            descent = ((Font) parent).getVertOriginY();
+        }
         return descent;
     }
 
     public int getAccentHeight()
     {
         if (accentHeight == -1)
+        {
             accentHeight = getAscent();
+        }
         return accentHeight;
     }
 
     public int getUnderlinePosition()
     {
         if (underlinePosition == -1)
+        {
             underlinePosition = unitsPerEm * 5 / 6;
+        }
         return underlinePosition;
     }
 
     public int getUnderlineThickness()
     {
         if (underlineThickness == -1)
+        {
             underlineThickness = unitsPerEm / 20;
+        }
         return underlineThickness;
     }
 
     public int getStrikethroughPosition()
     {
         if (strikethroughPosition == -1)
+        {
             strikethroughPosition = unitsPerEm * 3 / 6;
+        }
         return strikethroughPosition;
     }
 
     public int getStrikethroughThickness()
     {
         if (strikethroughThickness == -1)
+        {
             strikethroughThickness = unitsPerEm / 20;
+        }
         return strikethroughThickness;
     }
 
     public int getOverlinePosition()
     {
         if (overlinePosition == -1)
+        {
             overlinePosition = unitsPerEm * 5 / 6;
+        }
         return overlinePosition;
     }
 
     public int getOverlineThickness()
     {
         if (overlineThickness == -1)
+        {
             overlineThickness = unitsPerEm / 20;
+        }
         return overlineThickness;
     }
-    
+
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -212,4 +233,84 @@ public class FontFace extends SVGElement
         //Fonts can't change
         return false;
     }
+
+    /**
+     * @param unitsPerEm the unitsPerEm to set
+     */
+    public void setUnitsPerEm(int unitsPerEm)
+    {
+        this.unitsPerEm = unitsPerEm;
+    }
+
+    /**
+     * @param ascent the ascent to set
+     */
+    public void setAscent(int ascent)
+    {
+        this.ascent = ascent;
+    }
+
+    /**
+     * @param descent the descent to set
+     */
+    public void setDescent(int descent)
+    {
+        this.descent = descent;
+    }
+
+    /**
+     * @param accentHeight the accentHeight to set
+     */
+    public void setAccentHeight(int accentHeight)
+    {
+        this.accentHeight = accentHeight;
+    }
+
+    /**
+     * @param underlinePosition the underlinePosition to set
+     */
+    public void setUnderlinePosition(int underlinePosition)
+    {
+        this.underlinePosition = underlinePosition;
+    }
+
+    /**
+     * @param underlineThickness the underlineThickness to set
+     */
+    public void setUnderlineThickness(int underlineThickness)
+    {
+        this.underlineThickness = underlineThickness;
+    }
+
+    /**
+     * @param strikethroughPosition the strikethroughPosition to set
+     */
+    public void setStrikethroughPosition(int strikethroughPosition)
+    {
+        this.strikethroughPosition = strikethroughPosition;
+    }
+
+    /**
+     * @param strikethroughThickness the strikethroughThickness to set
+     */
+    public void setStrikethroughThickness(int strikethroughThickness)
+    {
+        this.strikethroughThickness = strikethroughThickness;
+    }
+
+    /**
+     * @param overlinePosition the overlinePosition to set
+     */
+    public void setOverlinePosition(int overlinePosition)
+    {
+        this.overlinePosition = overlinePosition;
+    }
+
+    /**
+     * @param overlineThickness the overlineThickness to set
+     */
+    public void setOverlineThickness(int overlineThickness)
+    {
+        this.overlineThickness = overlineThickness;
+    }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/Glyph.java b/svg-core/src/main/java/com/kitfox/svg/Glyph.java
index 528444a..f184a9a 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Glyph.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Glyph.java
@@ -1,42 +1,41 @@
 /*
- * Font.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 20, 2004, 10:00 PM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
-
-import java.awt.*;
-import java.awt.geom.*;
-import java.util.*;
-
-import com.kitfox.svg.pathcmd.*;
-//import org.apache.batik.ext.awt.geom.ExtendedGeneralPath;
 
 /**
  * Implements an embedded font.
@@ -48,49 +47,47 @@ import com.kitfox.svg.pathcmd.*;
  */
 public class Glyph extends MissingGlyph
 {
+
+    public static final String TAG_NAME = "missingglyph";
     /**
-     * One or more characters indicating the unicode sequence that denotes
-     * this glyph.
+     * One or more characters indicating the unicode sequence that denotes this
+     * glyph.
      */
     String unicode;
 
-    /** Creates a new instance of Font */
+    /**
+     * Creates a new instance of Font
+     */
     public Glyph()
     {
     }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
-    {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
 
-        //Get unicode sequence that maps to this glyph
-        unicode = attrs.getValue("unicode");
-    }
-*/
-    /*
-    public void loaderEndElement(SVGLoaderHelper helper)
+    public String getTagName()
     {
-        super.loaderEndElement(helper);
-
-        build();
+        return TAG_NAME;
     }
-     */
-    
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-        if (getPres(sty.setName("unicode"))) unicode = sty.getStringValue();
+
+        if (getPres(sty.setName("unicode")))
+        {
+            unicode = sty.getStringValue();
+        }
     }
-    
-    public String getUnicode() { return unicode; }
-    
+
+    public String getUnicode()
+    {
+        return unicode;
+    }
+
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
diff --git a/svg-core/src/main/java/com/kitfox/svg/Gradient.java b/svg-core/src/main/java/com/kitfox/svg/Gradient.java
index 0ebacdf..8901930 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Gradient.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Gradient.java
@@ -1,38 +1,48 @@
 /*
- * Gradient.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 3:25 AM
  */
-
 package com.kitfox.svg;
 
-import java.net.*;
-import java.util.*;
-import java.awt.geom.*;
-import java.awt.*;
-
-import com.kitfox.svg.xml.*;
+import com.kitfox.svg.xml.StyleAttribute;
+import java.awt.Color;
+import java.awt.geom.AffineTransform;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * @author Mark McKay
@@ -40,34 +50,37 @@ import com.kitfox.svg.xml.*;
  */
 abstract public class Gradient extends FillElement
 {
-
+    public static final String TAG_NAME = "gradient";
+    
     public static final int SM_PAD = 0;
     public static final int SM_REPEAT = 1;
     public static final int SM_REFLECT = 2;
-
     int spreadMethod = SM_PAD;
-
     public static final int GU_OBJECT_BOUNDING_BOX = 0;
     public static final int GU_USER_SPACE_ON_USE = 1;
-
     protected int gradientUnits = GU_OBJECT_BOUNDING_BOX;
-
     //Either this gradient contains a list of stops, or it will take it's
     // stops from the referenced gradient
     ArrayList stops = new ArrayList();
     URI stopRef = null;
-//    Gradient stopRef = null;
-
     protected AffineTransform gradientTransform = null;
-
+    
     //Cache arrays of stop values here
     float[] stopFractions;
     Color[] stopColors;
 
-    /** Creates a new instance of Gradient */
-    public Gradient() {
+    /**
+     * Creates a new instance of Gradient
+     */
+    public Gradient()
+    {
     }
-    
+
+    public String getTagName()
+    {
+        return TAG_NAME;
+    }
+
     /**
      * Called after the start element but before the end element to indicate
      * each child tag that has been processed
@@ -76,70 +89,97 @@ abstract public class Gradient extends FillElement
     {
         super.loaderAddChild(helper, child);
 
-        if (!(child instanceof Stop)) return;
-        appendStop((Stop)child);
+        if (!(child instanceof Stop))
+        {
+            return;
+        }
+        appendStop((Stop) child);
     }
 
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
         String strn;
-        
+
         if (getPres(sty.setName("spreadMethod")))
         {
             strn = sty.getStringValue().toLowerCase();
-            if (strn.equals("repeat")) spreadMethod = SM_REPEAT;
-            else if (strn.equals("reflect")) spreadMethod = SM_REFLECT;
-            else spreadMethod = SM_PAD;
+            if (strn.equals("repeat"))
+            {
+                spreadMethod = SM_REPEAT;
+            } else if (strn.equals("reflect"))
+            {
+                spreadMethod = SM_REFLECT;
+            } else
+            {
+                spreadMethod = SM_PAD;
+            }
         }
 
         if (getPres(sty.setName("gradientUnits")))
         {
             strn = sty.getStringValue().toLowerCase();
-            if (strn.equals("userspaceonuse")) gradientUnits = GU_USER_SPACE_ON_USE;
-            else gradientUnits = GU_OBJECT_BOUNDING_BOX;
+            if (strn.equals("userspaceonuse"))
+            {
+                gradientUnits = GU_USER_SPACE_ON_USE;
+            } else
+            {
+                gradientUnits = GU_OBJECT_BOUNDING_BOX;
+            }
         }
 
-        if (getPres(sty.setName("gradientTransform"))) gradientTransform = parseTransform(sty.getStringValue());
+        if (getPres(sty.setName("gradientTransform")))
+        {
+            gradientTransform = parseTransform(sty.getStringValue());
+        }
         //If we still don't have one, set it to identity
-        if (gradientTransform == null) gradientTransform = new AffineTransform();
+        if (gradientTransform == null)
+        {
+            gradientTransform = new AffineTransform();
+        }
+
 
-        
         //Check to see if we're using our own stops or referencing someone else's
         if (getPres(sty.setName("xlink:href")))
         {
-            try {
+            try
+            {
                 stopRef = sty.getURIValue(getXMLBase());
 //System.err.println("Gradient: " + sty.getStringValue() + ", " + getXMLBase() + ", " + src);
 //                URI src = getXMLBase().resolve(href);
 //                stopRef = (Gradient)diagram.getUniverse().getElement(src);
-            }
-            catch (Exception e)
+            } catch (Exception e)
             {
                 throw new SVGException("Could not resolve relative URL in Gradient: " + sty.getStringValue() + ", " + getXMLBase(), e);
             }
         }
     }
-    
+
     public float[] getStopFractions()
     {
         if (stopRef != null)
         {
-            Gradient grad = (Gradient)diagram.getUniverse().getElement(stopRef);
+            Gradient grad = (Gradient) diagram.getUniverse().getElement(stopRef);
             return grad.getStopFractions();
         }
 
-        if (stopFractions != null) return stopFractions;
+        if (stopFractions != null)
+        {
+            return stopFractions;
+        }
 
         stopFractions = new float[stops.size()];
         int idx = 0;
         for (Iterator it = stops.iterator(); it.hasNext();)
         {
-            Stop stop = (Stop)it.next();
+            Stop stop = (Stop) it.next();
             float val = stop.offset;
-            if (idx != 0 && val < stopFractions[idx - 1]) val = stopFractions[idx - 1];
+            if (idx != 0 && val < stopFractions[idx - 1])
+            {
+                val = stopFractions[idx - 1];
+            }
             stopFractions[idx++] = val;
         }
 
@@ -150,44 +190,53 @@ abstract public class Gradient extends FillElement
     {
         if (stopRef != null)
         {
-            Gradient grad = (Gradient)diagram.getUniverse().getElement(stopRef);
+            Gradient grad = (Gradient) diagram.getUniverse().getElement(stopRef);
             return grad.getStopColors();
         }
 
-        if (stopColors != null) return stopColors;
+        if (stopColors != null)
+        {
+            return stopColors;
+        }
 
         stopColors = new Color[stops.size()];
         int idx = 0;
         for (Iterator it = stops.iterator(); it.hasNext();)
         {
-            Stop stop = (Stop)it.next();
+            Stop stop = (Stop) it.next();
             int stopColorVal = stop.color.getRGB();
-            Color stopColor = new Color((stopColorVal >> 16) & 0xff, (stopColorVal >> 8) & 0xff, stopColorVal & 0xff, clamp((int)(stop.opacity * 255), 0, 255));
+            Color stopColor = new Color((stopColorVal >> 16) & 0xff, (stopColorVal >> 8) & 0xff, stopColorVal & 0xff, clamp((int) (stop.opacity * 255), 0, 255));
             stopColors[idx++] = stopColor;
         }
 
         return stopColors;
     }
-    
+
     public void setStops(Color[] colors, float[] fractions)
     {
         if (colors.length != fractions.length)
         {
             throw new IllegalArgumentException();
         }
-        
+
         this.stopColors = colors;
         this.stopFractions = fractions;
         stopRef = null;
     }
-    
+
     private int clamp(int val, int min, int max)
     {
-        if (val < min) return min;
-        if (val > max) return max;
+        if (val < min)
+        {
+            return min;
+        }
+        if (val > max)
+        {
+            return max;
+        }
         return val;
     }
-    
+
     public void setStopRef(URI grad)
     {
         stopRef = grad;
@@ -199,8 +248,9 @@ abstract public class Gradient extends FillElement
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -213,28 +263,40 @@ abstract public class Gradient extends FillElement
         StyleAttribute sty = new StyleAttribute();
         boolean shapeChange = false;
         String strn;
-        
+
 
         if (getPres(sty.setName("spreadMethod")))
         {
             int newVal;
             strn = sty.getStringValue().toLowerCase();
-            if (strn.equals("repeat")) newVal = SM_REPEAT;
-            else if (strn.equals("reflect")) newVal = SM_REFLECT;
-            else newVal = SM_PAD;
+            if (strn.equals("repeat"))
+            {
+                newVal = SM_REPEAT;
+            } else if (strn.equals("reflect"))
+            {
+                newVal = SM_REFLECT;
+            } else
+            {
+                newVal = SM_PAD;
+            }
             if (spreadMethod != newVal)
             {
                 spreadMethod = newVal;
                 stateChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("gradientUnits")))
         {
             int newVal;
             strn = sty.getStringValue().toLowerCase();
-            if (strn.equals("userspaceonuse")) newVal = GU_USER_SPACE_ON_USE;
-            else newVal = GU_OBJECT_BOUNDING_BOX;
+            if (strn.equals("userspaceonuse"))
+            {
+                newVal = GU_USER_SPACE_ON_USE;
+            } else
+            {
+                newVal = GU_OBJECT_BOUNDING_BOX;
+            }
             if (newVal != gradientUnits)
             {
                 gradientUnits = newVal;
@@ -252,28 +314,29 @@ abstract public class Gradient extends FillElement
             }
         }
 
-        
+
         //Check to see if we're using our own stops or referencing someone else's
         if (getPres(sty.setName("xlink:href")))
         {
-            try {
+            try
+            {
                 URI newVal = sty.getURIValue(getXMLBase());
                 if ((newVal == null && stopRef != null) || !newVal.equals(stopRef))
                 {
                     stopRef = newVal;
                     stateChange = true;
                 }
-            }
-            catch (Exception e)
+            } catch (Exception e)
             {
-                e.printStackTrace();
+                Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                    "Could not parse xlink:href", e);
             }
         }
-        
+
         //Check stops, if any
         for (Iterator it = stops.iterator(); it.hasNext();)
         {
-            Stop stop = (Stop)it.next();
+            Stop stop = (Stop) it.next();
             if (stop.updateTime(curTime))
             {
                 stateChange = true;
@@ -281,8 +344,7 @@ abstract public class Gradient extends FillElement
                 stopColors = null;
             }
         }
-        
+
         return stateChange;
     }
-
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/Group.java b/svg-core/src/main/java/com/kitfox/svg/Group.java
index 3c3b6ee..079c26f 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Group.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Group.java
@@ -1,35 +1,42 @@
 /*
- * Stop.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 1:56 AM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
 import java.awt.Graphics2D;
-import java.awt.Rectangle;
 import java.awt.Shape;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Area;
@@ -39,34 +46,29 @@ import java.awt.geom.Rectangle2D;
 import java.util.Iterator;
 import java.util.List;
 
-
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
 public class Group extends ShapeElement
 {
-
+    public static final String TAG_NAME = "group";
+    
     //Cache bounding box for faster clip testing
     Rectangle2D boundingBox;
     Shape cachedShape;
 
-    //Cache clip bounds
-    final Rectangle clipBounds = new Rectangle();
-
-    /** Creates a new instance of Stop */
-    public Group() {
+    /**
+     * Creates a new instance of Stop
+     */
+    public Group()
+    {
     }
 
-    /*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+    public String getTagName()
     {
-        //Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        //String transform = attrs.getValue("transform");
+        return TAG_NAME;
     }
-     */
 
     /**
      * Called after the start element but before the end element to indicate
@@ -75,22 +77,19 @@ public class Group extends ShapeElement
     public void loaderAddChild(SVGLoaderHelper helper, SVGElement child) throws SVGElementException
     {
         super.loaderAddChild(helper, child);
-
-//        members.add(child);
     }
 
     protected boolean outsideClip(Graphics2D g) throws SVGException
     {
-        g.getClipBounds(clipBounds);
+        Shape clip = g.getClip();
+        if (clip == null)
+        {
+            return false;
+        }
+        //g.getClipBounds(clipBounds);
         Rectangle2D rect = getBoundingBox();
 
-//if (rect == null)
-//{
-//    rect = getBoundingBox();
-//}
-
-//        if (rect.intersects(clipBounds))
-        if (rect.intersects(clipBounds))
+        if (clip.intersects(rect))
         {
             return false;
         }
@@ -106,21 +105,20 @@ public class Group extends ShapeElement
             try
             {
                 xform.inverseTransform(point, xPoint);
-            } 
-            catch (NoninvertibleTransformException ex)
+            } catch (NoninvertibleTransformException ex)
             {
                 throw new SVGException(ex);
             }
         }
-        
-        
+
+
         for (Iterator it = children.iterator(); it.hasNext();)
         {
-            SVGElement ele = (SVGElement)it.next();
+            SVGElement ele = (SVGElement) it.next();
             if (ele instanceof RenderableElement)
             {
-                RenderableElement rendEle = (RenderableElement)ele;
-                
+                RenderableElement rendEle = (RenderableElement) ele;
+
                 rendEle.pick(xPoint, boundingBox, retVec);
             }
         }
@@ -133,15 +131,15 @@ public class Group extends ShapeElement
             ltw = new AffineTransform(ltw);
             ltw.concatenate(xform);
         }
-        
-        
+
+
         for (Iterator it = children.iterator(); it.hasNext();)
         {
-            SVGElement ele = (SVGElement)it.next();
+            SVGElement ele = (SVGElement) it.next();
             if (ele instanceof RenderableElement)
             {
-                RenderableElement rendEle = (RenderableElement)ele;
-                
+                RenderableElement rendEle = (RenderableElement) ele;
+
                 rendEle.pick(pickArea, ltw, boundingBox, retVec);
             }
         }
@@ -151,43 +149,53 @@ public class Group extends ShapeElement
     {
         //Don't process if not visible
         StyleAttribute styleAttrib = new StyleAttribute();
-        if (getStyle(styleAttrib.setName("visibility")))
+        //Visibility can be overridden by children
+
+        if (getStyle(styleAttrib.setName("display")))
         {
-            if (!styleAttrib.getStringValue().equals("visible")) return;
+            if (styleAttrib.getStringValue().equals("none"))
+            {
+                return;
+            }
         }
         
         //Do not process offscreen groups
         boolean ignoreClip = diagram.ignoringClipHeuristic();
-        if (!ignoreClip && outsideClip(g)) return;
+//        if (!ignoreClip && outsideClip(g))
+//        {
+//            return;
+//        }
 
         beginLayer(g);
 
         Iterator it = children.iterator();
 
-        try
-        {
-            g.getClipBounds(clipBounds);
-        }
-        catch (Exception e)
-        {
-            //For some reason, getClipBounds can throw a null pointer exception for 
-            // some types of Graphics2D
-            ignoreClip = true;
-        }
+//        try
+//        {
+//            g.getClipBounds(clipBounds);
+//        }
+//        catch (Exception e)
+//        {
+//            //For some reason, getClipBounds can throw a null pointer exception for
+//            // some types of Graphics2D
+//            ignoreClip = true;
+//        }
 
+        Shape clip = g.getClip();
         while (it.hasNext())
         {
-            SVGElement ele = (SVGElement)it.next();
+            SVGElement ele = (SVGElement) it.next();
             if (ele instanceof RenderableElement)
             {
-                RenderableElement rendEle = (RenderableElement)ele;
+                RenderableElement rendEle = (RenderableElement) ele;
 
 //                if (shapeEle == null) continue;
 
                 if (!(ele instanceof Group))
                 {
                     //Skip if clipping area is outside our bounds
-                    if (!ignoreClip && !rendEle.getBoundingBox().intersects(clipBounds)) 
+                    if (!ignoreClip && clip != null
+                        && !clip.intersects(rendEle.getBoundingBox()))
                     {
                         continue;
                     }
@@ -200,13 +208,15 @@ public class Group extends ShapeElement
         finishLayer(g);
     }
 
-
     /**
      * Retrieves the cached bounding box of this group
      */
     public Shape getShape()
     {
-        if (cachedShape == null) calcShape();
+        if (cachedShape == null)
+        {
+            calcShape();
+        }
         return cachedShape;
     }
 
@@ -216,11 +226,11 @@ public class Group extends ShapeElement
 
         for (Iterator it = children.iterator(); it.hasNext();)
         {
-            SVGElement ele = (SVGElement)it.next();
+            SVGElement ele = (SVGElement) it.next();
 
             if (ele instanceof ShapeElement)
             {
-                ShapeElement shpEle = (ShapeElement)ele;
+                ShapeElement shpEle = (ShapeElement) ele;
                 Shape shape = shpEle.getShape();
                 if (shape != null)
                 {
@@ -237,14 +247,17 @@ public class Group extends ShapeElement
      */
     public Rectangle2D getBoundingBox() throws SVGException
     {
-        if (boundingBox == null) calcBoundingBox();
+        if (boundingBox == null)
+        {
+            calcBoundingBox();
+        }
 //        calcBoundingBox();
         return boundingBox;
     }
 
     /**
      * Recalculates the bounding box by taking the union of the bounding boxes
-     * of all children.  Caches the result.
+     * of all children. Caches the result.
      */
     public void calcBoundingBox() throws SVGException
     {
@@ -253,16 +266,25 @@ public class Group extends ShapeElement
 
         for (Iterator it = children.iterator(); it.hasNext();)
         {
-            SVGElement ele = (SVGElement)it.next();
+            SVGElement ele = (SVGElement) it.next();
 
             if (ele instanceof RenderableElement)
             {
-                RenderableElement rendEle = (RenderableElement)ele;
+                RenderableElement rendEle = (RenderableElement) ele;
                 Rectangle2D bounds = rendEle.getBoundingBox();
-                if (bounds != null)
+                if (bounds != null && (bounds.getWidth() != 0 || bounds.getHeight() != 0))
                 {
-                    if (retRect == null) retRect = bounds;
-                    else retRect = retRect.createUnion(bounds);
+                    if (retRect == null)
+                    {
+                        retRect = bounds;
+                    }
+                    else
+                    {
+                        if (retRect.getWidth() != 0 || retRect.getHeight() != 0)
+                        {
+                            retRect = retRect.createUnion(bounds);
+                        }
+                    }
                 }
             }
         }
@@ -273,7 +295,10 @@ public class Group extends ShapeElement
 //        }
 
         //If no contents, use degenerate rectangle
-        if (retRect == null) retRect = new Rectangle2D.Float();
+        if (retRect == null)
+        {
+            retRect = new Rectangle2D.Float();
+        }
 
         boundingBox = boundsToParent(retRect);
     }
@@ -286,14 +311,20 @@ public class Group extends ShapeElement
         //Distribute message to all members of this group
         while (it.hasNext())
         {
-            SVGElement ele = (SVGElement)it.next();
+            SVGElement ele = (SVGElement) it.next();
             boolean updateVal = ele.updateTime(curTime);
 
             changeState = changeState || updateVal;
 
             //Update our shape if shape aware children change
-            if (ele instanceof ShapeElement) cachedShape = null;
-            if (ele instanceof RenderableElement) boundingBox = null;
+            if (ele instanceof ShapeElement)
+            {
+                cachedShape = null;
+            }
+            if (ele instanceof RenderableElement)
+            {
+                boundingBox = null;
+            }
         }
 
         return changeState;
diff --git a/svg-core/src/main/java/com/kitfox/svg/Hkern.java b/svg-core/src/main/java/com/kitfox/svg/Hkern.java
index 82acf02..0333e22 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Hkern.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Hkern.java
@@ -1,30 +1,38 @@
 /*
- * Font.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 20, 2004, 10:00 PM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
@@ -35,10 +43,16 @@ import com.kitfox.svg.xml.StyleAttribute;
  */
 public class Hkern extends SVGElement
 {
+
+    public static final String TAG_NAME = "hkern";
     String u1;
     String u2;
     int k;
 
+    public String getTagName()
+    {
+        return TAG_NAME;
+    }
 
     protected void build() throws SVGException
     {
@@ -48,11 +62,20 @@ public class Hkern extends SVGElement
 
 
         //Read glyph spacing info
-        if (getPres(sty.setName("u1"))) u1 = sty.getStringValue();
+        if (getPres(sty.setName("u1")))
+        {
+            u1 = sty.getStringValue();
+        }
 
-        if (getPres(sty.setName("u2"))) u2 = sty.getStringValue();
+        if (getPres(sty.setName("u2")))
+        {
+            u2 = sty.getStringValue();
+        }
 
-        if (getPres(sty.setName("k"))) k = sty.getIntValue();
+        if (getPres(sty.setName("k")))
+        {
+            k = sty.getIntValue();
+        }
     }
 
     public boolean updateTime(double curTime) throws SVGException
@@ -60,6 +83,4 @@ public class Hkern extends SVGElement
         //Fonts can't change
         return false;
     }
-    
-    
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/ImageSVG.java b/svg-core/src/main/java/com/kitfox/svg/ImageSVG.java
index eb25586..b8b8511 100644
--- a/svg-core/src/main/java/com/kitfox/svg/ImageSVG.java
+++ b/svg-core/src/main/java/com/kitfox/svg/ImageSVG.java
@@ -1,109 +1,141 @@
 /*
- * Font.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 20, 2004, 10:00 PM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.app.data.Handler;
-import com.kitfox.svg.xml.*;
-
-import java.awt.*;
-import java.awt.geom.*;
-import java.awt.image.*;
-import java.net.*;
+import com.kitfox.svg.xml.StyleAttribute;
+import java.awt.AlphaComposite;
+import java.awt.Composite;
+import java.awt.Graphics2D;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+import java.awt.image.BufferedImage;
+import java.net.URI;
+import java.net.URL;
 import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
- * Implements an embedded font.
- *
- * SVG specification: http://www.w3.org/TR/SVG/fonts.html
+ * Implements an image.
  *
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
 public class ImageSVG extends RenderableElement
 {
+    public static final String TAG_NAME = "image";
+    
     float x = 0f;
     float y = 0f;
     float width = 0f;
     float height = 0f;
-
 //    BufferedImage href = null;
     URL imageSrc = null;
-
     AffineTransform xform;
     Rectangle2D bounds;
 
-    /** Creates a new instance of Font */
+    /**
+     * Creates a new instance of Font
+     */
     public ImageSVG()
     {
     }
-    
+
+    public String getTagName()
+    {
+        return TAG_NAME;
+    }
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-        if (getPres(sty.setName("x"))) x = sty.getFloatValueWithUnits();
 
-        if (getPres(sty.setName("y"))) y = sty.getFloatValueWithUnits();
+        if (getPres(sty.setName("x")))
+        {
+            x = sty.getFloatValueWithUnits();
+        }
 
-        if (getPres(sty.setName("width"))) width = sty.getFloatValueWithUnits();
+        if (getPres(sty.setName("y")))
+        {
+            y = sty.getFloatValueWithUnits();
+        }
 
-        if (getPres(sty.setName("height"))) height = sty.getFloatValueWithUnits();
+        if (getPres(sty.setName("width")))
+        {
+            width = sty.getFloatValueWithUnits();
+        }
 
-        try {
+        if (getPres(sty.setName("height")))
+        {
+            height = sty.getFloatValueWithUnits();
+        }
+
+        try
+        {
             if (getPres(sty.setName("xlink:href")))
             {
                 URI src = sty.getURIValue(getXMLBase());
                 if ("data".equals(src.getScheme()))
                 {
                     imageSrc = new URL(null, src.toASCIIString(), new Handler());
-                }
-                else
+                } else
                 {
-                    try {
+                    try
+                    {
                         imageSrc = src.toURL();
-                    }
-                    catch (Exception e)
+                    } catch (Exception e)
                     {
-                        e.printStackTrace();
+                        Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                            "Could not parse xlink:href " + src, e);
+//                        e.printStackTrace();
                         imageSrc = null;
                     }
                 }
             }
-        }
-        catch (Exception e)
+        } catch (Exception e)
         {
             throw new SVGException(e);
         }
 
         diagram.getUniverse().registerImage(imageSrc);
-        
+
         //Set widths if not set
         BufferedImage img = diagram.getUniverse().getImage(imageSrc);
         if (img == null)
@@ -112,26 +144,45 @@ public class ImageSVG extends RenderableElement
             bounds = new Rectangle2D.Float();
             return;
         }
-        
-        if (width == 0) width = img.getWidth();
-        if (height == 0) height = img.getHeight();
-        
+
+        if (width == 0)
+        {
+            width = img.getWidth();
+        }
+        if (height == 0)
+        {
+            height = img.getHeight();
+        }
+
         //Determine image xform
         xform = new AffineTransform();
 //        xform.setToScale(this.width / img.getWidth(), this.height / img.getHeight());
 //        xform.translate(this.x, this.y);
         xform.translate(this.x, this.y);
         xform.scale(this.width / img.getWidth(), this.height / img.getHeight());
-        
+
         bounds = new Rectangle2D.Float(this.x, this.y, this.width, this.height);
     }
-    
-    
-    
-    public float getX() { return x; }
-    public float getY() { return y; }
-    public float getWidth() { return width; }
-    public float getHeight() { return height; }
+
+    public float getX()
+    {
+        return x;
+    }
+
+    public float getY()
+    {
+        return y;
+    }
+
+    public float getWidth()
+    {
+        return width;
+    }
+
+    public float getHeight()
+    {
+        return height;
+    }
 
     void pick(Point2D point, boolean boundingBox, List retVec) throws SVGException
     {
@@ -154,50 +205,71 @@ public class ImageSVG extends RenderableElement
         StyleAttribute styleAttrib = new StyleAttribute();
         if (getStyle(styleAttrib.setName("visibility")))
         {
-            if (!styleAttrib.getStringValue().equals("visible")) return;
+            if (!styleAttrib.getStringValue().equals("visible"))
+            {
+                return;
+            }
         }
-        
+
+        if (getStyle(styleAttrib.setName("display")))
+        {
+            if (styleAttrib.getStringValue().equals("none"))
+            {
+                return;
+            }
+        }
+
         beginLayer(g);
-        
+
         float opacity = 1f;
         if (getStyle(styleAttrib.setName("opacity")))
         {
             opacity = styleAttrib.getRatioValue();
         }
-        
-        if (opacity <= 0) return;
+
+        if (opacity <= 0)
+        {
+            return;
+        }
 
         Composite oldComp = null;
-        
+
         if (opacity < 1)
         {
             oldComp = g.getComposite();
             Composite comp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, opacity);
             g.setComposite(comp);
         }
-        
+
         BufferedImage img = diagram.getUniverse().getImage(imageSrc);
-        if (img == null) return;
-        
+        if (img == null)
+        {
+            return;
+        }
+
         AffineTransform curXform = g.getTransform();
         g.transform(xform);
-        
+
         g.drawImage(img, 0, 0, null);
-        
+
         g.setTransform(curXform);
-        if (oldComp != null) g.setComposite(oldComp);
-        
+        if (oldComp != null)
+        {
+            g.setComposite(oldComp);
+        }
+
         finishLayer(g);
     }
-    
+
     public Rectangle2D getBoundingBox()
     {
         return boundsToParent(bounds);
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -209,7 +281,7 @@ public class ImageSVG extends RenderableElement
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean shapeChange = false;
-        
+
         if (getPres(sty.setName("x")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -219,7 +291,7 @@ public class ImageSVG extends RenderableElement
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("y")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -229,7 +301,7 @@ public class ImageSVG extends RenderableElement
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("width")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -239,7 +311,7 @@ public class ImageSVG extends RenderableElement
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("height")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -249,30 +321,40 @@ public class ImageSVG extends RenderableElement
                 shapeChange = true;
             }
         }
-        
-        try {
+
+        try
+        {
             if (getPres(sty.setName("xlink:href")))
             {
                 URI src = sty.getURIValue(getXMLBase());
-                URL newVal = src.toURL();
-                
+
+                URL newVal;
+                if ("data".equals(src.getScheme()))
+                {
+                    newVal = new URL(null, src.toASCIIString(), new Handler());
+                } else
+                {
+                    newVal = src.toURL();
+                }
+
                 if (!newVal.equals(imageSrc))
                 {
                     imageSrc = newVal;
                     shapeChange = true;
                 }
             }
-        }
-        catch (IllegalArgumentException ie)
+        } catch (IllegalArgumentException ie)
         {
-            new Exception("Image provided with illegal value for href: \"" + sty.getStringValue() + '"', ie).printStackTrace();
-        }
-        catch (Exception e)
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                "Image provided with illegal value for href: \""
+                + sty.getStringValue() + '"', ie);
+        } catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                "Could not parse xlink:href", e);
         }
 
-        
+
         if (shapeChange)
         {
             build();
@@ -302,7 +384,7 @@ public class ImageSVG extends RenderableElement
 //
 //            return true;
         }
-        
+
         return changeState || shapeChange;
     }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/Line.java b/svg-core/src/main/java/com/kitfox/svg/Line.java
index bc318ff..84486c9 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Line.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Line.java
@@ -1,30 +1,38 @@
 /*
- * Rect.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 5:25 PM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
@@ -37,56 +45,56 @@ import java.awt.geom.Rectangle2D;
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class Line extends ShapeElement {
-
+public class Line extends ShapeElement
+{
+    public static final String TAG_NAME = "line";
+    
     float x1 = 0f;
     float y1 = 0f;
     float x2 = 0f;
     float y2 = 0f;
-
     Line2D.Float line;
-//    RectangularShape rect;
 
-    /** Creates a new instance of Rect */
-    public Line() {
+    /**
+     * Creates a new instance of Rect
+     */
+    public Line()
+    {
     }
 
-    /*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+    public String getTagName()
     {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        String x1 = attrs.getValue("x1");
-        String y1 = attrs.getValue("y1");
-        String x2 = attrs.getValue("x2");
-        String y2 = attrs.getValue("y2");
-
-        this.x1 = XMLParseUtil.parseFloat(x1);
-        this.y1 = XMLParseUtil.parseFloat(y1);
-        this.x2 = XMLParseUtil.parseFloat(x2);
-        this.y2 = XMLParseUtil.parseFloat(y2);
-
-        build();
+        return TAG_NAME;
     }
-*/
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-        if (getPres(sty.setName("x1"))) x1 = sty.getFloatValueWithUnits();
 
-        if (getPres(sty.setName("y1"))) y1 = sty.getFloatValueWithUnits();
+        if (getPres(sty.setName("x1")))
+        {
+            x1 = sty.getFloatValueWithUnits();
+        }
 
-        if (getPres(sty.setName("x2"))) x2 = sty.getFloatValueWithUnits();
+        if (getPres(sty.setName("y1")))
+        {
+            y1 = sty.getFloatValueWithUnits();
+        }
 
-        if (getPres(sty.setName("y2"))) y2 = sty.getFloatValueWithUnits();
+        if (getPres(sty.setName("x2")))
+        {
+            x2 = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("y2")))
+        {
+            y2 = sty.getFloatValueWithUnits();
+        }
 
         line = new Line2D.Float(x1, y1, x2, y2);
     }
-    
 
     public void render(Graphics2D g) throws SVGException
     {
@@ -106,8 +114,9 @@ public class Line extends ShapeElement {
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -119,7 +128,7 @@ public class Line extends ShapeElement {
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean shapeChange = false;
-        
+
         if (getPres(sty.setName("x1")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -163,10 +172,8 @@ public class Line extends ShapeElement {
         if (shapeChange)
         {
             build();
-//            line = new Line2D.Float(x1, y1, x2, y2);
-//            return true;
         }
-        
+
         return changeState || shapeChange;
     }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/LinearGradient.java b/svg-core/src/main/java/com/kitfox/svg/LinearGradient.java
index 06a1503..ffe5fa1 100644
--- a/svg-core/src/main/java/com/kitfox/svg/LinearGradient.java
+++ b/svg-core/src/main/java/com/kitfox/svg/LinearGradient.java
@@ -1,98 +1,99 @@
 /*
- * LinearGradient.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 1:54 AM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
-import java.awt.geom.*;
-import java.awt.*;
-
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
-
-//import org.apache.batik.ext.awt.*;
-import com.kitfox.svg.batik.*;
-
+import java.awt.Color;
+import java.awt.Paint;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
 
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class LinearGradient extends Gradient {
-
+public class LinearGradient extends Gradient
+{
+    public static final String TAG_NAME = "lineargradient";
+    
     float x1 = 0f;
     float y1 = 0f;
     float x2 = 1f;
     float y2 = 0f;
 
-    /** Creates a new instance of LinearGradient */
-    public LinearGradient() {
-    }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+    /**
+     * Creates a new instance of LinearGradient
+     */
+    public LinearGradient()
     {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        String x1 = attrs.getValue("x1");
-        String x2 = attrs.getValue("x2");
-        String y1 = attrs.getValue("y1");
-        String y2 = attrs.getValue("y2");
-
-        if (x1 != null) this.x1 = (float)XMLParseUtil.parseRatio(x1);
-        if (y1 != null) this.y1 = (float)XMLParseUtil.parseRatio(y1);
-        if (x2 != null) this.x2 = (float)XMLParseUtil.parseRatio(x2);
-        if (y2 != null) this.y2 = (float)XMLParseUtil.parseRatio(y2);
     }
-*/
-    /*
-    public void loaderEndElement(SVGLoaderHelper helper)
+
+    public String getTagName()
     {
-        super.loaderEndElement(helper);
-        
-        build();
+        return TAG_NAME;
     }
-    */
-    
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-        if (getPres(sty.setName("x1"))) x1 = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("y1"))) y1 = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("x2"))) x2 = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("y2"))) y2 = sty.getFloatValueWithUnits();
+
+        if (getPres(sty.setName("x1")))
+        {
+            x1 = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("y1")))
+        {
+            y1 = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("x2")))
+        {
+            x2 = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("y2")))
+        {
+            y2 = sty.getFloatValueWithUnits();
+        }
     }
-    
+
     public Paint getPaint(Rectangle2D bounds, AffineTransform xform)
     {
         com.kitfox.svg.batik.MultipleGradientPaint.CycleMethodEnum method;
@@ -110,36 +111,43 @@ public class LinearGradient extends Gradient {
                 break;
         }
 
-        com.kitfox.svg.batik.LinearGradientPaint paint;
-        if (gradientUnits == GU_USER_SPACE_ON_USE)
+        Paint paint;
+        Point2D.Float pt1 = new Point2D.Float(x1, y1);
+        Point2D.Float pt2 = new Point2D.Float(x2, y2);
+        if (pt1.equals(pt2))
+        {
+            Color[] colors = getStopColors();
+            paint = colors.length > 0 ? colors[0] : Color.black;
+        } else if (gradientUnits == GU_USER_SPACE_ON_USE)
         {
-//            paint = new LinearGradientPaint(x1, y1, x2, y2, getStopFractions(), getStopColors(), method);
             paint = new com.kitfox.svg.batik.LinearGradientPaint(
-                new Point2D.Float(x1, y1),
-                new Point2D.Float(x2, y2),
+                pt1,
+                pt2,
                 getStopFractions(),
                 getStopColors(),
                 method,
                 com.kitfox.svg.batik.MultipleGradientPaint.SRGB,
-                gradientTransform);
-        }
-        else
+                gradientTransform == null
+                ? new AffineTransform()
+                : gradientTransform);
+        } else
         {
             AffineTransform viewXform = new AffineTransform();
             viewXform.translate(bounds.getX(), bounds.getY());
-            
+
             //This is a hack to get around shapes that have a width or height of 0.  Should be close enough to the true answer.
-            double width = bounds.getWidth();
-            double height = bounds.getHeight();
-            if (width == 0) width = 1;
-            if (height == 0) height = 1;
+            double width = Math.max(1, bounds.getWidth());
+            double height = Math.max(1, bounds.getHeight());
             viewXform.scale(width, height);
 
-            viewXform.concatenate(gradientTransform);
+            if (gradientTransform != null)
+            {
+                viewXform.concatenate(gradientTransform);
+            }
 
             paint = new com.kitfox.svg.batik.LinearGradientPaint(
-                new Point2D.Float(x1, y1),
-                new Point2D.Float(x2, y2),
+                pt1,
+                pt2,
                 getStopFractions(),
                 getStopColors(),
                 method,
@@ -149,10 +157,11 @@ public class LinearGradient extends Gradient {
 
         return paint;
     }
-    
+
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -164,7 +173,7 @@ public class LinearGradient extends Gradient {
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean shapeChange = false;
-        
+
         if (getPres(sty.setName("x1")))
         {
             float newVal = sty.getFloatValueWithUnits();
diff --git a/svg-core/src/main/java/com/kitfox/svg/Marker.java b/svg-core/src/main/java/com/kitfox/svg/Marker.java
index e68a838..72fc4ce 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Marker.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Marker.java
@@ -1,8 +1,36 @@
 /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
@@ -20,15 +48,22 @@ import java.util.ArrayList;
  */
 public class Marker extends Group
 {
+    public static final String TAG_NAME = "marker";
+    
     AffineTransform viewXform;
     AffineTransform markerXform;
     Rectangle2D viewBox;
-
     float refX;
     float refY;
-    float markerWidth = 3;
-    float markerHeight = 3;
+    float markerWidth = 1;
+    float markerHeight = 1;
     float orient = Float.NaN;
+    boolean markerUnitsStrokeWidth = true; //if set to false 'userSpaceOnUse' is assumed
+
+    public String getTagName()
+    {
+        return TAG_NAME;
+    }
 
     protected void build() throws SVGException
     {
@@ -36,18 +71,29 @@ public class Marker extends Group
 
         StyleAttribute sty = new StyleAttribute();
 
-        if (getPres(sty.setName("refX"))) refX = sty.getFloatValueWithUnits();
-        if (getPres(sty.setName("refY"))) refY = sty.getFloatValueWithUnits();
-        if (getPres(sty.setName("markerWidth"))) markerWidth = sty.getFloatValueWithUnits();
-        if (getPres(sty.setName("markerHeight"))) markerHeight = sty.getFloatValueWithUnits();
+        if (getPres(sty.setName("refX")))
+        {
+            refX = sty.getFloatValueWithUnits();
+        }
+        if (getPres(sty.setName("refY")))
+        {
+            refY = sty.getFloatValueWithUnits();
+        }
+        if (getPres(sty.setName("markerWidth")))
+        {
+            markerWidth = sty.getFloatValueWithUnits();
+        }
+        if (getPres(sty.setName("markerHeight")))
+        {
+            markerHeight = sty.getFloatValueWithUnits();
+        }
 
         if (getPres(sty.setName("orient")))
         {
             if ("auto".equals(sty.getStringValue()))
             {
                 orient = Float.NaN;
-            }
-            else
+            } else
             {
                 orient = sty.getFloatValue();
             }
@@ -64,6 +110,15 @@ public class Marker extends Group
             viewBox = new Rectangle(0, 0, 1, 1);
         }
 
+        if (getPres(sty.setName("markerUnits")))
+        {
+            String markerUnits = sty.getStringValue();
+            if (markerUnits != null && markerUnits.equals("userSpaceOnUse"))
+            {
+                markerUnitsStrokeWidth = false;
+            }
+        }
+
         //Transform pattern onto unit square
         viewXform = new AffineTransform();
         viewXform.scale(1.0 / viewBox.getWidth(), 1.0 / viewBox.getHeight());
@@ -77,9 +132,9 @@ public class Marker extends Group
 
     protected boolean outsideClip(Graphics2D g) throws SVGException
     {
-        g.getClipBounds(clipBounds);
+        Shape clip = g.getClip();
         Rectangle2D rect = super.getBoundingBox();
-        if (rect.intersects(clipBounds))
+        if (clip == null || clip.intersects(rect))
         {
             return false;
         }
@@ -103,7 +158,11 @@ public class Marker extends Group
         AffineTransform cacheXform = g.getTransform();
 
         g.translate(pos.x, pos.y);
-        g.scale(strokeWidth, strokeWidth);
+        if (markerUnitsStrokeWidth)
+        {
+            g.scale(strokeWidth, strokeWidth);
+        }
+
         g.rotate(Math.atan2(pos.dy, pos.dx));
 
         g.transform(markerXform);
@@ -126,8 +185,9 @@ public class Marker extends Group
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -135,10 +195,12 @@ public class Marker extends Group
     {
         boolean changeState = super.updateTime(curTime);
 
+        build();
+        
         //Marker properties do not change
         return changeState;
     }
-
+    
     //--------------------------------
     public static final int MARKER_START = 0;
     public static final int MARKER_MID = 1;
@@ -146,6 +208,7 @@ public class Marker extends Group
 
     public static class MarkerPos
     {
+
         int type;
         double x;
         double y;
@@ -164,6 +227,7 @@ public class Marker extends Group
 
     public static class MarkerLayout
     {
+
         private ArrayList markerList = new ArrayList();
         boolean started = false;
 
@@ -173,7 +237,7 @@ public class Marker extends Group
             double py = 0;
             double[] coords = new double[6];
             for (PathIterator it = shape.getPathIterator(null);
-                    !it.isDone(); it.next())
+                !it.isDone(); it.next())
             {
                 switch (it.currentSegment(coords))
                 {
@@ -201,6 +265,26 @@ public class Marker extends Group
                         double k0y = coords[1];
                         double x = coords[2];
                         double y = coords[3];
+
+
+                        //Best in tangent
+                        if (px != k0x || py != k0y)
+                        {
+                            markerIn(px, py, k0x - px, k0y - py);
+                        } else
+                        {
+                            markerIn(px, py, x - px, y - py);
+                        }
+
+                        //Best out tangent
+                        if (x != k0x || y != k0y)
+                        {
+                            markerOut(x, y, x - k0x, y - k0y);
+                        } else
+                        {
+                            markerOut(x, y, x - px, y - py);
+                        }
+
                         markerIn(px, py, k0x - px, k0y - py);
                         markerOut(x, y, x - k0x, y - k0y);
                         px = x;
@@ -215,8 +299,30 @@ public class Marker extends Group
                         double k1y = coords[3];
                         double x = coords[4];
                         double y = coords[5];
-                        markerIn(px, py, k0x - px, k0y - py);
-                        markerOut(x, y, x - k1x, y - k1y);
+
+                        //Best in tangent
+                        if (px != k0x || py != k0y)
+                        {
+                            markerIn(px, py, k0x - px, k0y - py);
+                        } else if (px != k1x || py != k1y)
+                        {
+                            markerIn(px, py, k1x - px, k1y - py);
+                        } else
+                        {
+                            markerIn(px, py, x - px, y - py);
+                        }
+
+                        //Best out tangent
+                        if (x != k1x || y != k1y)
+                        {
+                            markerOut(x, y, x - k1x, y - k1y);
+                        } else if (x != k0x || y != k0y)
+                        {
+                            markerOut(x, y, x - k0x, y - k0y);
+                        } else
+                        {
+                            markerOut(x, y, x - px, y - py);
+                        }
                         px = x;
                         py = y;
                         break;
@@ -226,15 +332,15 @@ public class Marker extends Group
 
             for (int i = 1; i < markerList.size(); ++i)
             {
-                MarkerPos prev = (MarkerPos)markerList.get(i - 1);
-                MarkerPos cur = (MarkerPos)markerList.get(i);
+                MarkerPos prev = (MarkerPos) markerList.get(i - 1);
+                MarkerPos cur = (MarkerPos) markerList.get(i);
 
                 if (cur.type == MARKER_START)
                 {
                     prev.type = MARKER_END;
                 }
             }
-            MarkerPos last = (MarkerPos)markerList.get(markerList.size() - 1);
+            MarkerPos last = (MarkerPos) markerList.get(markerList.size() - 1);
             last.type = MARKER_END;
         }
 
diff --git a/svg-core/src/main/java/com/kitfox/svg/Metadata.java b/svg-core/src/main/java/com/kitfox/svg/Metadata.java
index 554c301..9f2fe4e 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Metadata.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Metadata.java
@@ -1,42 +1,60 @@
 /*
- * Stop.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on September 19, 2004, 1:56 AM
  */
-
 package com.kitfox.svg;
 
 /**
- * Does not hold any information.  Included to allow metadata tag to be parsed.
+ * Does not hold any information. Included to allow metadata tag to be parsed.
  *
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class Metadata extends SVGElement 
+public class Metadata extends SVGElement
 {
-    /** Creates a new instance of Stop */
-    public Metadata() {
+    public static final String TAG_NAME = "metadata";
+
+    /**
+     * Creates a new instance of Stop
+     */
+    public Metadata()
+    {
+    }
+
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
 
     public boolean updateTime(double curTime)
diff --git a/svg-core/src/main/java/com/kitfox/svg/MissingGlyph.java b/svg-core/src/main/java/com/kitfox/svg/MissingGlyph.java
index e36be01..39b17f6 100644
--- a/svg-core/src/main/java/com/kitfox/svg/MissingGlyph.java
+++ b/svg-core/src/main/java/com/kitfox/svg/MissingGlyph.java
@@ -1,40 +1,49 @@
 /*
- * Font.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 20, 2004, 10:00 PM
  */
-
 package com.kitfox.svg;
 
-import com.kitfox.svg.xml.*;
-
-import java.awt.*;
-import java.awt.geom.*;
-import java.util.*;
-
-import com.kitfox.svg.pathcmd.*;
-//import org.apache.batik.ext.awt.geom.ExtendedGeneralPath;
+import com.kitfox.svg.pathcmd.BuildHistory;
+import com.kitfox.svg.pathcmd.PathCommand;
+import com.kitfox.svg.xml.StyleAttribute;
+import java.awt.Graphics2D;
+import java.awt.Shape;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.Rectangle2D;
+import java.util.Iterator;
 
 /**
  * Implements an embedded font.
@@ -46,69 +55,28 @@ import com.kitfox.svg.pathcmd.*;
  */
 public class MissingGlyph extends ShapeElement
 {
+    public static final String TAG_NAME = "missingglyph";
+    
     //We may define a path
-//    ExtendedGeneralPath path = null;
-    Shape path = null;
-
+    private Shape path = null;
     //Alternately, we may have child graphical elements
+    private int horizAdvX = -1;  //Inherits font's value if not set
+    private int vertOriginX = -1;  //Inherits font's value if not set
+    private int vertOriginY = -1;  //Inherits font's value if not set
+    private int vertAdvY = -1;  //Inherits font's value if not set
 
-    int horizAdvX = -1;  //Inherits font's value if not set
-    int vertOriginX = -1;  //Inherits font's value if not set
-    int vertOriginY = -1;  //Inherits font's value if not set
-    int vertAdvY = -1;  //Inherits font's value if not set
-
-    /** Creates a new instance of Font */
+    /**
+     * Creates a new instance of Font
+     */
     public MissingGlyph()
     {
     }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
-    {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        //If glyph path was specified, calculate it
-        String commandList = attrs.getValue("d");
-        if (commandList != null)
-        {
-            StyleAttribute atyleAttrib = getStyle("fill-rule");
-            String fillRule = (atyleAttrib == null) ? "nonzero" : atyleAttrib.getStringValue();
-
-            PathCommand[] commands = parsePathList(commandList);
-
-//            ExtendedGeneralPath buildPath = new ExtendedGeneralPath(
-            GeneralPath buildPath = new GeneralPath(
-                fillRule.equals("evenodd") ? GeneralPath.WIND_EVEN_ODD : GeneralPath.WIND_NON_ZERO,
-                commands.length);
-
-            BuildHistory hist = new BuildHistory();
-
-            for (int i = 0; i < commands.length; i++)
-            {
-                PathCommand cmd = commands[i];
-                cmd.appendPath(buildPath, hist);
-            }
-
-            //Reflect glyph path to put it in user coordinate system
-            AffineTransform at = new AffineTransform();
-            at.scale(1, -1);
-            path = at.createTransformedShape(buildPath);
-        }
-
-
-        //Read glyph spacing info
-        String horizAdvX = attrs.getValue("horiz-adv-x");
-        String vertOriginX = attrs.getValue("vert-origin-x");
-        String vertOriginY = attrs.getValue("vert-origin-y");
-        String vertAdvY = attrs.getValue("vert-adv-y");
-
-        if (horizAdvX != null) this.horizAdvX = XMLParseUtil.parseInt(horizAdvX);
-        if (vertOriginX != null) this.vertOriginX = XMLParseUtil.parseInt(vertOriginX);
-        if (vertOriginY != null) this.vertOriginY = XMLParseUtil.parseInt(vertOriginY);
-        if (vertAdvY != null) this.vertAdvY = XMLParseUtil.parseInt(vertAdvY);
 
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
-*/
+
     /**
      * Called after the start element but before the end element to indicate
      * each child tag that has been processed
@@ -118,26 +86,26 @@ public class MissingGlyph extends ShapeElement
         super.loaderAddChild(helper, child);
     }
 
-    
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
+
         String commandList = "";
-        if (getPres(sty.setName("d"))) commandList = sty.getStringValue();
+        if (getPres(sty.setName("d")))
+        {
+            commandList = sty.getStringValue();
+        }
+
 
-    
         //If glyph path was specified, calculate it
         if (commandList != null)
         {
-//            StyleAttribute atyleAttrib = getStyle("fill-rule");
             String fillRule = getStyle(sty.setName("fill-rule")) ? sty.getStringValue() : "nonzero";
 
             PathCommand[] commands = parsePathList(commandList);
 
-//            ExtendedGeneralPath buildPath = new ExtendedGeneralPath(
             GeneralPath buildPath = new GeneralPath(
                 fillRule.equals("evenodd") ? GeneralPath.WIND_EVEN_ODD : GeneralPath.WIND_NON_ZERO,
                 commands.length);
@@ -158,13 +126,25 @@ public class MissingGlyph extends ShapeElement
 
 
         //Read glyph spacing info
-        if (getPres(sty.setName("horiz-adv-x"))) horizAdvX = sty.getIntValue();
+        if (getPres(sty.setName("horiz-adv-x")))
+        {
+            horizAdvX = sty.getIntValue();
+        }
 
-        if (getPres(sty.setName("vert-origin-x"))) vertOriginX = sty.getIntValue();
+        if (getPres(sty.setName("vert-origin-x")))
+        {
+            vertOriginX = sty.getIntValue();
+        }
 
-        if (getPres(sty.setName("vert-origin-y"))) vertOriginY = sty.getIntValue();
+        if (getPres(sty.setName("vert-origin-y")))
+        {
+            vertOriginY = sty.getIntValue();
+        }
 
-        if (getPres(sty.setName("vert-adv-y"))) vertAdvY = sty.getIntValue();
+        if (getPres(sty.setName("vert-adv-y")))
+        {
+            vertAdvY = sty.getIntValue();
+        }
     }
 
     public Shape getPath()
@@ -176,15 +156,18 @@ public class MissingGlyph extends ShapeElement
     {
         //Do not push or pop stack
 
-        if (path != null) renderShape(g, path);
-        
+        if (path != null)
+        {
+            renderShape(g, path);
+        }
+
         Iterator it = children.iterator();
         while (it.hasNext())
         {
-            SVGElement ele = (SVGElement)it.next();
+            SVGElement ele = (SVGElement) it.next();
             if (ele instanceof RenderableElement)
             {
-                ((RenderableElement)ele).render(g);
+                ((RenderableElement) ele).render(g);
             }
         }
 
@@ -194,47 +177,62 @@ public class MissingGlyph extends ShapeElement
     public int getHorizAdvX()
     {
         if (horizAdvX == -1)
-            horizAdvX = ((Font)parent).getHorizAdvX();
+        {
+            horizAdvX = ((Font) parent).getHorizAdvX();
+        }
         return horizAdvX;
     }
 
     public int getVertOriginX()
     {
         if (vertOriginX == -1)
+        {
             vertOriginX = getHorizAdvX() / 2;
+        }
         return vertOriginX;
     }
 
     public int getVertOriginY()
     {
         if (vertOriginY == -1)
-            vertOriginY = ((Font)parent).getFontFace().getAscent();
+        {
+            vertOriginY = ((Font) parent).getFontFace().getAscent();
+        }
         return vertOriginY;
     }
 
     public int getVertAdvY()
     {
         if (vertAdvY == -1)
-            vertAdvY = ((Font)parent).getFontFace().getUnitsPerEm();
+        {
+            vertAdvY = ((Font) parent).getFontFace().getUnitsPerEm();
+        }
         return vertAdvY;
 
     }
 
     public Shape getShape()
     {
-        if (path != null) return shapeToParent(path);
+        if (path != null)
+        {
+            return shapeToParent(path);
+        }
         return null;
     }
 
     public Rectangle2D getBoundingBox() throws SVGException
     {
-        if (path != null) return boundsToParent(includeStrokeInBounds(path.getBounds2D()));
+        if (path != null)
+        {
+            return boundsToParent(includeStrokeInBounds(path.getBounds2D()));
+        }
         return null;
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -243,4 +241,44 @@ public class MissingGlyph extends ShapeElement
         //Fonts can't change
         return false;
     }
+
+    /**
+     * @param path the path to set
+     */
+    public void setPath(Shape path)
+    {
+        this.path = path;
+    }
+
+    /**
+     * @param horizAdvX the horizAdvX to set
+     */
+    public void setHorizAdvX(int horizAdvX)
+    {
+        this.horizAdvX = horizAdvX;
+    }
+
+    /**
+     * @param vertOriginX the vertOriginX to set
+     */
+    public void setVertOriginX(int vertOriginX)
+    {
+        this.vertOriginX = vertOriginX;
+    }
+
+    /**
+     * @param vertOriginY the vertOriginY to set
+     */
+    public void setVertOriginY(int vertOriginY)
+    {
+        this.vertOriginY = vertOriginY;
+    }
+
+    /**
+     * @param vertAdvY the vertAdvY to set
+     */
+    public void setVertAdvY(int vertAdvY)
+    {
+        this.vertAdvY = vertAdvY;
+    }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/Path.java b/svg-core/src/main/java/com/kitfox/svg/Path.java
index a45ca14..7d8db66 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Path.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Path.java
@@ -1,93 +1,91 @@
 /*
- * Rect.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 5:25 PM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
-import java.awt.*;
-import java.awt.geom.*;
-
-import com.kitfox.svg.pathcmd.*;
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
+import java.awt.Graphics2D;
+import java.awt.Shape;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.Rectangle2D;
 
 //import org.apache.batik.ext.awt.geom.ExtendedGeneralPath;
-
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class Path extends ShapeElement {
+public class Path extends ShapeElement
+{
 
+    public static final String TAG_NAME = "path";
 //    PathCommand[] commands = null;
-
     int fillRule = GeneralPath.WIND_NON_ZERO;
     String d = "";
 //    ExtendedGeneralPath path;
     GeneralPath path;
 
-    /** Creates a new instance of Rect */
-    public Path() {
+    /**
+     * Creates a new instance of Rect
+     */
+    public Path()
+    {
     }
 
-    /*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+    public String getTagName()
     {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        StyleAttribute styleAttrib = getStyle("fill-rule");
-        String fillRule = (styleAttrib == null) ? "nonzero" : styleAttrib.getStringValue();
-        
-        String d = attrs.getValue("d");
-        path = buildPath(d, fillRule.equals("evenodd") ? GeneralPath.WIND_EVEN_ODD : GeneralPath.WIND_NON_ZERO);
+        return TAG_NAME;
     }
-    */
-    
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-    
-        String fillRuleStrn  = (getStyle(sty.setName("fill-rule"))) ? sty.getStringValue() : "nonzero";
+
+
+        String fillRuleStrn = (getStyle(sty.setName("fill-rule"))) ? sty.getStringValue() : "nonzero";
         fillRule = fillRuleStrn.equals("evenodd") ? GeneralPath.WIND_EVEN_ODD : GeneralPath.WIND_NON_ZERO;
-        
-//        String d = "";
-        if (getPres(sty.setName("d"))) d = sty.getStringValue();
 
-//System.err.println(d);
-        
+        if (getPres(sty.setName("d")))
+        {
+            d = sty.getStringValue();
+        }
+
         path = buildPath(d, fillRule);
-        
-//System.err.println(d);
     }
-    
+
     public void render(Graphics2D g) throws SVGException
     {
         beginLayer(g);
@@ -106,8 +104,9 @@ public class Path extends ShapeElement {
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -119,11 +118,11 @@ public class Path extends ShapeElement {
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean shapeChange = false;
-        
+
         if (getStyle(sty.setName("fill-rule")))
         {
-            int newVal = sty.getStringValue().equals("evenodd") 
-                ? GeneralPath.WIND_EVEN_ODD 
+            int newVal = sty.getStringValue().equals("evenodd")
+                ? GeneralPath.WIND_EVEN_ODD
                 : GeneralPath.WIND_NON_ZERO;
             if (newVal != fillRule)
             {
@@ -131,7 +130,7 @@ public class Path extends ShapeElement {
                 changeState = true;
             }
         }
-        
+
         if (getPres(sty.setName("d")))
         {
             String newVal = sty.getStringValue();
@@ -141,14 +140,14 @@ public class Path extends ShapeElement {
                 shapeChange = true;
             }
         }
-        
+
         if (shapeChange)
         {
             build();
 //            path = buildPath(d, fillRule);
 //            return true;
         }
-        
+
         return changeState || shapeChange;
     }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/PatternSVG.java b/svg-core/src/main/java/com/kitfox/svg/PatternSVG.java
index 44dc0ec..4e3da4f 100644
--- a/svg-core/src/main/java/com/kitfox/svg/PatternSVG.java
+++ b/svg-core/src/main/java/com/kitfox/svg/PatternSVG.java
@@ -1,132 +1,86 @@
 /*
- * Gradient.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 3:25 AM
  */
-
 package com.kitfox.svg;
 
+import com.kitfox.svg.pattern.PatternPaint;
 import com.kitfox.svg.xml.StyleAttribute;
-import java.net.*;
-import java.util.*;
-import java.awt.geom.*;
-import java.awt.*;
-import java.awt.image.*;
-
-import com.kitfox.svg.pattern.*;
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
+import java.awt.Graphics2D;
+import java.awt.Paint;
+import java.awt.RenderingHints;
+import java.awt.TexturePaint;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+import java.awt.image.BufferedImage;
+import java.net.URI;
+import java.util.Iterator;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class PatternSVG extends FillElement {
-
+public class PatternSVG extends FillElement
+{
+    public static final String TAG_NAME = "pattern";
+    
     public static final int GU_OBJECT_BOUNDING_BOX = 0;
     public static final int GU_USER_SPACE_ON_USE = 1;
-
     int gradientUnits = GU_OBJECT_BOUNDING_BOX;
-
     float x;
     float y;
     float width;
     float height;
-
     AffineTransform patternXform = new AffineTransform();
     Rectangle2D.Float viewBox;
-
     Paint texPaint;
 
-    /** Creates a new instance of Gradient */
-    public PatternSVG() {
-    }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+    /**
+     * Creates a new instance of Gradient
+     */
+    public PatternSVG()
     {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        String href = attrs.getValue("xlink:href");
-        //If we have a link to another pattern, initialize ourselves with it's values
-        if (href != null)
-        {
-//System.err.println("Gradient.loaderStartElement() href '" + href + "'");
-            try {
-                URI src = getXMLBase().resolve(href);
-//                URL url = srcUrl.toURL();
-//                URL url = new URL(helper.docRoot, href);
-                PatternSVG patSrc = (PatternSVG)helper.universe.getElement(src);
-
-                gradientUnits = patSrc.gradientUnits;
-                x = patSrc.x;
-                y = patSrc.y;
-                width = patSrc.width;
-                height = patSrc.height;
-                viewBox = patSrc.viewBox;
-                patternXform.setTransform(patSrc.patternXform);
-                members.addAll(patSrc.members);
-            }
-            catch (Exception e)
-            {
-                e.printStackTrace();
-            }
-        }
-
-
-        String gradientUnits = attrs.getValue("gradientUnits");
-
-        if (gradientUnits != null)
-        {
-            if (gradientUnits.toLowerCase().equals("userspaceonuse")) this.gradientUnits = GU_USER_SPACE_ON_USE;
-            else this.gradientUnits = GU_OBJECT_BOUNDING_BOX;
-        }
-
-        String patternTransform = attrs.getValue("patternTransform");
-        if (patternTransform != null)
-        {
-            patternXform = parseTransform(patternTransform);
-        }
-
-        String x = attrs.getValue("x");
-        String y = attrs.getValue("y");
-        String width = attrs.getValue("width");
-        String height = attrs.getValue("height");
-
-        if (x != null) this.x = XMLParseUtil.parseFloat(x);
-        if (y != null) this.y = XMLParseUtil.parseFloat(y);
-        if (width != null) this.width = XMLParseUtil.parseFloat(width);
-        if (height != null) this.height = XMLParseUtil.parseFloat(height);
+    }
 
-        String viewBoxStrn = attrs.getValue("viewBox");
-        if (viewBoxStrn != null)
-        {
-            float[] dim = XMLParseUtil.parseFloatList(viewBoxStrn);
-            viewBox = new Rectangle2D.Float(dim[0], dim[1], dim[2], dim[3]);
-        }
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
-  */  
+
     /**
      * Called after the start element but before the end element to indicate
      * each child tag that has been processed
@@ -134,27 +88,29 @@ public class PatternSVG extends FillElement {
     public void loaderAddChild(SVGLoaderHelper helper, SVGElement child) throws SVGElementException
     {
         super.loaderAddChild(helper, child);
-
-//        members.add(child);
     }
-    
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-		//Load style string
+
+        //Load style string
         String href = null;
-        if (getPres(sty.setName("xlink:href"))) href = sty.getStringValue();
+        if (getPres(sty.setName("xlink:href")))
+        {
+            href = sty.getStringValue();
+        }
         //String href = attrs.getValue("xlink:href");
         //If we have a link to another pattern, initialize ourselves with it's values
         if (href != null)
         {
 //System.err.println("Gradient.loaderStartElement() href '" + href + "'");
-            try {
+            try
+            {
                 URI src = getXMLBase().resolve(href);
-                PatternSVG patSrc = (PatternSVG)diagram.getUniverse().getElement(src);
+                PatternSVG patSrc = (PatternSVG) diagram.getUniverse().getElement(src);
 
                 gradientUnits = patSrc.gradientUnits;
                 x = patSrc.x;
@@ -164,60 +120,82 @@ public class PatternSVG extends FillElement {
                 viewBox = patSrc.viewBox;
                 patternXform.setTransform(patSrc.patternXform);
                 children.addAll(patSrc.children);
-            }
-            catch (Exception e)
+            } catch (Exception e)
             {
-                e.printStackTrace();
+                Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                    "Could not parse xlink:href", e);
             }
         }
 
         String gradientUnits = "";
-        if (getPres(sty.setName("gradientUnits"))) gradientUnits = sty.getStringValue().toLowerCase();
-        if (gradientUnits.equals("userspaceonuse")) this.gradientUnits = GU_USER_SPACE_ON_USE;
-        else this.gradientUnits = GU_OBJECT_BOUNDING_BOX;
+        if (getPres(sty.setName("gradientUnits")))
+        {
+            gradientUnits = sty.getStringValue().toLowerCase();
+        }
+        if (gradientUnits.equals("userspaceonuse"))
+        {
+            this.gradientUnits = GU_USER_SPACE_ON_USE;
+        } else
+        {
+            this.gradientUnits = GU_OBJECT_BOUNDING_BOX;
+        }
 
         String patternTransform = "";
-        if (getPres(sty.setName("patternTransform"))) patternTransform = sty.getStringValue();
+        if (getPres(sty.setName("patternTransform")))
+        {
+            patternTransform = sty.getStringValue();
+        }
         patternXform = parseTransform(patternTransform);
 
-        
-        if (getPres(sty.setName("x"))) x = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("y"))) y = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("width"))) width = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("height"))) height = sty.getFloatValueWithUnits();
-        
+
+        if (getPres(sty.setName("x")))
+        {
+            x = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("y")))
+        {
+            y = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("width")))
+        {
+            width = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("height")))
+        {
+            height = sty.getFloatValueWithUnits();
+        }
+
         if (getPres(sty.setName("viewBox")))
         {
             float[] dim = sty.getFloatList();
             viewBox = new Rectangle2D.Float(dim[0], dim[1], dim[2], dim[3]);
         }
-            
+
         preparePattern();
     }
-    
-/*
-    public void loaderEndElement(SVGLoaderHelper helper)
-    {
-        build();
-    }
-    */
 
+    /*
+     public void loaderEndElement(SVGLoaderHelper helper)
+     {
+     build();
+     }
+     */
     protected void preparePattern() throws SVGException
     {
         //For now, treat all fills as UserSpaceOnUse.  Otherwise, we'll need
         // a different paint for every object.
-        int tileWidth = (int)width;
-        int tileHeight = (int)height;
+        int tileWidth = (int) width;
+        int tileHeight = (int) height;
 
         float stretchX = 1f, stretchY = 1f;
         if (!patternXform.isIdentity())
         {
             //Scale our source tile so that we can have nice sampling from it.
-            float xlateX = (float)patternXform.getTranslateX();
-            float xlateY = (float)patternXform.getTranslateY();
+            float xlateX = (float) patternXform.getTranslateX();
+            float xlateY = (float) patternXform.getTranslateY();
 
             Point2D.Float pt = new Point2D.Float(), pt2 = new Point2D.Float();
 
@@ -225,24 +203,24 @@ public class PatternSVG extends FillElement {
             patternXform.transform(pt, pt2);
             pt2.x -= xlateX;
             pt2.y -= xlateY;
-            stretchX = (float)Math.sqrt(pt2.x * pt2.x + pt2.y * pt2.y) * 1.5f / width;
+            stretchX = (float) Math.sqrt(pt2.x * pt2.x + pt2.y * pt2.y) * 1.5f / width;
 
             pt.setLocation(height, 0);
             patternXform.transform(pt, pt2);
             pt2.x -= xlateX;
             pt2.y -= xlateY;
-            stretchY = (float)Math.sqrt(pt2.x * pt2.x + pt2.y * pt2.y) * 1.5f / height;
+            stretchY = (float) Math.sqrt(pt2.x * pt2.x + pt2.y * pt2.y) * 1.5f / height;
 
             tileWidth *= stretchX;
             tileHeight *= stretchY;
         }
 
-        if (tileWidth == 0 || tileHeight == 0) 
+        if (tileWidth == 0 || tileHeight == 0)
         {
             //Use defaults if tile has degenerate size
             return;
         }
-        
+
         BufferedImage buf = new BufferedImage(tileWidth, tileHeight, BufferedImage.TYPE_INT_ARGB);
         Graphics2D g = buf.createGraphics();
         g.setClip(0, 0, tileWidth, tileHeight);
@@ -250,7 +228,7 @@ public class PatternSVG extends FillElement {
 
         for (Iterator it = children.iterator(); it.hasNext();)
         {
-            SVGElement ele = (SVGElement)it.next();
+            SVGElement ele = (SVGElement) it.next();
             if (ele instanceof RenderableElement)
             {
                 AffineTransform xform = new AffineTransform();
@@ -258,15 +236,14 @@ public class PatternSVG extends FillElement {
                 if (viewBox == null)
                 {
                     xform.translate(-x, -y);
-                }
-                else
+                } else
                 {
                     xform.scale(tileWidth / viewBox.width, tileHeight / viewBox.height);
                     xform.translate(-viewBox.x, -viewBox.y);
                 }
 
                 g.setTransform(xform);
-                ((RenderableElement)ele).render(g);
+                ((RenderableElement) ele).render(g);
             }
         }
 
@@ -279,8 +256,7 @@ public class PatternSVG extends FillElement {
         if (patternXform.isIdentity())
         {
             texPaint = new TexturePaint(buf, new Rectangle2D.Float(x, y, width, height));
-        }
-        else
+        } else
         {
             patternXform.scale(1 / stretchX, 1 / stretchY);
             texPaint = new PatternPaint(buf, patternXform);
@@ -293,8 +269,9 @@ public class PatternSVG extends FillElement {
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
diff --git a/svg-core/src/main/java/com/kitfox/svg/Polygon.java b/svg-core/src/main/java/com/kitfox/svg/Polygon.java
index 5be9795..58ec1cc 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Polygon.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Polygon.java
@@ -1,101 +1,88 @@
 /*
- * Rect.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 5:25 PM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
 import com.kitfox.svg.xml.XMLParseUtil;
-import java.awt.geom.*;
-import java.awt.*;
-
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
+import java.awt.Graphics2D;
+import java.awt.Shape;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.Rectangle2D;
 
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class Polygon extends ShapeElement {
+public class Polygon extends ShapeElement
+{
+    public static final String TAG_NAME = "polygon";
 
     int fillRule = GeneralPath.WIND_NON_ZERO;
     String pointsStrn = "";
-//    float[] points = null;
     GeneralPath path;
 
-    /** Creates a new instance of Rect */
-    public Polygon() {
-    }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+    /**
+     * Creates a new instance of Rect
+     */
+    public Polygon()
     {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-
-        points = XMLParseUtil.parseFloatList(attrs.getValue("points"));
-
-        build();
     }
-*/
-/*
-    public void build()
-    {
-        StyleAttribute styleAttrib = getStyle("fill-rule");
-        String fillRule = (styleAttrib == null) ? "nonzero" : styleAttrib.getStringValue();
-
-        path = new GeneralPath(
-            fillRule.equals("evenodd") ? GeneralPath.WIND_EVEN_ODD : GeneralPath.WIND_NON_ZERO,
-            points.length / 2);
 
-        path.moveTo(points[0], points[1]);
-        for (int i = 2; i < points.length; i += 2)
-        {
-            path.lineTo(points[i], points[i + 1]);
-        }
-        path.closePath();
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
-*/
-    
-//static int yyyyy = 0;
-    
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-        if (getPres(sty.setName("points"))) pointsStrn = sty.getStringValue();
-        
+
+        if (getPres(sty.setName("points")))
+        {
+            pointsStrn = sty.getStringValue();
+        }
+
         String fillRuleStrn = getStyle(sty.setName("fill-rule")) ? sty.getStringValue() : "nonzero";
         fillRule = fillRuleStrn.equals("evenodd") ? GeneralPath.WIND_EVEN_ODD : GeneralPath.WIND_NON_ZERO;
 
         buildPath();
     }
-    
+
     protected void buildPath()
     {
         float[] points = XMLParseUtil.parseFloatList(pointsStrn);
@@ -108,7 +95,7 @@ public class Polygon extends ShapeElement {
         }
         path.closePath();
     }
-    
+
     public void render(Graphics2D g) throws SVGException
     {
         beginLayer(g);
@@ -116,7 +103,6 @@ public class Polygon extends ShapeElement {
         finishLayer(g);
     }
 
-
     public Shape getShape()
     {
         return shapeToParent(path);
@@ -127,10 +113,10 @@ public class Polygon extends ShapeElement {
         return boundsToParent(includeStrokeInBounds(path.getBounds2D()));
     }
 
-
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -142,11 +128,11 @@ public class Polygon extends ShapeElement {
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean shapeChange = false;
-        
+
         if (getStyle(sty.setName("fill-rule")))
         {
-            int newVal = sty.getStringValue().equals("evenodd") 
-                ? GeneralPath.WIND_EVEN_ODD 
+            int newVal = sty.getStringValue().equals("evenodd")
+                ? GeneralPath.WIND_EVEN_ODD
                 : GeneralPath.WIND_NON_ZERO;
             if (newVal != fillRule)
             {
@@ -154,7 +140,7 @@ public class Polygon extends ShapeElement {
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("points")))
         {
             String newVal = sty.getStringValue();
@@ -164,15 +150,15 @@ public class Polygon extends ShapeElement {
                 shapeChange = true;
             }
         }
-        
-        
+
+
         if (shapeChange)
         {
             build();
 //            buildPath();
 //            return true;
         }
-        
+
         return changeState || shapeChange;
     }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/Polyline.java b/svg-core/src/main/java/com/kitfox/svg/Polyline.java
index 873657c..a62ea4c 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Polyline.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Polyline.java
@@ -1,79 +1,88 @@
 /*
- * Rect.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 5:25 PM
  */
-
 package com.kitfox.svg;
 
-import java.awt.geom.*;
-import java.awt.*;
-
-import com.kitfox.svg.xml.*;
+import com.kitfox.svg.xml.StyleAttribute;
+import com.kitfox.svg.xml.XMLParseUtil;
+import java.awt.Graphics2D;
+import java.awt.Shape;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.Rectangle2D;
 
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class Polyline extends ShapeElement {
-
+public class Polyline extends ShapeElement
+{
+    public static final String TAG_NAME = "polyline";
+    
     int fillRule = GeneralPath.WIND_NON_ZERO;
     String pointsStrn = "";
-//    float[] points = null;
     GeneralPath path;
 
-    /** Creates a new instance of Rect */
-    public Polyline() {
+    /**
+     * Creates a new instance of Rect
+     */
+    public Polyline()
+    {
     }
 
-    /*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+    public String getTagName()
     {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-
-        points = XMLParseUtil.parseFloatList(attrs.getValue("points"));
-
-        build();
+        return TAG_NAME;
     }
-    */
 
     public void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-        if (getPres(sty.setName("points"))) pointsStrn = sty.getStringValue();
-        
+
+        if (getPres(sty.setName("points")))
+        {
+            pointsStrn = sty.getStringValue();
+        }
+
         String fillRuleStrn = getStyle(sty.setName("fill-rule")) ? sty.getStringValue() : "nonzero";
         fillRule = fillRuleStrn.equals("evenodd") ? GeneralPath.WIND_EVEN_ODD : GeneralPath.WIND_NON_ZERO;
 
         buildPath();
     }
-    
+
     protected void buildPath()
     {
         float[] points = XMLParseUtil.parseFloatList(pointsStrn);
@@ -104,8 +113,9 @@ public class Polyline extends ShapeElement {
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -117,11 +127,11 @@ public class Polyline extends ShapeElement {
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean shapeChange = false;
-        
+
         if (getStyle(sty.setName("fill-rule")))
         {
-            int newVal = sty.getStringValue().equals("evenodd") 
-                ? GeneralPath.WIND_EVEN_ODD 
+            int newVal = sty.getStringValue().equals("evenodd")
+                ? GeneralPath.WIND_EVEN_ODD
                 : GeneralPath.WIND_NON_ZERO;
             if (newVal != fillRule)
             {
@@ -129,7 +139,7 @@ public class Polyline extends ShapeElement {
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("points")))
         {
             String newVal = sty.getStringValue();
@@ -139,15 +149,15 @@ public class Polyline extends ShapeElement {
                 shapeChange = true;
             }
         }
-        
-        
+
+
         if (shapeChange)
         {
             build();
 //            buildPath();
 //            return true;
         }
-        
+
         return changeState || shapeChange;
     }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/RadialGradient.java b/svg-core/src/main/java/com/kitfox/svg/RadialGradient.java
index 37b9414..29ab070 100644
--- a/svg-core/src/main/java/com/kitfox/svg/RadialGradient.java
+++ b/svg-core/src/main/java/com/kitfox/svg/RadialGradient.java
@@ -1,104 +1,109 @@
 /*
- * RadialGradient.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 1:55 AM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
-import java.awt.geom.*;
-import java.awt.*;
-
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
-
-//import org.apache.batik.ext.awt.*;
-import com.kitfox.svg.batik.*;
-
+import java.awt.Color;
+import java.awt.Paint;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
 
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class RadialGradient extends Gradient {
+public class RadialGradient extends Gradient
+{
+    public static final String TAG_NAME = "radialgradient";
 
     float cx = 0.5f;
     float cy = 0.5f;
-    float fx = 0.5f;
-    float fy = 0.5f;
+    boolean hasFocus = false;
+    float fx = 0f;
+    float fy = 0f;
     float r = 0.5f;
 
-    /** Creates a new instance of RadialGradient */
-    public RadialGradient() {
-    }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+    /**
+     * Creates a new instance of RadialGradient
+     */
+    public RadialGradient()
     {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        String cx = attrs.getValue("cx");
-        String cy = attrs.getValue("cy");
-        String fx = attrs.getValue("fx");
-        String fy = attrs.getValue("fy");
-        String r = attrs.getValue("r");
-
-        if (cx != null) this.cx = (float)XMLParseUtil.parseRatio(cx);
-        if (cy != null) this.cy = (float)XMLParseUtil.parseRatio(cy);
-        if (fx != null) this.fx = (float)XMLParseUtil.parseRatio(fx);
-        if (fy != null) this.fy = (float)XMLParseUtil.parseRatio(fy);
-        if (r != null) this.r = (float)XMLParseUtil.parseRatio(r);
     }
-    */
 
-    /*
-    public void loaderEndElement(SVGLoaderHelper helper)
+    public String getTagName()
     {
-        super.loaderEndElement(helper);
-        
-        build();
+        return TAG_NAME;
     }
-     */
-    
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-        if (getPres(sty.setName("cx"))) cx = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("cy"))) cy = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("fx"))) fx = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("fy"))) fy = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("r"))) r = sty.getFloatValueWithUnits();
+
+        if (getPres(sty.setName("cx")))
+        {
+            cx = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("cy")))
+        {
+            cy = sty.getFloatValueWithUnits();
+        }
+
+        hasFocus = false;
+        if (getPres(sty.setName("fx")))
+        {
+            fx = sty.getFloatValueWithUnits();
+            hasFocus = true;
+        }
+
+        if (getPres(sty.setName("fy")))
+        {
+            fy = sty.getFloatValueWithUnits();
+            hasFocus = true;
+        }
+
+        if (getPres(sty.setName("r")))
+        {
+            r = sty.getFloatValueWithUnits();
+        }
     }
-    
+
     public Paint getPaint(Rectangle2D bounds, AffineTransform xform)
     {
         com.kitfox.svg.batik.MultipleGradientPaint.CycleMethodEnum method;
@@ -116,21 +121,21 @@ public class RadialGradient extends Gradient {
                 break;
         }
 
-        com.kitfox.svg.batik.RadialGradientPaint paint;
-
+        Paint paint;
+        Point2D.Float pt1 = new Point2D.Float(cx, cy);
+        Point2D.Float pt2 = hasFocus ? new Point2D.Float(fx, fy) : pt1;
         if (gradientUnits == GU_USER_SPACE_ON_USE)
         {
             paint = new com.kitfox.svg.batik.RadialGradientPaint(
-                new Point2D.Float(cx, cy),
+                pt1,
                 r,
-                new Point2D.Float(fx, fy),
+                pt2,
                 getStopFractions(),
                 getStopColors(),
                 method,
                 com.kitfox.svg.batik.MultipleGradientPaint.SRGB,
                 gradientTransform);
-        }
-        else
+        } else
         {
             AffineTransform viewXform = new AffineTransform();
             viewXform.translate(bounds.getX(), bounds.getY());
@@ -139,9 +144,9 @@ public class RadialGradient extends Gradient {
             viewXform.concatenate(gradientTransform);
 
             paint = new com.kitfox.svg.batik.RadialGradientPaint(
-                new Point2D.Float(cx, cy),
+                pt1,
                 r,
-                new Point2D.Float(fx, fy),
+                pt2,
                 getStopFractions(),
                 getStopColors(),
                 method,
@@ -153,8 +158,9 @@ public class RadialGradient extends Gradient {
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -166,7 +172,7 @@ public class RadialGradient extends Gradient {
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean shapeChange = false;
-        
+
         if (getPres(sty.setName("cx")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -176,7 +182,7 @@ public class RadialGradient extends Gradient {
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("cy")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -186,7 +192,7 @@ public class RadialGradient extends Gradient {
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("fx")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -196,7 +202,7 @@ public class RadialGradient extends Gradient {
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("fy")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -206,7 +212,7 @@ public class RadialGradient extends Gradient {
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("r")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -216,7 +222,7 @@ public class RadialGradient extends Gradient {
                 shapeChange = true;
             }
         }
-        
+
         return changeState;
     }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/Rect.java b/svg-core/src/main/java/com/kitfox/svg/Rect.java
index 8fe56e3..87553a8 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Rect.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Rect.java
@@ -1,36 +1,46 @@
 /*
- * Rect.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 5:25 PM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
-
-import java.awt.*;
-import java.awt.geom.*;
+import java.awt.Graphics2D;
+import java.awt.Shape;
+import java.awt.geom.Rectangle2D;
+import java.awt.geom.RectangularShape;
+import java.awt.geom.RoundRectangle2D;
 import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
@@ -39,7 +49,9 @@ import java.io.ObjectOutputStream;
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class Rect extends ShapeElement {
+public class Rect extends ShapeElement
+{
+    public static final String TAG_NAME = "rect";
 
     float x = 0f;
     float y = 0f;
@@ -47,14 +59,21 @@ public class Rect extends ShapeElement {
     float height = 0f;
     float rx = 0f;
     float ry = 0f;
-
     RectangularShape rect;
 
-    /** Creates a new instance of Rect */
-    public Rect() {
+    /**
+     * Creates a new instance of Rect
+     */
+    public Rect()
+    {
+    }
+
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
 
-    private void writeObject(ObjectOutputStream out) throws IOException    
+    private void writeObject(ObjectOutputStream out) throws IOException
     {
         out.writeFloat(x);
         out.writeFloat(y);
@@ -63,7 +82,7 @@ public class Rect extends ShapeElement {
         out.writeFloat(rx);
         out.writeFloat(ry);
     }
-    
+
     private void readObject(ObjectInputStream in) throws IOException
     {
         x = in.readFloat();
@@ -72,54 +91,52 @@ public class Rect extends ShapeElement {
         height = in.readFloat();
         rx = in.readFloat();
         ry = in.readFloat();
-        
+
         if (rx == 0f && ry == 0f)
         {
             rect = new Rectangle2D.Float(x, y, width, height);
-        }
-        else
+        } else
         {
             rect = new RoundRectangle2D.Float(x, y, width, height, rx * 2, ry * 2);
         }
     }
-    
+
     /*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
-    {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        String x = attrs.getValue("x");
-        String y = attrs.getValue("y");
-        String width = attrs.getValue("width");
-        String height = attrs.getValue("height");
-        String rx = attrs.getValue("rx");
-        String ry = attrs.getValue("ry");
-
-        if (rx == null) rx = ry;
-        if (ry == null) ry = rx;
-
-        this.x = XMLParseUtil.parseFloat(x);
-        this.y = XMLParseUtil.parseFloat(y);
-        this.width = XMLParseUtil.parseFloat(width);
-        this.height = XMLParseUtil.parseFloat(height);
-        if (rx != null)
-        {
-            this.rx = XMLParseUtil.parseFloat(rx);
-            this.ry = XMLParseUtil.parseFloat(ry);
-        }
+     public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+     {
+     //Load style string
+     super.loaderStartElement(helper, attrs, parent);
 
-        build();
-//        setBounds(this.x, this.y, this.width, this.height);
-    }
-*/
-    
+     String x = attrs.getValue("x");
+     String y = attrs.getValue("y");
+     String width = attrs.getValue("width");
+     String height = attrs.getValue("height");
+     String rx = attrs.getValue("rx");
+     String ry = attrs.getValue("ry");
+
+     if (rx == null) rx = ry;
+     if (ry == null) ry = rx;
+
+     this.x = XMLParseUtil.parseFloat(x);
+     this.y = XMLParseUtil.parseFloat(y);
+     this.width = XMLParseUtil.parseFloat(width);
+     this.height = XMLParseUtil.parseFloat(height);
+     if (rx != null)
+     {
+     this.rx = XMLParseUtil.parseFloat(rx);
+     this.ry = XMLParseUtil.parseFloat(ry);
+     }
+
+     build();
+     //        setBounds(this.x, this.y, this.width, this.height);
+     }
+     */
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
+
 //        SVGElement parent = this.getParent();
 //        if (parent instanceof RenderableElement)
 //        {
@@ -127,31 +144,56 @@ public class Rect extends ShapeElement {
 //            Rectangle2D bounds = re.getBoundingBox();
 //            bounds = null;
 //        }
-        
-        
-        if (getPres(sty.setName("x"))) x = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("y"))) y = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("width"))) width = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("height"))) height = sty.getFloatValueWithUnits();
+
+
+        if (getPres(sty.setName("x")))
+        {
+            x = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("y")))
+        {
+            y = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("width")))
+        {
+            width = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("height")))
+        {
+            height = sty.getFloatValueWithUnits();
+        }
 
         boolean rxSet = false;
-        if (getPres(sty.setName("rx"))) { rx = sty.getFloatValueWithUnits(); rxSet = true; }
-        
+        if (getPres(sty.setName("rx")))
+        {
+            rx = sty.getFloatValueWithUnits();
+            rxSet = true;
+        }
+
         boolean rySet = false;
-        if (getPres(sty.setName("ry"))) { ry = sty.getFloatValueWithUnits(); rySet = true; }
-        
-        if (!rxSet) rx = ry;
-        if (!rySet) ry = rx;
+        if (getPres(sty.setName("ry")))
+        {
+            ry = sty.getFloatValueWithUnits();
+            rySet = true;
+        }
+
+        if (!rxSet)
+        {
+            rx = ry;
+        }
+        if (!rySet)
+        {
+            ry = rx;
+        }
+
 
-        
         if (rx == 0f && ry == 0f)
         {
             rect = new Rectangle2D.Float(x, y, width, height);
-        }
-        else
+        } else
         {
             rect = new RoundRectangle2D.Float(x, y, width, height, rx * 2, ry * 2);
         }
@@ -175,8 +217,9 @@ public class Rect extends ShapeElement {
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -188,7 +231,7 @@ public class Rect extends ShapeElement {
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean shapeChange = false;
-        
+
         if (getPres(sty.setName("x")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -262,7 +305,7 @@ public class Rect extends ShapeElement {
 //            }
 //            return true;
         }
-        
+
         return changeState || shapeChange;
     }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/RenderableElement.java b/svg-core/src/main/java/com/kitfox/svg/RenderableElement.java
index f0fee73..ef3948d 100644
--- a/svg-core/src/main/java/com/kitfox/svg/RenderableElement.java
+++ b/svg-core/src/main/java/com/kitfox/svg/RenderableElement.java
@@ -1,30 +1,38 @@
 /*
- * BoundedElement.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 9:00 AM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
@@ -37,26 +45,26 @@ import java.awt.geom.Rectangle2D;
 import java.net.URI;
 import java.util.List;
 
-
-
 /**
  * Maintains bounding box for this element
  *
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-abstract public class RenderableElement extends TransformableElement 
+abstract public class RenderableElement extends TransformableElement
 {
-
     AffineTransform cachedXform = null;
-    Shape cachedClip = null;
     
+    Shape cachedClip = null;
     public static final int VECTOR_EFFECT_NONE = 0;
     public static final int VECTOR_EFFECT_NON_SCALING_STROKE = 1;
     int vectorEffect;
 
-    /** Creates a new instance of BoundedElement */
-    public RenderableElement() {
+    /**
+     * Creates a new instance of BoundedElement
+     */
+    public RenderableElement()
+    {
     }
 
     public RenderableElement(String id, SVGElement parent)
@@ -67,39 +75,38 @@ abstract public class RenderableElement extends TransformableElement
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
+
         if (getPres(sty.setName("vector-effect")))
         {
             if ("non-scaling-stroke".equals(sty.getStringValue()))
             {
                 vectorEffect = VECTOR_EFFECT_NON_SCALING_STROKE;
-            }
-            else
+            } else
             {
                 vectorEffect = VECTOR_EFFECT_NONE;
             }
-        }
-        else
+        } else
         {
             vectorEffect = VECTOR_EFFECT_NONE;
         }
     }
-    
+
     abstract public void render(Graphics2D g) throws SVGException;
-    
+
     abstract void pick(Point2D point, boolean boundingBox, List retVec) throws SVGException;
-    
+
     abstract void pick(Rectangle2D pickArea, AffineTransform ltw, boolean boundingBox, List retVec) throws SVGException;
-    
+
     abstract public Rectangle2D getBoundingBox() throws SVGException;
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
-    {
-        super.loaderStartElement(helper, attrs, parent);
-    }
-*/
+    /*
+     public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+     {
+     super.loaderStartElement(helper, attrs, parent);
+     }
+     */
+
     /**
      * Pushes transform stack, transforms to local coordinates and sets up
      * clipping mask.
@@ -113,17 +120,18 @@ abstract public class RenderableElement extends TransformableElement
         }
 
         StyleAttribute styleAttrib = new StyleAttribute();
-        
+
         //Get clipping path
 //        StyleAttribute styleAttrib = getStyle("clip-path", false);
         Shape clipPath = null;
         int clipPathUnits = ClipPath.CP_USER_SPACE_ON_USE;
-        if (getStyle(styleAttrib.setName("clip-path")))
+        if (getStyle(styleAttrib.setName("clip-path"), false)
+             && !"none".equals(styleAttrib.getStringValue()))
         {
             URI uri = styleAttrib.getURIValue(getXMLBase());
             if (uri != null)
             {
-                ClipPath ele = (ClipPath)diagram.getUniverse().getElement(uri);
+                ClipPath ele = (ClipPath) diagram.getUniverse().getElement(uri);
                 clipPath = ele.getClipPathShape();
                 clipPathUnits = ele.getClipPathUnits();
             }
@@ -134,22 +142,28 @@ abstract public class RenderableElement extends TransformableElement
         {
             if (clipPathUnits == ClipPath.CP_OBJECT_BOUNDING_BOX && (this instanceof ShapeElement))
             {
-                Rectangle2D rect = ((ShapeElement)this).getBoundingBox();
+                Rectangle2D rect = ((ShapeElement) this).getBoundingBox();
                 AffineTransform at = new AffineTransform();
                 at.scale(rect.getWidth(), rect.getHeight());
                 clipPath = at.createTransformedShape(clipPath);
             }
 
             cachedClip = g.getClip();
-            Area newClip = new Area(cachedClip);
-            newClip.intersect(new Area(clipPath));
-            g.setClip(newClip);
+            if (cachedClip == null)
+            {
+                g.setClip(clipPath);
+            } else
+            {
+                Area newClip = new Area(cachedClip);
+                newClip.intersect(new Area(clipPath));
+                g.setClip(newClip);
+            }
         }
     }
 
     /**
-     * Restores transform and clipping values to the way they were before
-     * this layer was drawn.
+     * Restores transform and clipping values to the way they were before this
+     * layer was drawn.
      */
     protected void finishLayer(Graphics2D g)
     {
@@ -163,5 +177,4 @@ abstract public class RenderableElement extends TransformableElement
             g.setTransform(cachedXform);
         }
     }
-
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/SVGCache.java b/svg-core/src/main/java/com/kitfox/svg/SVGCache.java
index 13fa1ec..c3a10b4 100644
--- a/svg-core/src/main/java/com/kitfox/svg/SVGCache.java
+++ b/svg-core/src/main/java/com/kitfox/svg/SVGCache.java
@@ -1,5 +1,35 @@
 /*
- * SVGUniverseSingleton.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on April 2, 2005, 1:54 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/SVGConst.java b/svg-core/src/main/java/com/kitfox/svg/SVGConst.java
new file mode 100644
index 0000000..a46ad04
--- /dev/null
+++ b/svg-core/src/main/java/com/kitfox/svg/SVGConst.java
@@ -0,0 +1,14 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package com.kitfox.svg;
+
+/**
+ *
+ * @author kitfox
+ */
+public interface SVGConst
+{
+    public static final String SVG_LOGGER = "svgSalamandeLogger";
+}
diff --git a/svg-core/src/main/java/com/kitfox/svg/SVGDiagram.java b/svg-core/src/main/java/com/kitfox/svg/SVGDiagram.java
index c28e6e6..3a89075 100644
--- a/svg-core/src/main/java/com/kitfox/svg/SVGDiagram.java
+++ b/svg-core/src/main/java/com/kitfox/svg/SVGDiagram.java
@@ -1,26 +1,35 @@
 /*
- * SVGDiagram.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 18, 2004, 5:04 PM
  */
@@ -37,6 +46,8 @@ import java.net.URI;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 
 /**
@@ -91,7 +102,7 @@ public class SVGDiagram implements Serializable
      */
     public void render(Graphics2D g) throws SVGException
     {
-        root.render(g);
+        root.renderToViewport(g);
     }
     
     /**
@@ -202,6 +213,7 @@ public class SVGDiagram implements Serializable
     public void setRoot(SVGRoot root)
     {
         this.root = root;
+        root.setDiagram(this);
     }
 
     public boolean ignoringClipHeuristic() { return ignoreClipHeuristic; }
@@ -238,7 +250,8 @@ public class SVGDiagram implements Serializable
                 root.build();
             } catch (SVGException ex)
             {
-                ex.printStackTrace();
+                Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, 
+                    "Could not build document", ex);
             }
         }
     }
diff --git a/svg-core/src/main/java/com/kitfox/svg/SVGDisplayPanel.form b/svg-core/src/main/java/com/kitfox/svg/SVGDisplayPanel.form
index 9392b28..226f748 100644
--- a/svg-core/src/main/java/com/kitfox/svg/SVGDisplayPanel.form
+++ b/svg-core/src/main/java/com/kitfox/svg/SVGDisplayPanel.form
@@ -1,11 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+<Form version="1.2" maxVersion="1.2" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
   <Events>
     <EventHandler event="componentResized" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="formComponentResized"/>
   </Events>
   <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
     <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
     <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
     <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
     <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
diff --git a/svg-core/src/main/java/com/kitfox/svg/SVGDisplayPanel.java b/svg-core/src/main/java/com/kitfox/svg/SVGDisplayPanel.java
index 04604b4..94d625d 100644
--- a/svg-core/src/main/java/com/kitfox/svg/SVGDisplayPanel.java
+++ b/svg-core/src/main/java/com/kitfox/svg/SVGDisplayPanel.java
@@ -1,26 +1,35 @@
 /*
- * SVGDisplayPanel.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 20, 2004, 12:29 PM
  */
@@ -30,6 +39,8 @@ package com.kitfox.svg;
 import javax.swing.*;
 import java.awt.*;
 import java.awt.geom.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * @author Mark McKay
@@ -123,7 +134,8 @@ public class SVGDisplayPanel extends javax.swing.JPanel implements Scrollable
             }
             catch (SVGException e)
             {
-                e.printStackTrace();
+                Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, 
+                    "Could not render diagram", e);
             }
         }
     }
diff --git a/svg-core/src/main/java/com/kitfox/svg/SVGElement.java b/svg-core/src/main/java/com/kitfox/svg/SVGElement.java
index 47ce1c3..5e3f6a4 100644
--- a/svg-core/src/main/java/com/kitfox/svg/SVGElement.java
+++ b/svg-core/src/main/java/com/kitfox/svg/SVGElement.java
@@ -1,42 +1,75 @@
 /*
- * SVGElement.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 1:59 AM
  */
-
 package com.kitfox.svg;
 
-import java.util.*;
-import java.util.regex.*;
-import java.net.*;
-import java.awt.geom.*;
-
-import org.xml.sax.*;
-import com.kitfox.svg.animation.*;
-import com.kitfox.svg.pathcmd.*;
-import com.kitfox.svg.xml.*;
+import com.kitfox.svg.animation.AnimationElement;
+import com.kitfox.svg.animation.TrackBase;
+import com.kitfox.svg.animation.TrackManager;
+import com.kitfox.svg.pathcmd.Arc;
+import com.kitfox.svg.pathcmd.BuildHistory;
+import com.kitfox.svg.pathcmd.Cubic;
+import com.kitfox.svg.pathcmd.CubicSmooth;
+import com.kitfox.svg.pathcmd.Horizontal;
+import com.kitfox.svg.pathcmd.LineTo;
+import com.kitfox.svg.pathcmd.MoveTo;
+import com.kitfox.svg.pathcmd.PathCommand;
+import com.kitfox.svg.pathcmd.Quadratic;
+import com.kitfox.svg.pathcmd.QuadraticSmooth;
+import com.kitfox.svg.pathcmd.Terminal;
+import com.kitfox.svg.pathcmd.Vertical;
+import com.kitfox.svg.xml.StyleAttribute;
+import com.kitfox.svg.xml.StyleSheet;
+import com.kitfox.svg.xml.XMLParseUtil;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.GeneralPath;
 import java.io.Serializable;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
 
 /**
  * @author Mark McKay
@@ -44,36 +77,31 @@ import java.io.Serializable;
  */
 abstract public class SVGElement implements Serializable
 {
+
     public static final long serialVersionUID = 0;
-    
     public static final String SVG_NS = "http://www.w3.org/2000/svg";
-    
     protected SVGElement parent = null;
-    
     protected final ArrayList children = new ArrayList();
-    
     protected String id = null;
     /**
-     * CSS class.  Used for applying style sheet information.
+     * CSS class. Used for applying style sheet information.
      */
     protected String cssClass = null;
-    
     /**
      * Styles defined for this elemnt via the <b>style</b> attribute.
      */
     protected final HashMap inlineStyles = new HashMap();
-    
     /**
-     * Presentation attributes set for this element.  Ie, any attribute other
+     * Presentation attributes set for this element. Ie, any attribute other
      * than the <b>style</b> attribute.
      */
     protected final HashMap presAttribs = new HashMap();
-    
     /**
      * A list of presentation attributes to not include in the presentation
      * attribute set.
      */
     protected static final Set ignorePresAttrib;
+
     static
     {
         HashSet set = new HashSet();
@@ -81,17 +109,15 @@ abstract public class SVGElement implements Serializable
 //        set.add("class");
 //        set.add("style");
 //        set.add("xml:base");
-        
+
         ignorePresAttrib = Collections.unmodifiableSet(set);
     }
-    
     /**
-     * This element may override the URI we resolve against with an
-     * xml:base attribute.  If so, a copy is placed here.  Otherwise, we defer
-     * to our parent for the reolution base
+     * This element may override the URI we resolve against with an xml:base
+     * attribute. If so, a copy is placed here. Otherwise, we defer to our
+     * parent for the reolution base
      */
     protected URI xmlBase = null;
-    
     /**
      * The diagram this element belongs to
      */
@@ -99,74 +125,78 @@ abstract public class SVGElement implements Serializable
     /**
      * Link to the universe we reside in
      */
-//    protected SVGUniverse universe;
-    
     protected final TrackManager trackManager = new TrackManager();
-
     boolean dirty = true;
 
-//    public static final Matcher adobeId = Pattern.compile("(.*)_1_").matcher("");
-//    static final String fpNumRe = "[-+]?((\\d+)|(\\d*\\.\\d+))([-+]?[eE]\\d+)?";
-    
-    /** Creates a new instance of SVGElement */
+    /**
+     * Creates a new instance of SVGElement
+     */
     public SVGElement()
     {
         this(null, null, null);
     }
-    
+
     public SVGElement(String id, SVGElement parent)
     {
         this(id, null, parent);
     }
-    
+
     public SVGElement(String id, String cssClass, SVGElement parent)
     {
         this.id = id;
         this.cssClass = cssClass;
         this.parent = parent;
     }
-    
+
+    abstract public String getTagName();
+
     public SVGElement getParent()
     {
         return parent;
     }
-    
+
     void setParent(SVGElement parent)
     {
         this.parent = parent;
     }
-    
+
     /**
      * @return an ordered list of nodes from the root of the tree to this node
      */
     public List getPath(List retVec)
     {
-        if (retVec == null) retVec = new ArrayList();
-        
+        if (retVec == null)
+        {
+            retVec = new ArrayList();
+        }
+
         if (parent != null)
         {
             parent.getPath(retVec);
         }
         retVec.add(this);
-        
+
         return retVec;
     }
-    
+
     /**
-     * @param retVec - A list to add all children to.  If null, a new list is
+     * @param retVec - A list to add all children to. If null, a new list is
      * created and children of this group are added.
      *
      * @return The list containing the children of this group
      */
     public List getChildren(List retVec)
     {
-        if (retVec == null) retVec = new ArrayList();
-        
+        if (retVec == null)
+        {
+            retVec = new ArrayList();
+        }
+
         retVec.addAll(children);
-        
+
         return retVec;
     }
-    
+
     /**
      * @param id - Id of svg element to return
      * @return the child of the given id, or null if no such child exists.
@@ -175,25 +205,29 @@ abstract public class SVGElement implements Serializable
     {
         for (Iterator it = children.iterator(); it.hasNext();)
         {
-            SVGElement ele = (SVGElement)it.next();
+            SVGElement ele = (SVGElement) it.next();
             String eleId = ele.getId();
-            if (eleId != null && eleId.equals(id)) return ele;
+            if (eleId != null && eleId.equals(id))
+            {
+                return ele;
+            }
         }
-        
+
         return null;
     }
-    
+
     /**
-     * Searches children for given element.  If found, returns index of child.
+     * Searches children for given element. If found, returns index of child.
      * Otherwise returns -1.
      */
     public int indexOfChild(SVGElement child)
     {
         return children.indexOf(child);
     }
-    
+
     /**
      * Swaps 2 elements in children.
+     *
      * @i index of first
      * @j index of second
      *
@@ -205,81 +239,103 @@ abstract public class SVGElement implements Serializable
         {
             return;
         }
-        
+
         Object temp = children.get(i);
         children.set(i, children.get(j));
         children.set(j, temp);
         build();
     }
-    
+
     /**
-     * Called during SAX load process to notify that this tag has begun the process
-     * of being loaded
+     * Called during SAX load process to notify that this tag has begun the
+     * process of being loaded
+     *
      * @param attrs - Attributes of this tag
-     * @param helper - An object passed to all SVG elements involved in this build
-     * process to aid in sharing information.
+     * @param helper - An object passed to all SVG elements involved in this
+     * build process to aid in sharing information.
      */
     public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent) throws SAXException
     {
         //Set identification info
         this.parent = parent;
         this.diagram = helper.diagram;
-        
+
         this.id = attrs.getValue("id");
         if (this.id != null && !this.id.equals(""))
         {
             diagram.setElement(this.id, this);
         }
-        
+
         String className = attrs.getValue("class");
         this.cssClass = (className == null || className.equals("")) ? null : className;
         //docRoot = helper.docRoot;
         //universe = helper.universe;
-        
+
         //Parse style string, if any
         String style = attrs.getValue("style");
         if (style != null)
         {
             HashMap map = XMLParseUtil.parseStyle(style, inlineStyles);
         }
-        
+
         String base = attrs.getValue("xml:base");
         if (base != null && !base.equals(""))
         {
             try
             {
                 xmlBase = new URI(base);
-            }
-            catch (Exception e)
+            } catch (Exception e)
             {
                 throw new SAXException(e);
             }
         }
-        
+
         //Place all other attributes into the presentation attribute list
         int numAttrs = attrs.getLength();
         for (int i = 0; i < numAttrs; i++)
         {
             String name = attrs.getQName(i);
-            if (ignorePresAttrib.contains(name)) continue;
+            if (ignorePresAttrib.contains(name))
+            {
+                continue;
+            }
             String value = attrs.getValue(i);
-            
+
             presAttribs.put(name, new StyleAttribute(name, value));
         }
     }
-    
+
+    public void removeAttribute(String name, int attribType)
+    {
+        switch (attribType)
+        {
+            case AnimationElement.AT_CSS:
+                inlineStyles.remove(name);
+                return;
+            case AnimationElement.AT_XML:
+                presAttribs.remove(name);
+                return;
+        }
+    }
+
     public void addAttribute(String name, int attribType, String value) throws SVGElementException
     {
-        if (hasAttribute(name, attribType)) throw new SVGElementException(this, "Attribute " + name + "(" + AnimationElement.animationElementToString(attribType) + ") already exists");
-        
+        if (hasAttribute(name, attribType))
+        {
+            throw new SVGElementException(this, "Attribute " + name + "(" + AnimationElement.animationElementToString(attribType) + ") already exists");
+        }
+
         //Alter layout for id attribute
-        if ("id".equals(name) && diagram != null)
+        if ("id".equals(name))
         {
-            diagram.removeElement(this.id);
-            this.id = name;
-            diagram.setElement(this.id, this);
+            if (diagram != null)
+            {
+                diagram.removeElement(id);
+                diagram.setElement(value, this);
+            }
+            this.id = value;
         }
-        
+
         switch (attribType)
         {
             case AnimationElement.AT_CSS:
@@ -289,10 +345,10 @@ abstract public class SVGElement implements Serializable
                 presAttribs.put(name, new StyleAttribute(name, value));
                 return;
         }
-        
+
         throw new SVGElementException(this, "Invalid attribute type " + attribType);
     }
-    
+
     public boolean hasAttribute(String name, int attribType) throws SVGElementException
     {
         switch (attribType)
@@ -304,10 +360,10 @@ abstract public class SVGElement implements Serializable
             case AnimationElement.AT_AUTO:
                 return inlineStyles.containsKey(name) || presAttribs.containsKey(name);
         }
-        
+
         throw new SVGElementException(this, "Invalid attribute type " + attribType);
     }
-    
+
     /**
      * @return a set of Strings that corespond to CSS attributes on this element
      */
@@ -315,7 +371,7 @@ abstract public class SVGElement implements Serializable
     {
         return inlineStyles.keySet();
     }
-    
+
     /**
      * @return a set of Strings that corespond to XML attributes on this element
      */
@@ -323,7 +379,7 @@ abstract public class SVGElement implements Serializable
     {
         return presAttribs.keySet();
     }
-    
+
     /**
      * Called after the start element but before the end element to indicate
      * each child tag that has been processed
@@ -333,66 +389,66 @@ abstract public class SVGElement implements Serializable
         children.add(child);
         child.parent = this;
         child.setDiagram(diagram);
-        
+
         //Add info to track if we've scanned animation element
         if (child instanceof AnimationElement)
         {
-            trackManager.addTrackElement((AnimationElement)child);
+            trackManager.addTrackElement((AnimationElement) child);
         }
     }
-    
-    private void setDiagram(SVGDiagram diagram)
+
+    protected void setDiagram(SVGDiagram diagram)
     {
         this.diagram = diagram;
         diagram.setElement(id, this);
         for (Iterator it = children.iterator(); it.hasNext();)
         {
-            SVGElement ele = (SVGElement)it.next();
+            SVGElement ele = (SVGElement) it.next();
             ele.setDiagram(diagram);
         }
     }
-    
+
     public void removeChild(SVGElement child) throws SVGElementException
     {
         if (!children.contains(child))
         {
             throw new SVGElementException(this, "Element does not contain child " + child);
         }
-        
+
         children.remove(child);
     }
-    
+
     /**
      * Called during load process to add text scanned within a tag
      */
     public void loaderAddText(SVGLoaderHelper helper, String text)
     {
     }
-    
+
     /**
-     * Called to indicate that this tag and the tags it contains have been completely
-     * processed, and that it should finish any load processes.
+     * Called to indicate that this tag and the tags it contains have been
+     * completely processed, and that it should finish any load processes.
      */
     public void loaderEndElement(SVGLoaderHelper helper) throws SVGParseException
     {
-        try
-        {
-            build();
-        }
-        catch (SVGException se)
-        {
-            throw new SVGParseException(se);
-        }
+//        try
+//        {
+//            build();
+//        }
+//        catch (SVGException se)
+//        {
+//            throw new SVGParseException(se);
+//        }
     }
-    
+
     /**
-     * Called by internal processes to rebuild the geometry of this node
-     * from it's presentation attributes, style attributes and animated tracks.
+     * Called by internal processes to rebuild the geometry of this node from
+     * it's presentation attributes, style attributes and animated tracks.
      */
     protected void build() throws SVGException
     {
         StyleAttribute sty = new StyleAttribute();
-        
+
         if (getPres(sty.setName("id")))
         {
             String newId = sty.getStringValue();
@@ -403,29 +459,40 @@ abstract public class SVGElement implements Serializable
                 diagram.setElement(this.id, this);
             }
         }
-        if (getPres(sty.setName("class"))) cssClass = sty.getStringValue();
-        if (getPres(sty.setName("xml:base"))) xmlBase = sty.getURIValue();
+        if (getPres(sty.setName("class")))
+        {
+            cssClass = sty.getStringValue();
+        }
+        if (getPres(sty.setName("xml:base")))
+        {
+            xmlBase = sty.getURIValue();
+        }
+
+        //Build children
+        for (int i = 0; i < children.size(); ++i)
+        {
+            SVGElement ele = (SVGElement) children.get(i);
+            ele.build();
+        }
     }
-    
+
     public URI getXMLBase()
     {
-        return xmlBase != null ? xmlBase :
-            (parent != null ? parent.getXMLBase() : diagram.getXMLBase());
+        return xmlBase != null ? xmlBase
+            : (parent != null ? parent.getXMLBase() : diagram.getXMLBase());
     }
 
     /**
-     * @return the id assigned to this node.  Null if no id explicitly set.
+     * @return the id assigned to this node. Null if no id explicitly set.
      */
     public String getId()
     {
-        return id; 
+        return id;
     }
-    
-    
     LinkedList contexts = new LinkedList();
-    
+
     /**
-     * Hack to allow nodes to temporarily change their parents.  The Use tag will
+     * Hack to allow nodes to temporarily change their parents. The Use tag will
      * need this so it can alter the attributes that a particular node uses.
      */
     protected void pushParentContext(SVGElement context)
@@ -435,14 +502,19 @@ abstract public class SVGElement implements Serializable
 
     protected SVGElement popParentContext()
     {
-        return (SVGElement)contexts.removeLast();
+        return (SVGElement) contexts.removeLast();
     }
-    
+
     protected SVGElement getParentContext()
     {
-        return contexts.isEmpty() ? null : (SVGElement)contexts.getLast();
+        return contexts.isEmpty() ? null : (SVGElement) contexts.getLast();
     }
-    
+
+    public SVGRoot getRoot()
+    {
+        return parent == null ? null : parent.getRoot();
+    }
+
     /*
      * Returns the named style attribute.  Checks for inline styles first, then
      * internal and extranal style sheets, and finally checks for presentation
@@ -456,143 +528,178 @@ abstract public class SVGElement implements Serializable
     {
         return getStyle(attrib, true);
     }
-    
-    
+
     public void setAttribute(String name, int attribType, String value) throws SVGElementException
     {
         StyleAttribute styAttr;
-        
-        
+
+
         switch (attribType)
         {
             case AnimationElement.AT_CSS:
             {
-                styAttr = (StyleAttribute)inlineStyles.get(name);
+                styAttr = (StyleAttribute) inlineStyles.get(name);
                 break;
             }
             case AnimationElement.AT_XML:
             {
-                styAttr = (StyleAttribute)presAttribs.get(name);
+                styAttr = (StyleAttribute) presAttribs.get(name);
                 break;
             }
             case AnimationElement.AT_AUTO:
             {
-                styAttr = (StyleAttribute)inlineStyles.get(name);
-                
+                styAttr = (StyleAttribute) inlineStyles.get(name);
+
                 if (styAttr == null)
                 {
-                    styAttr = (StyleAttribute)presAttribs.get(name);
+                    styAttr = (StyleAttribute) presAttribs.get(name);
                 }
                 break;
             }
             default:
                 throw new SVGElementException(this, "Invalid attribute type " + attribType);
         }
-        
+
         if (styAttr == null)
         {
             throw new SVGElementException(this, "Could not find attribute " + name + "(" + AnimationElement.animationElementToString(attribType) + ").  Make sure to create attribute before setting it.");
         }
-        
+
         //Alter layout for relevant attributes
         if ("id".equals(styAttr.getName()))
         {
-            diagram.removeElement(this.id);
-            this.id = name;
-            diagram.setElement(this.id, this);
+            if (diagram != null)
+            {
+                diagram.removeElement(this.id);
+                diagram.setElement(value, this);
+            }
+            this.id = value;
         }
-        
+
         styAttr.setStringValue(value);
     }
+
+    public boolean getStyle(StyleAttribute attrib, boolean recursive) throws SVGException
+    {
+        return getStyle(attrib, recursive, true);
+    }
     
     /**
-     * Copies the current style into the passed style attribute.  Checks for
-     * inline styles first, then internal and extranal style sheets, and
-     * finally checks for presentation attributes.  Recursively checks parents.
-     * @param attrib - Attribute to write style data to.  Must have it's name
-     * set to the name of the style being queried.
-     * @param recursive - If true and this object does not contain the
-     * named style attribute, checks attributes of parents abck to root until
-     * one found.
+     * Copies the current style into the passed style attribute. Checks for
+     * inline styles first, then internal and extranal style sheets, and finally
+     * checks for presentation attributes. Recursively checks parents.
+     *
+     * @param attrib - Attribute to write style data to. Must have it's name set
+     * to the name of the style being queried.
+     * @param recursive - If true and this object does not contain the named
+     * style attribute, checks attributes of parents back to root until one
+     * found.
      */
-    public boolean getStyle(StyleAttribute attrib, boolean recursive) throws SVGException
+    public boolean getStyle(StyleAttribute attrib, boolean recursive, boolean evalAnimation)
+            throws SVGException
     {
         String styName = attrib.getName();
-        
+
         //Check for local inline styles
         StyleAttribute styAttr = (StyleAttribute)inlineStyles.get(styName);
-        
+
         attrib.setStringValue(styAttr == null ? "" : styAttr.getStringValue());
-        
+
         //Evalutate coresponding track, if one exists
-        TrackBase track = trackManager.getTrack(styName, AnimationElement.AT_CSS);
-        if (track != null)
+        if (evalAnimation)
         {
-            track.getValue(attrib, diagram.getUniverse().getCurTime());
-            return true;
+            TrackBase track = trackManager.getTrack(styName, AnimationElement.AT_CSS);
+            if (track != null)
+            {
+                track.getValue(attrib, diagram.getUniverse().getCurTime());
+                return true;
+            }
         }
-        
+
         //Return if we've found a non animated style
-        if (styAttr != null) return true;
-        
-        
-        
-        //Implement style sheet lookup later
-        
+        if (styAttr != null)
+        {
+            return true;
+        }
+
+
         //Check for presentation attribute
         StyleAttribute presAttr = (StyleAttribute)presAttribs.get(styName);
-        
+
         attrib.setStringValue(presAttr == null ? "" : presAttr.getStringValue());
-        
+
         //Evalutate coresponding track, if one exists
-        track = trackManager.getTrack(styName, AnimationElement.AT_XML);
-        if (track != null)
+        if (evalAnimation)
         {
-            track.getValue(attrib, diagram.getUniverse().getCurTime());
-            return true;
+            TrackBase track = trackManager.getTrack(styName, AnimationElement.AT_XML);
+            if (track != null)
+            {
+                track.getValue(attrib, diagram.getUniverse().getCurTime());
+                return true;
+            }
         }
-        
+
         //Return if we've found a presentation attribute instead
-        if (presAttr != null) return true;
-        
-        
+        if (presAttr != null)
+        {
+            return true;
+        }
+
+        //Check for style sheet
+        SVGRoot root = getRoot();
+        if (root != null)
+        {
+            StyleSheet ss = root.getStyleSheet();
+            if (ss != null)
+            {
+                return ss.getStyle(attrib, getTagName(), cssClass);
+            }
+        }
+
         //If we're recursive, check parents
         if (recursive)
         {
             SVGElement parentContext = getParentContext();
-            if (parentContext != null) return parentContext.getStyle(attrib, true);
-            if (parent != null) return parent.getStyle(attrib, true);
+            if (parentContext != null)
+            {
+                return parentContext.getStyle(attrib, true);
+            }
+            if (parent != null)
+            {
+                return parent.getStyle(attrib, true);
+            }
         }
-        
+
         //Unsuccessful reading style attribute
         return false;
     }
-    
+
     /**
-     * @return the raw style value of this attribute.  Does not take the 
-     * presentation value or animation into consideration.  Used by animations 
-     * to determine the base to animate from.
+     * @return the raw style value of this attribute. Does not take the
+     * presentation value or animation into consideration. Used by animations to
+     * determine the base to animate from.
      */
     public StyleAttribute getStyleAbsolute(String styName)
     {
         //Check for local inline styles
-        return (StyleAttribute)inlineStyles.get(styName);
+        return (StyleAttribute) inlineStyles.get(styName);
     }
-    
+
     /**
      * Copies the presentation attribute into the passed one.
+     *
      * @return - True if attribute was read successfully
      */
     public boolean getPres(StyleAttribute attrib) throws SVGException
     {
         String presName = attrib.getName();
-        
+
         //Make sure we have a coresponding presentation attribute
-        StyleAttribute presAttr = (StyleAttribute)presAttribs.get(presName);
-        
+        StyleAttribute presAttr = (StyleAttribute) presAttribs.get(presName);
+
         //Copy presentation value directly
         attrib.setStringValue(presAttr == null ? "" : presAttr.getStringValue());
-        
+
         //Evalutate coresponding track, if one exists
         TrackBase track = trackManager.getTrack(presName, AnimationElement.AT_XML);
         if (track != null)
@@ -600,144 +707,152 @@ abstract public class SVGElement implements Serializable
             track.getValue(attrib, diagram.getUniverse().getCurTime());
             return true;
         }
-        
+
         //Return if we found presentation attribute
-        if (presAttr != null) return true;
-        
+        if (presAttr != null)
+        {
+            return true;
+        }
+
         return false;
     }
-    
+
     /**
-     * @return the raw presentation value of this attribute.  Ignores any 
-     * modifications applied by style attributes or animation.  Used by 
+     * @return the raw presentation value of this attribute. Ignores any
+     * modifications applied by style attributes or animation. Used by
      * animations to determine the starting point to animate from
      */
     public StyleAttribute getPresAbsolute(String styName)
     {
         //Check for local inline styles
-        return (StyleAttribute)presAttribs.get(styName);
+        return (StyleAttribute) presAttribs.get(styName);
     }
-    
+
     static protected AffineTransform parseTransform(String val) throws SVGException
     {
         final Matcher matchExpression = Pattern.compile("\\w+\\([^)]*\\)").matcher("");
-        
+
         AffineTransform retXform = new AffineTransform();
-        
+
         matchExpression.reset(val);
         while (matchExpression.find())
         {
             retXform.concatenate(parseSingleTransform(matchExpression.group()));
         }
-        
+
         return retXform;
     }
-    
+
     static public AffineTransform parseSingleTransform(String val) throws SVGException
     {
-        final Matcher matchWord = Pattern.compile("[-.\\w]+").matcher("");
-        
+        final Matcher matchWord = Pattern.compile("([a-zA-Z]+|-?\\d+(\\.\\d+)?(e-?\\d+)?|-?\\.\\d+(e-?\\d+)?)").matcher("");
+
         AffineTransform retXform = new AffineTransform();
-        
+
         matchWord.reset(val);
         if (!matchWord.find())
         {
             //Return identity transformation if no data present (eg, empty string)
             return retXform;
         }
-        
+
         String function = matchWord.group().toLowerCase();
-        
+
         LinkedList termList = new LinkedList();
         while (matchWord.find())
         {
             termList.add(matchWord.group());
         }
-        
-        
+
+
         double[] terms = new double[termList.size()];
         Iterator it = termList.iterator();
         int count = 0;
         while (it.hasNext())
         {
-            terms[count++] = XMLParseUtil.parseDouble((String)it.next());
+            terms[count++] = XMLParseUtil.parseDouble((String) it.next());
         }
-        
+
         //Calculate transformation
         if (function.equals("matrix"))
         {
             retXform.setTransform(terms[0], terms[1], terms[2], terms[3], terms[4], terms[5]);
-        }
-        else if (function.equals("translate"))
+        } else if (function.equals("translate"))
         {
-            retXform.setToTranslation(terms[0], terms[1]);
-        }
-        else if (function.equals("scale"))
+            if (terms.length == 1)
+            {
+                retXform.setToTranslation(terms[0], 0);
+            } else
+            {
+                retXform.setToTranslation(terms[0], terms[1]);
+            }
+        } else if (function.equals("scale"))
         {
             if (terms.length > 1)
+            {
                 retXform.setToScale(terms[0], terms[1]);
-            else
+            } else
+            {
                 retXform.setToScale(terms[0], terms[0]);
-        }
-        else if (function.equals("rotate"))
+            }
+        } else if (function.equals("rotate"))
         {
             if (terms.length > 2)
+            {
                 retXform.setToRotation(Math.toRadians(terms[0]), terms[1], terms[2]);
-            else
+            } else
+            {
                 retXform.setToRotation(Math.toRadians(terms[0]));
-        }
-        else if (function.equals("skewx"))
+            }
+        } else if (function.equals("skewx"))
         {
             retXform.setToShear(Math.toRadians(terms[0]), 0.0);
-        }
-        else if (function.equals("skewy"))
+        } else if (function.equals("skewy"))
         {
             retXform.setToShear(0.0, Math.toRadians(terms[0]));
-        }
-        else
+        } else
         {
             throw new SVGException("Unknown transform type");
         }
-        
+
         return retXform;
     }
-    
+
     static protected float nextFloat(LinkedList l)
     {
-        String s = (String)l.removeFirst();
+        String s = (String) l.removeFirst();
         return Float.parseFloat(s);
     }
-    
+
     static protected PathCommand[] parsePathList(String list)
     {
         final Matcher matchPathCmd = Pattern.compile("([MmLlHhVvAaQqTtCcSsZz])|([-+]?((\\d*\\.\\d+)|(\\d+))([eE][-+]?\\d+)?)").matcher(list);
-        
+
         //Tokenize
         LinkedList tokens = new LinkedList();
         while (matchPathCmd.find())
         {
             tokens.addLast(matchPathCmd.group());
         }
-        
-        
+
+
         boolean defaultRelative = false;
         LinkedList cmdList = new LinkedList();
         char curCmd = 'Z';
         while (tokens.size() != 0)
         {
-            String curToken = (String)tokens.removeFirst();
+            String curToken = (String) tokens.removeFirst();
             char initChar = curToken.charAt(0);
-            if ((initChar >= 'A' && initChar <='Z') || (initChar >= 'a' && initChar <='z'))
+            if ((initChar >= 'A' && initChar <= 'Z') || (initChar >= 'a' && initChar <= 'z'))
             {
                 curCmd = initChar;
-            }
-            else
+            } else
             {
                 tokens.addFirst(curToken);
             }
-            
+
             PathCommand cmd = null;
-            
+
             switch (curCmd)
             {
                 case 'M':
@@ -768,23 +883,23 @@ abstract public class SVGElement implements Serializable
                     break;
                 case 'A':
                     cmd = new Arc(false, nextFloat(tokens), nextFloat(tokens),
-                            nextFloat(tokens),
-                            nextFloat(tokens) == 1f, nextFloat(tokens) == 1f,
-                            nextFloat(tokens), nextFloat(tokens));
+                        nextFloat(tokens),
+                        nextFloat(tokens) == 1f, nextFloat(tokens) == 1f,
+                        nextFloat(tokens), nextFloat(tokens));
                     break;
                 case 'a':
                     cmd = new Arc(true, nextFloat(tokens), nextFloat(tokens),
-                            nextFloat(tokens),
-                            nextFloat(tokens) == 1f, nextFloat(tokens) == 1f,
-                            nextFloat(tokens), nextFloat(tokens));
+                        nextFloat(tokens),
+                        nextFloat(tokens) == 1f, nextFloat(tokens) == 1f,
+                        nextFloat(tokens), nextFloat(tokens));
                     break;
                 case 'Q':
                     cmd = new Quadratic(false, nextFloat(tokens), nextFloat(tokens),
-                            nextFloat(tokens), nextFloat(tokens));
+                        nextFloat(tokens), nextFloat(tokens));
                     break;
                 case 'q':
                     cmd = new Quadratic(true, nextFloat(tokens), nextFloat(tokens),
-                            nextFloat(tokens), nextFloat(tokens));
+                        nextFloat(tokens), nextFloat(tokens));
                     break;
                 case 'T':
                     cmd = new QuadraticSmooth(false, nextFloat(tokens), nextFloat(tokens));
@@ -794,21 +909,21 @@ abstract public class SVGElement implements Serializable
                     break;
                 case 'C':
                     cmd = new Cubic(false, nextFloat(tokens), nextFloat(tokens),
-                            nextFloat(tokens), nextFloat(tokens),
-                            nextFloat(tokens), nextFloat(tokens));
+                        nextFloat(tokens), nextFloat(tokens),
+                        nextFloat(tokens), nextFloat(tokens));
                     break;
                 case 'c':
                     cmd = new Cubic(true, nextFloat(tokens), nextFloat(tokens),
-                            nextFloat(tokens), nextFloat(tokens),
-                            nextFloat(tokens), nextFloat(tokens));
+                        nextFloat(tokens), nextFloat(tokens),
+                        nextFloat(tokens), nextFloat(tokens));
                     break;
                 case 'S':
                     cmd = new CubicSmooth(false, nextFloat(tokens), nextFloat(tokens),
-                            nextFloat(tokens), nextFloat(tokens));
+                        nextFloat(tokens), nextFloat(tokens));
                     break;
                 case 's':
                     cmd = new CubicSmooth(true, nextFloat(tokens), nextFloat(tokens),
-                            nextFloat(tokens), nextFloat(tokens));
+                        nextFloat(tokens), nextFloat(tokens));
                     break;
                 case 'Z':
                 case 'z':
@@ -817,45 +932,44 @@ abstract public class SVGElement implements Serializable
                 default:
                     throw new RuntimeException("Invalid path element");
             }
-            
+
             cmdList.add(cmd);
             defaultRelative = cmd.isRelative;
         }
-        
+
         PathCommand[] retArr = new PathCommand[cmdList.size()];
         cmdList.toArray(retArr);
         return retArr;
     }
-    
+
     static protected GeneralPath buildPath(String text, int windingRule)
     {
         PathCommand[] commands = parsePathList(text);
-        
+
         int numKnots = 2;
         for (int i = 0; i < commands.length; i++)
         {
             numKnots += commands[i].getNumKnotsAdded();
         }
-        
-        
+
+
         GeneralPath path = new GeneralPath(windingRule, numKnots);
-        
+
         BuildHistory hist = new BuildHistory();
-        
+
         for (int i = 0; i < commands.length; i++)
         {
             PathCommand cmd = commands[i];
             cmd.appendPath(path, hist);
         }
-        
+
         return path;
     }
-    
-    
-    
+
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -868,7 +982,11 @@ abstract public class SVGElement implements Serializable
 
     public SVGElement getChild(int i)
     {
-        return (SVGElement)children.get(i);
+        return (SVGElement) children.get(i);
+    }
+
+    public double lerp(double t0, double t1, double alpha)
+    {
+        return (1 - alpha) * t0 + alpha * t1;
     }
-    
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/SVGElementException.java b/svg-core/src/main/java/com/kitfox/svg/SVGElementException.java
index 61a4540..eaddc73 100644
--- a/svg-core/src/main/java/com/kitfox/svg/SVGElementException.java
+++ b/svg-core/src/main/java/com/kitfox/svg/SVGElementException.java
@@ -1,11 +1,37 @@
 /*
- * SVGException.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- * Created on May 12, 2005, 11:32 PM
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- * To change this template, choose Tools | Options and locate the template under
- * the Source Creation and Management node. Right-click the template and choose
- * Open. You can then make changes to the template in the Source Editor.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
+ *
+ * Created on May 12, 2005, 11:32 PM
  */
 
 package com.kitfox.svg;
diff --git a/svg-core/src/main/java/com/kitfox/svg/SVGException.java b/svg-core/src/main/java/com/kitfox/svg/SVGException.java
index c985ea1..18c1c66 100644
--- a/svg-core/src/main/java/com/kitfox/svg/SVGException.java
+++ b/svg-core/src/main/java/com/kitfox/svg/SVGException.java
@@ -1,11 +1,37 @@
 /*
- * SVGException.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- * Created on May 12, 2005, 11:32 PM
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- * To change this template, choose Tools | Options and locate the template under
- * the Source Creation and Management node. Right-click the template and choose
- * Open. You can then make changes to the template in the Source Editor.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
+ *
+ * Created on May 12, 2005, 11:32 PM
  */
 
 package com.kitfox.svg;
diff --git a/svg-core/src/main/java/com/kitfox/svg/SVGLoader.java b/svg-core/src/main/java/com/kitfox/svg/SVGLoader.java
index c86978d..93253eb 100644
--- a/svg-core/src/main/java/com/kitfox/svg/SVGLoader.java
+++ b/svg-core/src/main/java/com/kitfox/svg/SVGLoader.java
@@ -1,26 +1,35 @@
 /*
- * SVGLoader.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 18, 2004, 5:09 PM
  */
@@ -34,6 +43,8 @@ import org.xml.sax.*;
 import org.xml.sax.helpers.DefaultHandler;
 
 import com.kitfox.svg.animation.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * @author Mark McKay
@@ -192,7 +203,8 @@ public class SVGLoader extends DefaultHandler
         }
         catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, 
+                "Could not load", e);
             throw new SAXException(e);
         }
 
@@ -228,16 +240,26 @@ public class SVGLoader extends DefaultHandler
             svgEle.loaderEndElement(helper);
 
             SVGElement parent = null;
-            if (buildStack.size() != 0) parent = (SVGElement)buildStack.getLast();
+            if (buildStack.size() != 0)
+            {
+                parent = (SVGElement)buildStack.getLast();
+            }
             //else loadRoot = (SVGElement)svgEle;
 
-            if (parent != null) parent.loaderAddChild(helper, svgEle);
-            else diagram.setRoot((SVGRoot)svgEle);
+            if (parent != null)
+            {
+                parent.loaderAddChild(helper, svgEle);
+            }
+            else
+            {
+                diagram.setRoot((SVGRoot)svgEle);
+            }
 
         }
         catch (Exception e)
         {
-e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, 
+                "Could not parse", e);
             throw new SAXException(e);
         }
     }
diff --git a/svg-core/src/main/java/com/kitfox/svg/SVGLoaderHelper.java b/svg-core/src/main/java/com/kitfox/svg/SVGLoaderHelper.java
index 35e45bb..52dbc9e 100644
--- a/svg-core/src/main/java/com/kitfox/svg/SVGLoaderHelper.java
+++ b/svg-core/src/main/java/com/kitfox/svg/SVGLoaderHelper.java
@@ -1,26 +1,35 @@
 /*
- * SVGLoaderHelper.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 18, 2004, 5:37 PM
  */
@@ -58,20 +67,7 @@ public class SVGLoaderHelper
     /** Creates a new instance of SVGLoaderHelper */
     public SVGLoaderHelper(URI xmlBase, SVGUniverse universe, SVGDiagram diagram)
     {
-        /*
-        URI docURI = null;
-        try
-        {
-            docURI = new URI(docRoot.toString());
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-        }
-         */
-        
         this.xmlBase = xmlBase;
-//        this.docRoot = docURI;
         this.universe = universe;
         this.diagram = diagram;
     }
diff --git a/svg-core/src/main/java/com/kitfox/svg/SVGParseException.java b/svg-core/src/main/java/com/kitfox/svg/SVGParseException.java
index 478ecd2..71339d1 100644
--- a/svg-core/src/main/java/com/kitfox/svg/SVGParseException.java
+++ b/svg-core/src/main/java/com/kitfox/svg/SVGParseException.java
@@ -1,11 +1,37 @@
 /*
- * SVGException.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- * Created on May 12, 2005, 11:32 PM
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- * To change this template, choose Tools | Options and locate the template under
- * the Source Creation and Management node. Right-click the template and choose
- * Open. You can then make changes to the template in the Source Editor.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
+ *
+ * Created on May 12, 2005, 11:32 PM
  */
 
 package com.kitfox.svg;
diff --git a/svg-core/src/main/java/com/kitfox/svg/SVGRoot.java b/svg-core/src/main/java/com/kitfox/svg/SVGRoot.java
index daa211f..c5f7aa9 100644
--- a/svg-core/src/main/java/com/kitfox/svg/SVGRoot.java
+++ b/svg-core/src/main/java/com/kitfox/svg/SVGRoot.java
@@ -1,26 +1,35 @@
 /*
- * SVGRoot.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 18, 2004, 5:33 PM
  */
@@ -29,8 +38,17 @@ package com.kitfox.svg;
 
 import com.kitfox.svg.xml.NumberWithUnits;
 import com.kitfox.svg.xml.StyleAttribute;
-import java.awt.geom.*;
-import java.awt.*;
+import com.kitfox.svg.xml.StyleSheet;
+import java.awt.Dimension;
+import java.awt.Graphics2D;
+import java.awt.Rectangle;
+import java.awt.Shape;
+import java.awt.Toolkit;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.NoninvertibleTransformException;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+import java.util.List;
 
 /**
  * The root element of an SVG tree.
@@ -40,13 +58,13 @@ import java.awt.*;
  */
 public class SVGRoot extends Group
 {
+    public static final String TAG_NAME = "svg";
+
     NumberWithUnits x;
     NumberWithUnits y;
     NumberWithUnits width;
     NumberWithUnits height;
 
-    
-//    final Rectangle2D.Float viewBox = new Rectangle2D.Float();
     Rectangle2D.Float viewBox = null;
 
     public static final int PA_X_NONE = 0;
@@ -69,57 +87,17 @@ public class SVGRoot extends Group
     final AffineTransform viewXform = new AffineTransform();
     final Rectangle2D.Float clipRect = new Rectangle2D.Float();
 
+    private StyleSheet styleSheet;
+    
     /** Creates a new instance of SVGRoot */
     public SVGRoot()
     {
     }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
-    {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        x = XMLParseUtil.parseNumberWithUnits(attrs.getValue("x"));
-        y = XMLParseUtil.parseNumberWithUnits(attrs.getValue("y"));
-        width = XMLParseUtil.parseNumberWithUnits(attrs.getValue("width"));
-        height = XMLParseUtil.parseNumberWithUnits(attrs.getValue("height"));
-
-        String viewBox = attrs.getValue("viewBox");
-        float[] coords = XMLParseUtil.parseFloatList(viewBox);
-
-        if (coords == null)
-        {
-            //this.viewBox.setRect(0, 0, width.getValue(), height.getValue());
-            this.viewBox = null;
-        }
-        else
-        {
-            this.viewBox = new Rectangle2D.Float(coords[0], coords[1], coords[2], coords[3]);
-        }
-
-        String par = attrs.getValue("preserveAspectRatio");
-        if (par != null)
-        {
-            String[] parList = XMLParseUtil.parseStringList(par);
-
-            if (parList[0].equals("none")) { parAlignX = PA_X_NONE; parAlignY = PA_Y_NONE; }
-            else if (parList[0].equals("xMinYMin")) { parAlignX = PA_X_MIN; parAlignY = PA_Y_MIN; }
-            else if (parList[0].equals("xMidYMin")) { parAlignX = PA_X_MID; parAlignY = PA_Y_MIN; }
-            else if (parList[0].equals("xMaxYMin")) { parAlignX = PA_X_MAX; parAlignY = PA_Y_MIN; }
-            else if (parList[0].equals("xMinYMid")) { parAlignX = PA_X_MIN; parAlignY = PA_Y_MID; }
-            else if (parList[0].equals("xMidYMid")) { parAlignX = PA_X_MID; parAlignY = PA_Y_MID; }
-            else if (parList[0].equals("xMaxYMid")) { parAlignX = PA_X_MAX; parAlignY = PA_Y_MID; }
-            else if (parList[0].equals("xMinYMax")) { parAlignX = PA_X_MIN; parAlignY = PA_Y_MAX; }
-            else if (parList[0].equals("xMidYMax")) { parAlignX = PA_X_MID; parAlignY = PA_Y_MAX; }
-            else if (parList[0].equals("xMaxYMax")) { parAlignX = PA_X_MAX; parAlignY = PA_Y_MAX; }
 
-            if (parList[1].equals("meet")) parSpecifier = PS_MEET;
-            else if (parList[1].equals("slice")) parSpecifier = PS_SLICE;
-        }
-
-        build();
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
-*/
     
     public void build() throws SVGException
     {
@@ -127,13 +105,25 @@ public class SVGRoot extends Group
         
         StyleAttribute sty = new StyleAttribute();
         
-        if (getPres(sty.setName("x"))) x = sty.getNumberWithUnits();
+        if (getPres(sty.setName("x")))
+        {
+            x = sty.getNumberWithUnits();
+        }
         
-        if (getPres(sty.setName("y"))) y = sty.getNumberWithUnits();
+        if (getPres(sty.setName("y")))
+        {
+            y = sty.getNumberWithUnits();
+        }
         
-        if (getPres(sty.setName("width"))) width = sty.getNumberWithUnits();
+        if (getPres(sty.setName("width")))
+        {
+            width = sty.getNumberWithUnits();
+        }
         
-        if (getPres(sty.setName("height"))) height = sty.getNumberWithUnits();
+        if (getPres(sty.setName("height")))
+        {
+            height = sty.getNumberWithUnits();
+        }
         
         if (getPres(sty.setName("viewBox"))) 
         {
@@ -156,26 +146,14 @@ public class SVGRoot extends Group
             else if (contains(preserve, "xMidYMax")) { parAlignX = PA_X_MID; parAlignY = PA_Y_MAX; }
             else if (contains(preserve, "xMaxYMax")) { parAlignX = PA_X_MAX; parAlignY = PA_Y_MAX; }
 
-            if (contains(preserve, "meet")) parSpecifier = PS_MEET;
-            else if (contains(preserve, "slice")) parSpecifier = PS_SLICE;
-            
-            /*
-            String[] parList = sty.getStringList();
-
-            if (parList[0].equals("none")) { parAlignX = PA_X_NONE; parAlignY = PA_Y_NONE; }
-            else if (parList[0].equals("xMinYMin")) { parAlignX = PA_X_MIN; parAlignY = PA_Y_MIN; }
-            else if (parList[0].equals("xMidYMin")) { parAlignX = PA_X_MID; parAlignY = PA_Y_MIN; }
-            else if (parList[0].equals("xMaxYMin")) { parAlignX = PA_X_MAX; parAlignY = PA_Y_MIN; }
-            else if (parList[0].equals("xMinYMid")) { parAlignX = PA_X_MIN; parAlignY = PA_Y_MID; }
-            else if (parList[0].equals("xMidYMid")) { parAlignX = PA_X_MID; parAlignY = PA_Y_MID; }
-            else if (parList[0].equals("xMaxYMid")) { parAlignX = PA_X_MAX; parAlignY = PA_Y_MID; }
-            else if (parList[0].equals("xMinYMax")) { parAlignX = PA_X_MIN; parAlignY = PA_Y_MAX; }
-            else if (parList[0].equals("xMidYMax")) { parAlignX = PA_X_MID; parAlignY = PA_Y_MAX; }
-            else if (parList[0].equals("xMaxYMax")) { parAlignX = PA_X_MAX; parAlignY = PA_Y_MAX; }
-
-            if (parList[1].equals("meet")) parSpecifier = PS_MEET;
-            else if (parList[1].equals("slice")) parSpecifier = PS_SLICE;
-             */
+            if (contains(preserve, "meet"))
+            {
+                parSpecifier = PS_MEET;
+            }
+            else if (contains(preserve, "slice"))
+            {
+                parSpecifier = PS_SLICE;
+            }
         }
         
         prepareViewport();
@@ -185,6 +163,11 @@ public class SVGRoot extends Group
     {
         return (text.indexOf(find) != -1);
     }
+
+    public SVGRoot getRoot()
+    {
+        return this;
+    }
     
     protected void prepareViewport()
     {
@@ -194,7 +177,8 @@ public class SVGRoot extends Group
         try
         {
             defaultBounds = getBoundingBox();
-        } catch (SVGException ex)
+        }
+        catch (SVGException ex)
         {
             defaultBounds= new Rectangle2D.Float();
         }
@@ -212,8 +196,6 @@ public class SVGRoot extends Group
             {
                 ww = StyleAttribute.convertUnitsToPixels(width.getUnits(), width.getValue());
             }
-//            setAttribute("x", AnimationElement.AT_XML, "" + xx);
-//            setAttribute("width", AnimationElement.AT_XML, "" + ww);
         }
         else if (viewBox != null)
         {
@@ -261,28 +243,84 @@ public class SVGRoot extends Group
 
         clipRect.setRect(xx, yy, ww, hh);
 
+//        if (viewBox == null)
+//        {
+//            viewXform.setToIdentity();
+//        }
+//        else
+//        {
+//            //If viewport window is set, we are drawing to entire viewport
+//            clipRect.setRect(deviceViewport);
+//            
+//            viewXform.setToIdentity();
+//            viewXform.setToTranslation(deviceViewport.x, deviceViewport.y);
+//            viewXform.scale(deviceViewport.width, deviceViewport.height);
+//            viewXform.scale(1 / viewBox.width, 1 / viewBox.height);
+//            viewXform.translate(-viewBox.x, -viewBox.y);
+//        }
+    }
+
+    public void renderToViewport(Graphics2D g) throws SVGException
+    {
+        prepareViewport();
+        
+        Rectangle targetViewport = g.getClipBounds();
+//
+//        if (targetViewport == null)
+//        {
+//            Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
+//            targetViewport = new Rectangle(0, 0, size.width, size.height);
+//        }
+//        clipRect.setRect(targetViewport);
+
+        
+        Rectangle deviceViewport = diagram.getDeviceViewport();
+        if (width != null && height != null)
+        {
+            float xx, yy, ww, hh;
+            
+            xx = (x == null) ? 0 : StyleAttribute.convertUnitsToPixels(x.getUnits(), x.getValue());
+            if (width.getUnits() == NumberWithUnits.UT_PERCENT)
+            {
+                ww = width.getValue() * deviceViewport.width;
+            }
+            else
+            {
+                ww = StyleAttribute.convertUnitsToPixels(width.getUnits(), width.getValue());
+            }
+            
+            yy = (y == null) ? 0 : StyleAttribute.convertUnitsToPixels(y.getUnits(), y.getValue());
+            if (height.getUnits() == NumberWithUnits.UT_PERCENT)
+            {
+                hh = height.getValue() * deviceViewport.height;
+            }
+            else
+            {
+                hh = StyleAttribute.convertUnitsToPixels(height.getUnits(), height.getValue());
+            }
+            
+            targetViewport = new Rectangle((int)xx, (int)yy, (int)ww, (int)hh);
+        }
+        else
+        {
+//            Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
+//            targetViewport = new Rectangle(0, 0, size.width, size.height);
+            targetViewport = new Rectangle(deviceViewport);
+        }
+        clipRect.setRect(targetViewport);
+
         if (viewBox == null)
         {
             viewXform.setToIdentity();
         }
         else
         {
-            viewXform.setToTranslation(clipRect.x, clipRect.y);
-            viewXform.scale(clipRect.width, clipRect.height);
+            viewXform.setToIdentity();
+            viewXform.setToTranslation(targetViewport.x, targetViewport.y);
+            viewXform.scale(targetViewport.width, targetViewport.height);
             viewXform.scale(1 / viewBox.width, 1 / viewBox.height);
             viewXform.translate(-viewBox.x, -viewBox.y);
         }
-
-        
-        //For now, treat all preserveAspectRatio as 'none'
-//        viewXform.setToTranslation(viewBox.x, viewBox.y);
-//        viewXform.scale(clipRect.width / viewBox.width, clipRect.height / viewBox.height);
-//        viewXform.translate(-clipRect.x, -clipRect.y);
-    }
-
-    public void render(Graphics2D g) throws SVGException
-    {
-        prepareViewport();
         
         AffineTransform cachedXform = g.getTransform();
         g.transform(viewXform);
@@ -292,6 +330,34 @@ public class SVGRoot extends Group
         g.setTransform(cachedXform);
     }
 
+    public void pick(Rectangle2D pickArea, AffineTransform ltw, boolean boundingBox, List retVec) throws SVGException
+    {
+        if (viewXform != null)
+        {
+            ltw = new AffineTransform(ltw);
+            ltw.concatenate(viewXform);
+        }
+        
+        super.pick(pickArea, ltw, boundingBox, retVec);
+    }
+    
+    public void pick(Point2D point, boolean boundingBox, List retVec) throws SVGException
+    {
+        Point2D xPoint = new Point2D.Double(point.getX(), point.getY());
+        if (viewXform != null)
+        {
+            try
+            {
+                viewXform.inverseTransform(point, xPoint);
+            } catch (NoninvertibleTransformException ex)
+            {
+                throw new SVGException(ex);
+            }
+        }
+        
+        super.pick(xPoint, boundingBox, retVec);
+    }
+
     public Shape getShape()
     {
         Shape shape = super.getShape();
@@ -392,4 +458,32 @@ public class SVGRoot extends Group
         return changeState || shapeChange;
     }
 
+    /**
+     * @return the styleSheet
+     */
+    public StyleSheet getStyleSheet()
+    {
+        if (styleSheet == null)
+        {
+            for (int i = 0; i < getNumChildren(); ++i)
+            {
+                SVGElement ele = getChild(i);
+                if (ele instanceof Style)
+                {
+                    return ((Style)ele).getStyleSheet();
+                }
+            }
+        }
+        
+        return styleSheet;
+    }
+
+    /**
+     * @param styleSheet the styleSheet to set
+     */
+    public void setStyleSheet(StyleSheet styleSheet)
+    {
+        this.styleSheet = styleSheet;
+    }
+
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/SVGUniverse.java b/svg-core/src/main/java/com/kitfox/svg/SVGUniverse.java
index f99279b..08d1d18 100644
--- a/svg-core/src/main/java/com/kitfox/svg/SVGUniverse.java
+++ b/svg-core/src/main/java/com/kitfox/svg/SVGUniverse.java
@@ -1,33 +1,42 @@
 /*
- * SVGUniverse.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 18, 2004, 11:43 PM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.app.beans.SVGIcon;
+import com.kitfox.svg.util.Base64InputStream;
 import java.awt.Graphics2D;
 import java.awt.image.BufferedImage;
 import java.beans.PropertyChangeListener;
@@ -35,7 +44,6 @@ import java.beans.PropertyChangeSupport;
 import java.io.BufferedInputStream;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
-import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.ObjectInputStream;
@@ -45,11 +53,13 @@ import java.io.Serializable;
 import java.lang.ref.SoftReference;
 import java.net.MalformedURLException;
 import java.net.URI;
+import java.net.URISyntaxException;
 import java.net.URL;
-import java.net.URLConnection;
-import java.net.URLStreamHandler;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import java.util.zip.GZIPInputStream;
 import javax.imageio.ImageIO;
 import org.xml.sax.EntityResolver;
@@ -60,59 +70,54 @@ import org.xml.sax.XMLReader;
 import org.xml.sax.helpers.XMLReaderFactory;
 
 /**
- * Many SVG files can be loaded at one time.  These files will quite likely
- * need to reference one another.  The SVG universe provides a container for
- * all these files and the means for them to relate to each other.
+ * Many SVG files can be loaded at one time. These files will quite likely need
+ * to reference one another. The SVG universe provides a container for all these
+ * files and the means for them to relate to each other.
  *
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
 public class SVGUniverse implements Serializable
 {
+
     public static final long serialVersionUID = 0;
-    
     transient private PropertyChangeSupport changes = new PropertyChangeSupport(this);
-    
     /**
-     * Maps document URIs to their loaded SVG diagrams.  Note that URIs for
+     * Maps document URIs to their loaded SVG diagrams. Note that URIs for
      * documents loaded from URLs will reflect their URLs and URIs for documents
      * initiated from streams will have the scheme <i>svgSalamander</i>.
      */
     final HashMap loadedDocs = new HashMap();
-    
     final HashMap loadedFonts = new HashMap();
-    
     final HashMap loadedImages = new HashMap();
-    
     public static final String INPUTSTREAM_SCHEME = "svgSalamander";
-    
     /**
-     * Current time in this universe.  Used for resolving attributes that
-     * are influenced by track information.  Time is in milliseconds.  Time
-     * 0 coresponds to the time of 0 in each member diagram.
+     * Current time in this universe. Used for resolving attributes that are
+     * influenced by track information. Time is in milliseconds. Time 0
+     * coresponds to the time of 0 in each member diagram.
      */
     protected double curTime = 0.0;
-    
     private boolean verbose = false;
-
     //Cache reader for efficiency
     XMLReader cachedReader;
-    
-    /** Creates a new instance of SVGUniverse */
+
+    /**
+     * Creates a new instance of SVGUniverse
+     */
     public SVGUniverse()
     {
     }
-    
+
     public void addPropertyChangeListener(PropertyChangeListener l)
     {
         changes.addPropertyChangeListener(l);
     }
-    
+
     public void removePropertyChangeListener(PropertyChangeListener l)
     {
         changes.removePropertyChangeListener(l);
     }
-    
+
     /**
      * Release all loaded SVG document from memory
      */
@@ -122,22 +127,22 @@ public class SVGUniverse implements Serializable
         loadedFonts.clear();
         loadedImages.clear();
     }
-    
+
     /**
      * Returns the current animation time in milliseconds.
      */
     public double getCurTime()
-    { 
-        return curTime; 
+    {
+        return curTime;
     }
-    
+
     public void setCurTime(double curTime)
     {
         double oldTime = this.curTime;
-        this.curTime = curTime; 
+        this.curTime = curTime;
         changes.firePropertyChange("curTime", new Double(oldTime), new Double(curTime));
     }
-    
+
     /**
      * Updates all time influenced style and presentation attributes in all SVG
      * documents in this universe.
@@ -146,11 +151,11 @@ public class SVGUniverse implements Serializable
     {
         for (Iterator it = loadedDocs.values().iterator(); it.hasNext();)
         {
-            SVGDiagram dia = (SVGDiagram)it.next();
+            SVGDiagram dia = (SVGDiagram) it.next();
             dia.updateTime(curTime);
         }
     }
-    
+
     /**
      * Called by the Font element to let the universe know that a font has been
      * loaded and is available.
@@ -159,19 +164,19 @@ public class SVGUniverse implements Serializable
     {
         loadedFonts.put(font.getFontFace().getFontFamily(), font);
     }
-    
+
     public Font getDefaultFont()
     {
         for (Iterator it = loadedFonts.values().iterator(); it.hasNext();)
         {
-            return (Font)it.next();
+            return (Font) it.next();
         }
         return null;
     }
-    
+
     public Font getFont(String fontName)
     {
-        return (Font)loadedFonts.get(fontName);
+        return (Font) loadedFonts.get(fontName);
     }
 
     URL registerImage(URI imageURI)
@@ -187,9 +192,13 @@ public class SVGUniverse implements Serializable
             if (content.startsWith("base64"))
             {
                 content = content.substring(6);
-                try {
-                    byte[] buf = new sun.misc.BASE64Decoder().decodeBuffer(content);
-                    ByteArrayInputStream bais = new ByteArrayInputStream(buf);
+                try
+                {
+//                    byte[] buf = new sun.misc.BASE64Decoder().decodeBuffer(content);
+//                    ByteArrayInputStream bais = new ByteArrayInputStream(buf);
+                    ByteArrayInputStream bis = new ByteArrayInputStream(content.getBytes());
+                    Base64InputStream bais = new Base64InputStream(bis);
+                    
                     BufferedImage img = ImageIO.read(bais);
 
                     URL url;
@@ -208,20 +217,24 @@ public class SVGUniverse implements Serializable
                     loadedImages.put(url, ref);
 
                     return url;
-                } catch (IOException ex) {
-                    ex.printStackTrace();
+                } catch (IOException ex)
+                {
+                    Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                        "Could not decode inline image", ex);
                 }
             }
             return null;
-        }
-        else
+        } else
         {
-            try {
+            try
+            {
                 URL url = imageURI.toURL();
                 registerImage(url);
                 return url;
-            } catch (MalformedURLException ex) {
-                ex.printStackTrace();
+            } catch (MalformedURLException ex)
+            {
+                Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                    "Bad url", ex);
             }
             return null;
         }
@@ -229,8 +242,11 @@ public class SVGUniverse implements Serializable
 
     void registerImage(URL imageURL)
     {
-        if (loadedImages.containsKey(imageURL)) return;
-        
+        if (loadedImages.containsKey(imageURL))
+        {
+            return;
+        }
+
         SoftReference ref;
         try
         {
@@ -239,77 +255,80 @@ public class SVGUniverse implements Serializable
             {
                 SVGIcon icon = new SVGIcon();
                 icon.setSvgURI(imageURL.toURI());
-                
+
                 BufferedImage img = new BufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TYPE_INT_ARGB);
                 Graphics2D g = img.createGraphics();
                 icon.paintIcon(null, g, 0, 0);
                 g.dispose();
                 ref = new SoftReference(img);
-            }
-            else
+            } else
             {
                 BufferedImage img = ImageIO.read(imageURL);
                 ref = new SoftReference(img);
             }
             loadedImages.put(imageURL, ref);
-        }
-        catch (Exception e)
+        } catch (Exception e)
         {
-            System.err.println("Could not load image: " + imageURL);
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                "Could not load image: " + imageURL, e);
         }
     }
-    
+
     BufferedImage getImage(URL imageURL)
     {
-        SoftReference ref = (SoftReference)loadedImages.get(imageURL);
-        if (ref == null) return null;
-        
-        BufferedImage img = (BufferedImage)ref.get();
+        SoftReference ref = (SoftReference) loadedImages.get(imageURL);
+        if (ref == null)
+        {
+            return null;
+        }
+
+        BufferedImage img = (BufferedImage) ref.get();
         //If image was cleared from memory, reload it
         if (img == null)
         {
             try
             {
                 img = ImageIO.read(imageURL);
+            } catch (Exception e)
+            {
+                Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                    "Could not load image", e);
             }
-            catch (Exception e)
-            { e.printStackTrace(); }
             ref = new SoftReference(img);
             loadedImages.put(imageURL, ref);
         }
-        
+
         return img;
     }
-    
+
     /**
-     * Returns the element of the document at the given URI.  If the document
-     * is not already loaded, it will be.
+     * Returns the element of the document at the given URI. If the document is
+     * not already loaded, it will be.
      */
     public SVGElement getElement(URI path)
     {
         return getElement(path, true);
     }
-    
+
     public SVGElement getElement(URL path)
     {
         try
         {
             URI uri = new URI(path.toString());
             return getElement(uri, true);
-        }
-        catch (Exception e)
+        } catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                "Could not parse url " + path, e);
         }
         return null;
     }
-    
+
     /**
-     * Looks up a href within our universe.  If the href refers to a document that
-     * is not loaded, it will be loaded.  The URL #target will then be checked
-     * against the SVG diagram's index and the coresponding element returned.
-     * If there is no coresponding index, null is returned.
+     * Looks up a href within our universe. If the href refers to a document
+     * that is not loaded, it will be loaded. The URL #target will then be
+     * checked against the SVG diagram's index and the coresponding element
+     * returned. If there is no coresponding index, null is returned.
      */
     public SVGElement getElement(URI path, boolean loadIfAbsent)
     {
@@ -317,45 +336,54 @@ public class SVGUniverse implements Serializable
         {
             //Strip fragment from URI
             URI xmlBase = new URI(path.getScheme(), path.getSchemeSpecificPart(), null);
-            
-            SVGDiagram dia = (SVGDiagram)loadedDocs.get(xmlBase);
+
+            SVGDiagram dia = (SVGDiagram) loadedDocs.get(xmlBase);
             if (dia == null && loadIfAbsent)
             {
 //System.err.println("SVGUnivserse: " + xmlBase.toString());
 //javax.swing.JOptionPane.showMessageDialog(null, xmlBase.toString());
                 URL url = xmlBase.toURL();
-                
+
                 loadSVG(url, false);
-                dia = (SVGDiagram)loadedDocs.get(xmlBase);
-                if (dia == null) return null;
+                dia = (SVGDiagram) loadedDocs.get(xmlBase);
+                if (dia == null)
+                {
+                    return null;
+                }
             }
-            
+
             String fragment = path.getFragment();
             return fragment == null ? dia.getRoot() : dia.getElement(fragment);
-        }
-        catch (Exception e)
+        } catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                "Could not parse path " + path, e);
             return null;
         }
     }
-    
+
     public SVGDiagram getDiagram(URI xmlBase)
     {
         return getDiagram(xmlBase, true);
     }
-    
+
     /**
-     * Returns the diagram that has been loaded from this root.  If diagram is
+     * Returns the diagram that has been loaded from this root. If diagram is
      * not already loaded, returns null.
      */
     public SVGDiagram getDiagram(URI xmlBase, boolean loadIfAbsent)
     {
-        if (xmlBase == null) return null;
+        if (xmlBase == null)
+        {
+            return null;
+        }
+
+        SVGDiagram dia = (SVGDiagram) loadedDocs.get(xmlBase);
+        if (dia != null || !loadIfAbsent)
+        {
+            return dia;
+        }
 
-        SVGDiagram dia = (SVGDiagram)loadedDocs.get(xmlBase);
-        if (dia != null || !loadIfAbsent) return dia;
-        
         //Load missing diagram
         try
         {
@@ -371,23 +399,23 @@ public class SVGUniverse implements Serializable
                 url = xmlBase.toURL();
             }
 
-            
+
             loadSVG(url, false);
-            dia = (SVGDiagram)loadedDocs.get(xmlBase);
+            dia = (SVGDiagram) loadedDocs.get(xmlBase);
             return dia;
-        }
-        catch (Exception e)
+        } catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                "Could not parse", e);
         }
-        
+
         return null;
     }
-    
+
     /**
-     * Wraps input stream in a BufferedInputStream.  If it is detected that this
+     * Wraps input stream in a BufferedInputStream. If it is detected that this
      * input stream is GZIPped, also wraps in a GZIPInputStream for inflation.
-     * 
+     *
      * @param is Raw input stream
      * @return Uncompressed stream of SVG data
      * @throws java.io.IOException
@@ -405,23 +433,23 @@ public class SVGUniverse implements Serializable
         {
             GZIPInputStream iis = new GZIPInputStream(bin);
             return iis;
-        }
-        else
+        } else
         {
             //Plain text
             return bin;
         }
     }
-    
+
     public URI loadSVG(URL docRoot)
     {
         return loadSVG(docRoot, false);
     }
-    
+
     /**
      * Loads an SVG file and all the files it references from the URL provided.
      * If a referenced file already exists in the SVG universe, it is not
      * reloaded.
+     *
      * @param docRoot - URL to the location where this SVG file can be found.
      * @param forceLoad - if true, ignore cached diagram and reload
      * @return - The URI that refers to the loaded document
@@ -431,63 +459,73 @@ public class SVGUniverse implements Serializable
         try
         {
             URI uri = new URI(docRoot.toString());
-            if (loadedDocs.containsKey(uri) && !forceLoad) return uri;
-            
+            if (loadedDocs.containsKey(uri) && !forceLoad)
+            {
+                return uri;
+            }
+
             InputStream is = docRoot.openStream();
             return loadSVG(uri, new InputSource(createDocumentInputStream(is)));
-        }
-        catch (Throwable t)
+        } catch (URISyntaxException ex)
+        {
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                "Could not parse", ex);
+        } catch (IOException e)
         {
-            t.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                "Could not parse", e);
         }
-        
+
         return null;
     }
-    
-    
+
     public URI loadSVG(InputStream is, String name) throws IOException
     {
         return loadSVG(is, name, false);
     }
-    
+
     public URI loadSVG(InputStream is, String name, boolean forceLoad) throws IOException
     {
         URI uri = getStreamBuiltURI(name);
-        if (uri == null) return null;
-        if (loadedDocs.containsKey(uri) && !forceLoad) return uri;
-        
+        if (uri == null)
+        {
+            return null;
+        }
+        if (loadedDocs.containsKey(uri) && !forceLoad)
+        {
+            return uri;
+        }
+
         return loadSVG(uri, new InputSource(createDocumentInputStream(is)));
     }
-    
+
     public URI loadSVG(Reader reader, String name)
     {
         return loadSVG(reader, name, false);
     }
-    
+
     /**
      * This routine allows you to create SVG documents from data streams that
-     * may not necessarily have a URL to load from.  Since every SVG document
-     * must be identified by a unique URL, Salamander provides a method to
-     * fake this for streams by defining it's own protocol - svgSalamander -
-     * for SVG documents without a formal URL.
+     * may not necessarily have a URL to load from. Since every SVG document
+     * must be identified by a unique URL, Salamander provides a method to fake
+     * this for streams by defining it's own protocol - svgSalamander - for SVG
+     * documents without a formal URL.
      *
      * @param reader - A stream containing a valid SVG document
-     * @param name - <p>A unique name for this document.  It will be used to
+     * @param name - <p>A unique name for this document. It will be used to
      * construct a unique URI to refer to this document and perform resolution
-     * with relative URIs within this document.</p>
-     * <p>For example, a name of "/myScene" will produce the URI
-     * svgSalamander:/myScene.  "/maps/canada/toronto" will produce
-     * svgSalamander:/maps/canada/toronto.  If this second document then
-     * contained the href "../uk/london", it would resolve by default to
-     * svgSalamander:/maps/uk/london.  That is, SVG Salamander defines the
-     * URI scheme svgSalamander for it's own internal use and uses it
-     * for uniquely identfying documents loaded by stream.</p>
-     * <p>If you need to link to documents outside of this scheme, you can
-     * either supply full hrefs (eg, href="url(http://www.kitfox.com/index.html)")
-     * or put the xml:base attribute in a tag to change the defaultbase
-     * URIs are resolved against</p>
-     * <p>If a name does not start with the character '/', it will be automatically
-     * prefixed to it.</p>
+     * with relative URIs within this document.</p> <p>For example, a name of
+     * "/myScene" will produce the URI svgSalamander:/myScene.
+     * "/maps/canada/toronto" will produce svgSalamander:/maps/canada/toronto.
+     * If this second document then contained the href "../uk/london", it would
+     * resolve by default to svgSalamander:/maps/uk/london. That is, SVG
+     * Salamander defines the URI scheme svgSalamander for it's own internal use
+     * and uses it for uniquely identfying documents loaded by stream.</p> <p>If
+     * you need to link to documents outside of this scheme, you can either
+     * supply full hrefs (eg, href="url(http://www.kitfox.com/index.html)") or
+     * put the xml:base attribute in a tag to change the defaultbase URIs are
+     * resolved against</p> <p>If a name does not start with the character '/',
+     * it will be automatically prefixed to it.</p>
      * @param forceLoad - if true, ignore cached diagram and reload
      *
      * @return - The URI that refers to the loaded document
@@ -497,34 +535,47 @@ public class SVGUniverse implements Serializable
 //System.err.println(url.toString());
         //Synthesize URI for this stream
         URI uri = getStreamBuiltURI(name);
-        if (uri == null) return null;
-        if (loadedDocs.containsKey(uri) && !forceLoad) return uri;
-        
+        if (uri == null)
+        {
+            return null;
+        }
+        if (loadedDocs.containsKey(uri) && !forceLoad)
+        {
+            return uri;
+        }
+
         return loadSVG(uri, new InputSource(reader));
     }
-    
+
     /**
      * Synthesize a URI for an SVGDiagram constructed from a stream.
+     *
      * @param name - Name given the document constructed from a stream.
      */
     public URI getStreamBuiltURI(String name)
     {
-        if (name == null || name.length() == 0) return null;
-        
-        if (name.charAt(0) != '/') name = '/' + name;
-        
+        if (name == null || name.length() == 0)
+        {
+            return null;
+        }
+
+        if (name.charAt(0) != '/')
+        {
+            name = '/' + name;
+        }
+
         try
         {
             //Dummy URL for SVG documents built from image streams
             return new URI(INPUTSTREAM_SCHEME, name, null);
-        }
-        catch (Exception e)
+        } catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                "Could not parse", e);
             return null;
         }
     }
-    
+
     private XMLReader getXMLReaderCached() throws SAXException
     {
         if (cachedReader == null)
@@ -533,24 +584,17 @@ public class SVGUniverse implements Serializable
         }
         return cachedReader;
     }
-    
-//    protected URI loadSVG(URI xmlBase, InputStream is)
+
     protected URI loadSVG(URI xmlBase, InputSource is)
     {
         // Use an instance of ourselves as the SAX event handler
         SVGLoader handler = new SVGLoader(xmlBase, this, verbose);
-        
+
         //Place this docment in the universe before it is completely loaded
         // so that the load process can refer to references within it's current
         // document
-//System.err.println("SVGUniverse: loading dia " + xmlBase);
         loadedDocs.put(xmlBase, handler.getLoadedDiagram());
-        
-        // Use the default (non-validating) parser
-//        SAXParserFactory factory = SAXParserFactory.newInstance();
-//        factory.setValidating(false);
-//        factory.setNamespaceAware(true);
-        
+
         try
         {
             // Parse the input
@@ -563,70 +607,46 @@ public class SVGUniverse implements Serializable
                         //Ignore all DTDs
                         return new InputSource(new ByteArrayInputStream(new byte[0]));
                     }
-                }
-            );
+                });
             reader.setContentHandler(handler);
             reader.parse(is);
-            
-//            SAXParser saxParser = factory.newSAXParser();
-//            saxParser.parse(new InputSource(new BufferedReader(is)), handler);
+
+            handler.getLoadedDiagram().updateTime(curTime);
             return xmlBase;
-        }
-        catch (SAXParseException sex)
+        } catch (SAXParseException sex)
         {
             System.err.println("Error processing " + xmlBase);
             System.err.println(sex.getMessage());
-            
+
             loadedDocs.remove(xmlBase);
             return null;
-        }
-        catch (Throwable t)
+        } catch (Throwable e)
         {
-            t.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                "Could not load SVG " + xmlBase, e);
         }
-        
+
         return null;
     }
+
+    /**
+     * Get list of uris of all loaded documents and subdocuments.
+     * @return 
+     */
+    public ArrayList getLoadedDocumentURIs()
+    {
+        return new ArrayList(loadedDocs.keySet());
+    }
     
-    public static void main(String argv[])
+    /**
+     * Remove loaded document from cache.
+     * @param uri 
+     */
+    public void removeDocument(URI uri)
     {
-        try
-        {
-            URL url = new URL("svgSalamander", "localhost", -1, "abc.svg",
-                    new URLStreamHandler()
-            {
-                protected URLConnection openConnection(URL u)
-                {
-                    return null;
-                }
-            }
-            );
-//            URL url2 = new URL("svgSalamander", "localhost", -1, "abc.svg");
-            
-            //Investigate URI resolution
-            URI uriA, uriB, uriC, uriD, uriE;
-            
-            uriA = new URI("svgSalamander", "/names/mySpecialName", null);
-//            uriA = new URI("http://www.kitfox.com/salamander");
-//            uriA = new URI("svgSalamander://mySpecialName/grape");
-            System.err.println(uriA.toString());
-            System.err.println(uriA.getScheme());
-            
-            uriB = uriA.resolve("#begin");
-            System.err.println(uriB.toString());
-            
-            uriC = uriA.resolve("tree#boing");
-            System.err.println(uriC.toString());
-            
-            uriC = uriA.resolve("../tree#boing");
-            System.err.println(uriC.toString());
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-        }
+        loadedDocs.remove(uri);
     }
-
+    
     public boolean isVerbose()
     {
         return verbose;
@@ -636,7 +656,7 @@ public class SVGUniverse implements Serializable
     {
         this.verbose = verbose;
     }
-    
+
     /**
      * Uses serialization to duplicate this universe.
      */
@@ -649,7 +669,7 @@ public class SVGUniverse implements Serializable
 
         ByteArrayInputStream bin = new ByteArrayInputStream(bs.toByteArray());
         ObjectInputStream is = new ObjectInputStream(bin);
-        SVGUniverse universe = (SVGUniverse)is.readObject();
+        SVGUniverse universe = (SVGUniverse) is.readObject();
         is.close();
 
         return universe;
diff --git a/svg-core/src/main/java/com/kitfox/svg/ShapeElement.java b/svg-core/src/main/java/com/kitfox/svg/ShapeElement.java
index f55ff15..e3b7ac2 100644
--- a/svg-core/src/main/java/com/kitfox/svg/ShapeElement.java
+++ b/svg-core/src/main/java/com/kitfox/svg/ShapeElement.java
@@ -1,26 +1,35 @@
 /*
- * ShapeElement.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 5:21 PM
  */
@@ -77,7 +86,7 @@ abstract public class ShapeElement extends RenderableElement
 
     void pick(Point2D point, boolean boundingBox, List retVec) throws SVGException
     {
-        StyleAttribute styleAttrib = new StyleAttribute();
+//        StyleAttribute styleAttrib = new StyleAttribute();
 //        if (getStyle(styleAttrib.setName("fill")) && getShape().contains(point))
         if ((boundingBox ? getBoundingBox() : getShape()).contains(point))
         {
@@ -95,6 +104,26 @@ abstract public class ShapeElement extends RenderableElement
         }
     }
 
+    private Paint handleCurrentColor(StyleAttribute styleAttrib) throws SVGException
+    {
+        if (styleAttrib.getStringValue().equals("currentColor"))
+        {
+            StyleAttribute currentColorAttrib = new StyleAttribute();
+            if (getStyle(currentColorAttrib.setName("color")))
+            {
+                if (!currentColorAttrib.getStringValue().equals("none"))
+                {
+                    return currentColorAttrib.getColorValue();
+                }
+            }
+            return null;
+        }
+        else
+        {
+            return styleAttrib.getColorValue();
+        }
+    }
+
     protected void renderShape(Graphics2D g, Shape shape) throws SVGException
     {
 //g.setColor(Color.green);
@@ -119,7 +148,7 @@ abstract public class ShapeElement extends RenderableElement
             if (styleAttrib.getStringValue().equals("none")) fillPaint = null;
             else
             {
-                fillPaint = styleAttrib.getColorValue();
+                fillPaint = handleCurrentColor(styleAttrib);
                 if (fillPaint == null)
                 {
                     URI uri = styleAttrib.getURIValue(getXMLBase());
@@ -129,7 +158,10 @@ abstract public class ShapeElement extends RenderableElement
                         AffineTransform xform = g.getTransform();
 
                         SVGElement ele = diagram.getUniverse().getElement(uri);
-                        fillPaint = ((FillElement)ele).getPaint(bounds, xform);
+                        if (ele != null)
+                        {
+                            fillPaint = ((FillElement)ele).getPaint(bounds, xform);
+                        }
                     }
                 }
             }
@@ -155,7 +187,7 @@ abstract public class ShapeElement extends RenderableElement
             if (styleAttrib.getStringValue().equals("none")) strokePaint = null;
             else
             {
-                strokePaint = styleAttrib.getColorValue();
+                strokePaint = handleCurrentColor(styleAttrib);
                 if (strokePaint == null)
                 {
                     URI uri = styleAttrib.getURIValue(getXMLBase());
@@ -165,7 +197,10 @@ abstract public class ShapeElement extends RenderableElement
                         AffineTransform xform = g.getTransform();
 
                         SVGElement ele = diagram.getUniverse().getElement(uri);
-                        strokePaint = ((FillElement)ele).getPaint(bounds, xform);
+                        if (ele != null)
+                        {
+                            strokePaint = ((FillElement)ele).getPaint(bounds, xform);
+                        }
                     }
                 }
             }
@@ -237,22 +272,31 @@ abstract public class ShapeElement extends RenderableElement
         Marker markerStart = null;
         if (getStyle(styleAttrib.setName("marker-start")))
         {
-            URI uri = styleAttrib.getURIValue(getXMLBase());
-            markerStart = (Marker)diagram.getUniverse().getElement(uri);
+            if (!styleAttrib.getStringValue().equals("none"))
+            {
+                URI uri = styleAttrib.getURIValue(getXMLBase());
+                markerStart = (Marker)diagram.getUniverse().getElement(uri);
+            }
         }
 
         Marker markerMid = null;
         if (getStyle(styleAttrib.setName("marker-mid")))
         {
-            URI uri = styleAttrib.getURIValue(getXMLBase());
-            markerMid = (Marker)diagram.getUniverse().getElement(uri);
+            if (!styleAttrib.getStringValue().equals("none"))
+            {
+                URI uri = styleAttrib.getURIValue(getXMLBase());
+                markerMid = (Marker)diagram.getUniverse().getElement(uri);
+            }
         }
 
         Marker markerEnd = null;
         if (getStyle(styleAttrib.setName("marker-end")))
         {
-            URI uri = styleAttrib.getURIValue(getXMLBase());
-            markerEnd = (Marker)diagram.getUniverse().getElement(uri);
+            if (!styleAttrib.getStringValue().equals("none"))
+            {
+                URI uri = styleAttrib.getURIValue(getXMLBase());
+                markerEnd = (Marker)diagram.getUniverse().getElement(uri);
+            }
         }
 
 
@@ -293,26 +337,50 @@ abstract public class ShapeElement extends RenderableElement
                 stroke = new BasicStroke(strokeWidth, strokeLinecap, strokeLinejoin, strokeMiterLimit, strokeDashArray, strokeDashOffset);
             }
 
-            Shape strokeShape = stroke.createStrokedShape(shape);
+            Shape strokeShape;
+            AffineTransform cacheXform = g.getTransform();
+            if (vectorEffect == VECTOR_EFFECT_NON_SCALING_STROKE)
+            {
+                strokeShape = cacheXform.createTransformedShape(shape);
+                strokeShape = stroke.createStrokedShape(strokeShape);
+            }
+            else
+            {
+                strokeShape = stroke.createStrokedShape(shape);
+            }
 
             if (strokeOpacity <= 0)
             {
                 //Do nothing
             }
-            else if (strokeOpacity < 1f)
+            else
             {
                 Composite cachedComposite = g.getComposite();
-                g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, strokeOpacity));
 
-                g.setPaint(strokePaint);
-                g.fill(strokeShape);
+                if (strokeOpacity < 1f)
+                {
+                    g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, strokeOpacity));
+                }
+
+                if (vectorEffect == VECTOR_EFFECT_NON_SCALING_STROKE)
+                {
+                    //Set to identity
+                    g.setTransform(new AffineTransform());
+                }
 
-                g.setComposite(cachedComposite);
-            }
-            else
-            {
                 g.setPaint(strokePaint);
                 g.fill(strokeShape);
+
+                if (vectorEffect == VECTOR_EFFECT_NON_SCALING_STROKE)
+                {
+                    //Set to identity
+                    g.setTransform(cacheXform);
+                }
+
+                if (strokeOpacity < 1f)
+                {
+                    g.setComposite(cachedComposite);
+                }
             }
         }
 
diff --git a/svg-core/src/main/java/com/kitfox/svg/Stop.java b/svg-core/src/main/java/com/kitfox/svg/Stop.java
index b3990c6..028e07e 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Stop.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Stop.java
@@ -1,88 +1,106 @@
 /*
- * Stop.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 1:56 AM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
-import java.awt.*;
-import java.util.*;
-
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
+import java.awt.Color;
 
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class Stop extends SVGElement {
+public class Stop extends SVGElement
+{
 
+    public static final String TAG_NAME = "stop";
     float offset = 0f;
     float opacity = 1f;
     Color color = Color.black;
 
-    /** Creates a new instance of Stop */
-    public Stop() {
-    }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+    /**
+     * Creates a new instance of Stop
+     */
+    public Stop()
     {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        String offset = attrs.getValue("offset");
-        this.offset = (float)XMLParseUtil.parseRatio(offset);
+    }
 
-        buildStop();
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
-    */
-    
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
+
         if (getPres(sty.setName("offset")))
         {
             offset = sty.getFloatValue();
             String units = sty.getUnits();
-            if (units != null && units.equals("%")) offset /= 100f;
-            if (offset > 1) offset = 1;
-            if (offset < 0) offset = 0;
+            if (units != null && units.equals("%"))
+            {
+                offset /= 100f;
+            }
+            if (offset > 1)
+            {
+                offset = 1;
+            }
+            if (offset < 0)
+            {
+                offset = 0;
+            }
         }
-        
-        if (getStyle(sty.setName("stop-color"))) color = sty.getColorValue();
 
-        if (getStyle(sty.setName("stop-opacity"))) opacity = sty.getRatioValue();
+        if (getStyle(sty.setName("stop-color")))
+        {
+            color = sty.getColorValue();
+        }
+
+        if (getStyle(sty.setName("stop-opacity")))
+        {
+            opacity = sty.getRatioValue();
+        }
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -93,7 +111,7 @@ public class Stop extends SVGElement {
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean shapeChange = false;
-        
+
         if (getPres(sty.setName("offset")))
         {
             float newVal = sty.getFloatValue();
@@ -103,8 +121,8 @@ public class Stop extends SVGElement {
                 shapeChange = true;
             }
         }
-        
-        if (getPres(sty.setName("stop-color")))
+
+        if (getStyle(sty.setName("stop-color")))
         {
             Color newVal = sty.getColorValue();
             if (newVal != color)
@@ -113,8 +131,8 @@ public class Stop extends SVGElement {
                 shapeChange = true;
             }
         }
-        
-        if (getPres(sty.setName("stop-opacity")))
+
+        if (getStyle(sty.setName("stop-opacity")))
         {
             float newVal = sty.getFloatValue();
             if (newVal != opacity)
@@ -123,7 +141,7 @@ public class Stop extends SVGElement {
                 shapeChange = true;
             }
         }
-        
+
         return shapeChange;
     }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/Style.java b/svg-core/src/main/java/com/kitfox/svg/Style.java
index 58bbf26..eac0e04 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Style.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Style.java
@@ -1,36 +1,42 @@
 /*
- * Stop.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on September 19, 2004, 1:56 AM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
-
+import com.kitfox.svg.xml.StyleSheet;
 
 /**
  * Holds title textual information within tree
@@ -38,46 +44,63 @@ import org.xml.sax.*;
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class Style extends SVGElement {
+public class Style extends SVGElement
+{
 
+    public static final String TAG_NAME = "style";
     //Should be set to "text/css"
     String type;
     StringBuffer text = new StringBuffer();
 
-    /** Creates a new instance of Stop */
-    public Style() {
-    }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+    StyleSheet styleSheet;
+    
+    /**
+     * Creates a new instance of Stop
+     */
+    public Style()
     {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
+    }
 
-        this.type = attrs.getValue("type");
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
-*/
+
     /**
      * Called during load process to add text scanned within a tag
      */
     public void loaderAddText(SVGLoaderHelper helper, String text)
     {
         this.text.append(text);
+        
+        //Invalidate style sheet
+        styleSheet = null;
     }
 
-    
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-        if (getPres(sty.setName("type"))) type = sty.getStringValue();
+
+        if (getPres(sty.setName("type")))
+        {
+            type = sty.getStringValue();
+        }
     }
-    
+
     public boolean updateTime(double curTime) throws SVGException
     {
         //Style sheet doesn't change
         return false;
-    }    
-    
+    }
+
+    public StyleSheet getStyleSheet()
+    {
+        if (styleSheet == null && text.length() > 0)
+        {
+            styleSheet = StyleSheet.parseSheet(text.toString());
+        }
+        return styleSheet;
+    }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/Symbol.java b/svg-core/src/main/java/com/kitfox/svg/Symbol.java
index 6d9e219..3ad21c2 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Symbol.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Symbol.java
@@ -1,36 +1,46 @@
 /*
- * Stop.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 1:56 AM
  */
-
 package com.kitfox.svg;
 
-import java.awt.*;
-import java.awt.geom.*;
-
-import com.kitfox.svg.xml.*;
+import com.kitfox.svg.xml.StyleAttribute;
+import java.awt.Graphics2D;
+import java.awt.Rectangle;
+import java.awt.Shape;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Rectangle2D;
 
 /**
  * @author Mark McKay
@@ -38,47 +48,29 @@ import com.kitfox.svg.xml.*;
  */
 public class Symbol extends Group
 {
+
+    public static final String TAG_NAME = "symbol";
     AffineTransform viewXform;
     Rectangle2D viewBox;
 
-    /** Creates a new instance of Stop */
-    public Symbol() {
-    }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+    /**
+     * Creates a new instance of Stop
+     */
+    public Symbol()
     {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        String viewBoxStrn = attrs.getValue("viewBox");
-        if (viewBoxStrn != null)
-        {
-            float[] dim = XMLParseUtil.parseFloatList(viewBoxStrn);
-            viewBox = new Rectangle2D.Float(dim[0], dim[1], dim[2], dim[3]);
-        }
     }
-*/
-    /*
-    public void loaderEndElement(SVGLoaderHelper helper)
-    {
-        if (viewBox == null)
-        {
-            viewBox = super.getBoundingBox();
-        }
 
-        //Transform pattern onto unit square
-        viewXform = new AffineTransform();
-        viewXform.scale(1.0 / viewBox.getWidth(), 1.0 / viewBox.getHeight());
-        viewXform.translate(-viewBox.getX(), -viewBox.getY());
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
-*/
-    
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
+
 //        sty = getPres("unicode");
 //        if (sty != null) unicode = sty.getStringValue();
 
@@ -88,7 +80,7 @@ public class Symbol extends Group
             float[] dim = sty.getFloatList();
             viewBox = new Rectangle2D.Float(dim[0], dim[1], dim[2], dim[3]);
         }
-        
+
         if (viewBox == null)
         {
 //            viewBox = super.getBoundingBox();
@@ -103,9 +95,10 @@ public class Symbol extends Group
 
     protected boolean outsideClip(Graphics2D g) throws SVGException
     {
-        g.getClipBounds(clipBounds);
+        Shape clip = g.getClip();
+//        g.getClipBounds(clipBounds);
         Rectangle2D rect = super.getBoundingBox();
-        if (rect.intersects(clipBounds))
+        if (clip == null || clip.intersects(rect))
         {
             return false;
         }
@@ -137,8 +130,9 @@ public class Symbol extends Group
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -146,10 +140,9 @@ public class Symbol extends Group
     {
 //        if (trackManager.getNumTracks() == 0) return false;
         boolean changeState = super.updateTime(curTime);
-        
+
         //View box properties do not change
-        
+
         return changeState;
     }
-
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/Text.java b/svg-core/src/main/java/com/kitfox/svg/Text.java
index e107d79..07a640c 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Text.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Text.java
@@ -1,70 +1,80 @@
 /*
- * Stop.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 1:56 AM
  */
-
 package com.kitfox.svg;
 
+import com.kitfox.svg.util.FontSystem;
+import com.kitfox.svg.util.TextBuilder;
 import com.kitfox.svg.xml.StyleAttribute;
-import java.awt.*;
-import java.awt.font.*;
-import java.awt.geom.*;
-import java.util.*;
-import java.util.regex.*;
+import java.awt.Graphics2D;
+import java.awt.Shape;
+import java.awt.font.FontRenderContext;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 //import org.apache.batik.ext.awt.geom.ExtendedGeneralPath;
-
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
 public class Text extends ShapeElement
 {
+    public static final String TAG_NAME = "text";
     
     float x = 0;
     float y = 0;
     AffineTransform transform = null;
-    
     String fontFamily;
     float fontSize;
-    
     //List of strings and tspans containing the content of this node
     LinkedList content = new LinkedList();
-    
     Shape textShape;
-    
     public static final int TXAN_START = 0;
     public static final int TXAN_MIDDLE = 1;
     public static final int TXAN_END = 2;
     int textAnchor = TXAN_START;
-    
     public static final int TXST_NORMAL = 0;
     public static final int TXST_ITALIC = 1;
     public static final int TXST_OBLIQUE = 2;
     int fontStyle;
-    
     public static final int TXWE_NORMAL = 0;
     public static final int TXWE_BOLD = 1;
     public static final int TXWE_BOLDER = 2;
@@ -79,24 +89,33 @@ public class Text extends ShapeElement
     public static final int TXWE_800 = 11;
     public static final int TXWE_900 = 12;
     int fontWeight;
+
+    float textLength = -1;
+    String lengthAdjust = "spacing";
     
-    /** Creates a new instance of Stop */
+    /**
+     * Creates a new instance of Stop
+     */
     public Text()
     {
     }
-    
+
+    public String getTagName()
+    {
+        return TAG_NAME;
+    }
+
     public void appendText(String text)
     {
         content.addLast(text);
     }
-    
+
     public void appendTspan(Tspan tspan) throws SVGElementException
     {
         super.loaderAddChild(null, tspan);
         content.addLast(tspan);
-//        tspan.setParent(this);
     }
-    
+
     /**
      * Discard cached information
      */
@@ -104,25 +123,12 @@ public class Text extends ShapeElement
     {
         build();
     }
-    
+
     public java.util.List getContent()
     {
         return content;
     }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
-    {
-                //Load style string
-        super.loaderStartElement(helper, attrs, parent);
- 
-        String x = attrs.getValue("x");
-        String y = attrs.getValue("y");
-        //String transform = attrs.getValue("transform");
- 
-        this.x = XMLParseUtil.parseFloat(x);
-        this.y = XMLParseUtil.parseFloat(y);
-    }
- */
+
     /**
      * Called after the start element but before the end element to indicate
      * each child tag that has been processed
@@ -130,155 +136,234 @@ public class Text extends ShapeElement
     public void loaderAddChild(SVGLoaderHelper helper, SVGElement child) throws SVGElementException
     {
         super.loaderAddChild(helper, child);
-        
+
         content.addLast(child);
     }
-    
+
     /**
      * Called during load process to add text scanned within a tag
      */
     public void loaderAddText(SVGLoaderHelper helper, String text)
     {
         Matcher matchWs = Pattern.compile("\\s*").matcher(text);
-        if (!matchWs.matches()) content.addLast(text);
+        if (!matchWs.matches())
+        {
+            content.addLast(text);
+        }
     }
-    
+
     public void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-        if (getPres(sty.setName("x"))) x = sty.getFloatValueWithUnits();
-        
-        if (getPres(sty.setName("y"))) y = sty.getFloatValueWithUnits();
-        
-        if (getStyle(sty.setName("font-family"))) fontFamily = sty.getStringValue();
-        else fontFamily = "Sans Serif";
-        
-        if (getStyle(sty.setName("font-size"))) fontSize = sty.getFloatValueWithUnits();
-        else fontSize = 12f;
-        
+
+        if (getPres(sty.setName("x")))
+        {
+            x = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("y")))
+        {
+            y = sty.getFloatValueWithUnits();
+        }
+
+        if (getStyle(sty.setName("font-family")))
+        {
+            fontFamily = sty.getStringValue();
+        }
+        else
+        {
+            fontFamily = "Sans Serif";
+        }
+
+        if (getStyle(sty.setName("font-size")))
+        {
+            fontSize = sty.getFloatValueWithUnits();
+        }
+        else
+        {
+            fontSize = 12f;
+        }
+
+        if (getStyle(sty.setName("textLength")))
+        {
+            textLength = sty.getFloatValueWithUnits();
+        }
+        else
+        {
+            textLength = -1;
+        }
+
+        if (getStyle(sty.setName("lengthAdjust")))
+        {
+            lengthAdjust = sty.getStringValue();
+        }
+        else
+        {
+            lengthAdjust = "spacing";
+        }
+
         if (getStyle(sty.setName("font-style")))
         {
             String s = sty.getStringValue();
             if ("normal".equals(s))
             {
                 fontStyle = TXST_NORMAL;
-            }
-            else if ("italic".equals(s))
+            } else if ("italic".equals(s))
             {
                 fontStyle = TXST_ITALIC;
-            }
-            else if ("oblique".equals(s))
+            } else if ("oblique".equals(s))
             {
                 fontStyle = TXST_OBLIQUE;
             }
+        } else
+        {
+            fontStyle = TXST_NORMAL;
         }
-        else fontStyle = TXST_NORMAL;
-        
+
         if (getStyle(sty.setName("font-weight")))
         {
             String s = sty.getStringValue();
             if ("normal".equals(s))
             {
                 fontWeight = TXWE_NORMAL;
-            }
-            else if ("bold".equals(s))
+            } else if ("bold".equals(s))
             {
                 fontWeight = TXWE_BOLD;
             }
+        } else
+        {
+            fontWeight = TXWE_NORMAL;
         }
-        else fontWeight = TXWE_BOLD;
-        
+
         if (getStyle(sty.setName("text-anchor")))
         {
             String s = sty.getStringValue();
-            if (s.equals("middle")) textAnchor = TXAN_MIDDLE;
-            else if (s.equals("end")) textAnchor = TXAN_END;
-            else textAnchor = TXAN_START;
+            if (s.equals("middle"))
+            {
+                textAnchor = TXAN_MIDDLE;
+            } else if (s.equals("end"))
+            {
+                textAnchor = TXAN_END;
+            } else
+            {
+                textAnchor = TXAN_START;
+            }
+        } else
+        {
+            textAnchor = TXAN_START;
         }
-        else textAnchor = TXAN_START;
-        
+
         //text anchor
         //text-decoration
         //text-rendering
-        
-        buildFont();
+
+        buildText();
     }
-    
-    protected void buildFont() throws SVGException
-    {
-        int style;
-        switch (fontStyle)
-        {
-            case TXST_ITALIC:
-                style = java.awt.Font.ITALIC;
-                break;
-            default:
-                style = java.awt.Font.PLAIN;
-                break;
-        }
 
-        int weight;
-        switch (fontWeight)
+    protected void buildText() throws SVGException
+    {
+        //Get font
+        String[] families = fontFamily.split(",");
+        Font font = null;
+        for (int i = 0; i < families.length; ++i)
         {
-            case TXWE_BOLD:
-            case TXWE_BOLDER:
-                weight = java.awt.Font.BOLD;
-                break;
-            default:
-                weight = java.awt.Font.PLAIN;
+            font = diagram.getUniverse().getFont(fontFamily);
+            if (font != null)
+            {
                 break;
+            }
         }
-            
-        //Get font
-        Font font = diagram.getUniverse().getFont(fontFamily);
+        
         if (font == null)
         {
 //            System.err.println("Could not load font");
-            
-            java.awt.Font sysFont = new java.awt.Font(fontFamily, style | weight, (int)fontSize);
-            buildSysFont(sysFont);
-            return;
+
+            font = new FontSystem(fontFamily, fontStyle, fontWeight, (int)fontSize);
+//            java.awt.Font sysFont = new java.awt.Font(fontFamily, style | weight, (int)fontSize);
+//            buildSysFont(sysFont);
+//            return;
         }
-        
+
 //        font = new java.awt.Font(font.getFamily(), style | weight, font.getSize());
-        
+
 //        Area textArea = new Area();
         GeneralPath textPath = new GeneralPath();
         textShape = textPath;
-        
+
         float cursorX = x, cursorY = y;
-        
+
         FontFace fontFace = font.getFontFace();
         //int unitsPerEm = fontFace.getUnitsPerEm();
-        int ascent = fontFace.getAscent();
-        float fontScale = fontSize / (float)ascent;
-        
+//        int ascent = fontFace.getAscent();
+//        float fontScale = fontSize / (float) ascent;
+
 //        AffineTransform oldXform = g.getTransform();
-        AffineTransform xform = new AffineTransform();
+//        TextBuilder builder = new TextBuilder();
+//        
+//        for (Iterator it = content.iterator(); it.hasNext();)
+//        {
+//            Object obj = it.next();
+//
+//            if (obj instanceof String)
+//            {
+//                String text = (String) obj;
+//                if (text != null)
+//                {
+//                    text = text.trim();
+//                }
+//                
+//                for (int i = 0; i < text.length(); i++)
+//                {
+//                    String unicode = text.substring(i, i + 1);
+//                    MissingGlyph glyph = font.getGlyph(unicode);
+//                    
+//                    builder.appendGlyph(glyph);
+//                }
+//            }
+//            else if (obj instanceof Tspan)
+//            {
+//                Tspan tspan = (Tspan)obj;
+//                tspan.buildGlyphs(builder);
+//            }
+//        }
+//
+//        builder.formatGlyphs();
+        
         
+
+                
+                
+        
+        
+        
+        AffineTransform xform = new AffineTransform();
+
         for (Iterator it = content.iterator(); it.hasNext();)
         {
             Object obj = it.next();
-            
+
             if (obj instanceof String)
             {
-                String text = (String)obj;
-                
-                strokeWidthScalar = 1f / fontScale;
-                
+                String text = (String) obj;
+                if (text != null)
+                {
+                    text = text.trim();
+                }
+
+//                strokeWidthScalar = 1f / fontScale;
+
                 for (int i = 0; i < text.length(); i++)
                 {
                     xform.setToIdentity();
                     xform.setToTranslation(cursorX, cursorY);
-                    xform.scale(fontScale, fontScale);
+//                    xform.scale(fontScale, fontScale);
 //                    g.transform(xform);
-                    
+
                     String unicode = text.substring(i, i + 1);
                     MissingGlyph glyph = font.getGlyph(unicode);
-                    
+
                     Shape path = glyph.getPath();
                     if (path != null)
                     {
@@ -286,153 +371,169 @@ public class Text extends ShapeElement
                         textPath.append(path, false);
                     }
 //                    else glyph.render(g);
-                    
-                    cursorX += fontScale * glyph.getHorizAdvX();
-                    
+
+//                    cursorX += fontScale * glyph.getHorizAdvX();
+                    cursorX += glyph.getHorizAdvX();
+
 //                    g.setTransform(oldXform);
                 }
-                
+
                 strokeWidthScalar = 1f;
             }
             else if (obj instanceof Tspan)
             {
-                Tspan tspan = (Tspan)obj;
+//                Tspan tspan = (Tspan) obj;
+//
+//                xform.setToIdentity();
+//                xform.setToTranslation(cursorX, cursorY);
+//                xform.scale(fontScale, fontScale);
+////                tspan.setCursorX(cursorX);
+////                tspan.setCursorY(cursorY);
+//
+//                Shape tspanShape = tspan.getShape();
+//                tspanShape = xform.createTransformedShape(tspanShape);
+//                textPath.append(tspanShape, false);
+////                tspan.render(g);
+////                cursorX = tspan.getCursorX();
+////                cursorY = tspan.getCursorY();
+                
                 
-                xform.setToIdentity();
-                xform.setToTranslation(cursorX, cursorY);
-                xform.scale(fontScale, fontScale);
+                Tspan tspan = (Tspan)obj;
+                Point2D cursor = new Point2D.Float(cursorX, cursorY);
 //                tspan.setCursorX(cursorX);
 //                tspan.setCursorY(cursorY);
-                
-                Shape tspanShape = tspan.getShape();
-                tspanShape = xform.createTransformedShape(tspanShape);
-                textPath.append(tspanShape, false);
-//                tspan.render(g);
+                tspan.appendToShape(textPath, cursor);
 //                cursorX = tspan.getCursorX();
 //                cursorY = tspan.getCursorY();
-            }
-            
-        }
-        
-        switch (textAnchor)
-        {
-            case TXAN_MIDDLE:
-            {
-                AffineTransform at = new AffineTransform();
-                at.translate(-textPath.getBounds2D().getWidth() / 2, 0);
-                textPath.transform(at);
-                break;
-            }
-            case TXAN_END:
-            {
-                AffineTransform at = new AffineTransform();
-                at.translate(-textPath.getBounds2D().getWidth(), 0);
-                textPath.transform(at);
-                break;
-            }
-        }
-    }
-    
-    private void buildSysFont(java.awt.Font font) throws SVGException
-    {
-        GeneralPath textPath = new GeneralPath();
-        textShape = textPath;
-        
-        float cursorX = x, cursorY = y;
-        
-//        FontMetrics fm = g.getFontMetrics(font);
-        FontRenderContext frc = new FontRenderContext(null, true, true);
-        
-//        FontFace fontFace = font.getFontFace();
-        //int unitsPerEm = fontFace.getUnitsPerEm();
-//        int ascent = fm.getAscent();
-//        float fontScale = fontSize / (float)ascent;
-        
-//        AffineTransform oldXform = g.getTransform();
-        AffineTransform xform = new AffineTransform();
-        
-        for (Iterator it = content.iterator(); it.hasNext();)
-        {
-            Object obj = it.next();
-            
-            if (obj instanceof String)
-            {
-                String text = (String)obj;
-                
-                Shape textShape = font.createGlyphVector(frc, text).getOutline(cursorX, cursorY);
-                textPath.append(textShape, false);
-//                renderShape(g, textShape);
-//                g.drawString(text, cursorX, cursorY);
-                
-                Rectangle2D rect = font.getStringBounds(text, frc);
-                cursorX += (float)rect.getWidth();
-            }
-            else if (obj instanceof Tspan)
-            {
-                /*
-                Tspan tspan = (Tspan)obj;
-                 
-                xform.setToIdentity();
-                xform.setToTranslation(cursorX, cursorY);
-                 
-                Shape tspanShape = tspan.getShape();
-                tspanShape = xform.createTransformedShape(tspanShape);
-                textArea.add(new Area(tspanShape));
-                 
-                cursorX += tspanShape.getBounds2D().getWidth();
-                 */
-                
-                
-                Tspan tspan = (Tspan)obj;
-                tspan.setCursorX(cursorX);
-                tspan.setCursorY(cursorY);
-                tspan.addShape(textPath);
-                cursorX = tspan.getCursorX();
-                cursorY = tspan.getCursorY();
+                cursorX = (float)cursor.getX();
+                cursorY = (float)cursor.getY();
                 
             }
+
         }
-        
+
         switch (textAnchor)
         {
             case TXAN_MIDDLE:
             {
                 AffineTransform at = new AffineTransform();
-                at.translate(-textPath.getBounds2D().getWidth() / 2, 0);
+                at.translate(-textPath.getBounds().getWidth() / 2, 0);
                 textPath.transform(at);
                 break;
             }
             case TXAN_END:
             {
                 AffineTransform at = new AffineTransform();
-                at.translate(-textPath.getBounds2D().getWidth(), 0);
+                at.translate(-textPath.getBounds().getWidth(), 0);
                 textPath.transform(at);
                 break;
             }
         }
     }
-    
-    
+
+//    private void buildSysFont(java.awt.Font font) throws SVGException
+//    {
+//        GeneralPath textPath = new GeneralPath();
+//        textShape = textPath;
+//
+//        float cursorX = x, cursorY = y;
+//
+////        FontMetrics fm = g.getFontMetrics(font);
+//        FontRenderContext frc = new FontRenderContext(null, true, true);
+//
+////        FontFace fontFace = font.getFontFace();
+//        //int unitsPerEm = fontFace.getUnitsPerEm();
+////        int ascent = fm.getAscent();
+////        float fontScale = fontSize / (float)ascent;
+//
+////        AffineTransform oldXform = g.getTransform();
+//        AffineTransform xform = new AffineTransform();
+//
+//        for (Iterator it = content.iterator(); it.hasNext();)
+//        {
+//            Object obj = it.next();
+//
+//            if (obj instanceof String)
+//            {
+//                String text = (String)obj;
+//                text = text.trim();
+//
+//                Shape textShape = font.createGlyphVector(frc, text).getOutline(cursorX, cursorY);
+//                textPath.append(textShape, false);
+////                renderShape(g, textShape);
+////                g.drawString(text, cursorX, cursorY);
+//
+//                Rectangle2D rect = font.getStringBounds(text, frc);
+//                cursorX += (float) rect.getWidth();
+//            } else if (obj instanceof Tspan)
+//            {
+//                /*
+//                 Tspan tspan = (Tspan)obj;
+//                 
+//                 xform.setToIdentity();
+//                 xform.setToTranslation(cursorX, cursorY);
+//                 
+//                 Shape tspanShape = tspan.getShape();
+//                 tspanShape = xform.createTransformedShape(tspanShape);
+//                 textArea.add(new Area(tspanShape));
+//                 
+//                 cursorX += tspanShape.getBounds2D().getWidth();
+//                 */
+//
+//
+//                Tspan tspan = (Tspan)obj;
+//                Point2D cursor = new Point2D.Float(cursorX, cursorY);
+////                tspan.setCursorX(cursorX);
+////                tspan.setCursorY(cursorY);
+//                tspan.appendToShape(textPath, cursor);
+////                cursorX = tspan.getCursorX();
+////                cursorY = tspan.getCursorY();
+//                cursorX = (float)cursor.getX();
+//                cursorY = (float)cursor.getY();
+//
+//            }
+//        }
+//
+//        switch (textAnchor)
+//        {
+//            case TXAN_MIDDLE:
+//            {
+//                AffineTransform at = new AffineTransform();
+//                at.translate(-textPath.getBounds().getWidth() / 2, 0);
+//                textPath.transform(at);
+//                break;
+//            }
+//            case TXAN_END:
+//            {
+//                AffineTransform at = new AffineTransform();
+//                at.translate(-Math.ceil(textPath.getBounds().getWidth()), 0);
+//                textPath.transform(at);
+//                break;
+//            }
+//        }
+//    }
+
     public void render(Graphics2D g) throws SVGException
     {
         beginLayer(g);
         renderShape(g, textShape);
         finishLayer(g);
     }
-    
+
     public Shape getShape()
     {
         return shapeToParent(textShape);
     }
-    
+
     public Rectangle2D getBoundingBox() throws SVGException
     {
         return boundsToParent(includeStrokeInBounds(textShape.getBounds2D()));
     }
-    
+
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -440,11 +541,11 @@ public class Text extends ShapeElement
     {
 //        if (trackManager.getNumTracks() == 0) return false;
         boolean changeState = super.updateTime(curTime);
-        
+
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean shapeChange = false;
-        
+
         if (getPres(sty.setName("x")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -454,7 +555,7 @@ public class Text extends ShapeElement
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("y")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -464,7 +565,25 @@ public class Text extends ShapeElement
                 shapeChange = true;
             }
         }
-        
+
+        if (getStyle(sty.setName("textLength")))
+        {
+            textLength = sty.getFloatValueWithUnits();
+        }
+        else
+        {
+            textLength = -1;
+        }
+
+        if (getStyle(sty.setName("lengthAdjust")))
+        {
+            lengthAdjust = sty.getStringValue();
+        }
+        else
+        {
+            lengthAdjust = "spacing";
+        }
+
         if (getPres(sty.setName("font-family")))
         {
             String newVal = sty.getStringValue();
@@ -474,7 +593,7 @@ public class Text extends ShapeElement
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("font-size")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -484,8 +603,8 @@ public class Text extends ShapeElement
                 shapeChange = true;
             }
         }
-        
-        
+
+
         if (getStyle(sty.setName("font-style")))
         {
             String s = sty.getStringValue();
@@ -493,12 +612,10 @@ public class Text extends ShapeElement
             if ("normal".equals(s))
             {
                 newVal = TXST_NORMAL;
-            }
-            else if ("italic".equals(s))
+            } else if ("italic".equals(s))
             {
                 newVal = TXST_ITALIC;
-            }
-            else if ("oblique".equals(s))
+            } else if ("oblique".equals(s))
             {
                 newVal = TXST_OBLIQUE;
             }
@@ -508,7 +625,7 @@ public class Text extends ShapeElement
                 shapeChange = true;
             }
         }
-        
+
         if (getStyle(sty.setName("font-weight")))
         {
             String s = sty.getStringValue();
@@ -516,8 +633,7 @@ public class Text extends ShapeElement
             if ("normal".equals(s))
             {
                 newVal = TXWE_NORMAL;
-            }
-            else if ("bold".equals(s))
+            } else if ("bold".equals(s))
             {
                 newVal = TXWE_BOLD;
             }
@@ -527,14 +643,14 @@ public class Text extends ShapeElement
                 shapeChange = true;
             }
         }
-        
+
         if (shapeChange)
         {
             build();
 //            buildFont();
 //            return true;
         }
-        
+
         return changeState || shapeChange;
     }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/Title.java b/svg-core/src/main/java/com/kitfox/svg/Title.java
index c056297..57aa006 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Title.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Title.java
@@ -1,30 +1,38 @@
 /*
- * Stop.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on September 19, 2004, 1:56 AM
  */
-
 package com.kitfox.svg;
 
 /**
@@ -33,12 +41,22 @@ package com.kitfox.svg;
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class Title extends SVGElement {
-
+public class Title extends SVGElement
+{
+    public static final String TAG_NAME = "title";
+    
     StringBuffer text = new StringBuffer();
 
-    /** Creates a new instance of Stop */
-    public Title() {
+    /**
+     * Creates a new instance of Stop
+     */
+    public Title()
+    {
+    }
+
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
 
     /**
@@ -49,11 +67,15 @@ public class Title extends SVGElement {
         this.text.append(text);
     }
 
-    public String getText() { return text.toString(); }
-    
+    public String getText()
+    {
+        return text.toString();
+    }
+
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
diff --git a/svg-core/src/main/java/com/kitfox/svg/TransformableElement.java b/svg-core/src/main/java/com/kitfox/svg/TransformableElement.java
index b9a4375..a8f951f 100644
--- a/svg-core/src/main/java/com/kitfox/svg/TransformableElement.java
+++ b/svg-core/src/main/java/com/kitfox/svg/TransformableElement.java
@@ -1,30 +1,38 @@
 /*
- * BoundedElement.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 9:00 AM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
@@ -32,75 +40,93 @@ import java.awt.Shape;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Rectangle2D;
 
-
 /**
  * Maintains bounding box for this element
  *
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class TransformableElement extends SVGElement 
+abstract public class TransformableElement extends SVGElement
 {
-
     AffineTransform xform = null;
-//    AffineTransform invXform = null;
 
-    /** Creates a new instance of BoundedElement */
-    public TransformableElement() {
+    /**
+     * Creates a new instance of BoundedElement
+     */
+    public TransformableElement()
+    {
     }
 
     public TransformableElement(String id, SVGElement parent)
     {
         super(id, parent);
     }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
-    {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
 
-        String transform = attrs.getValue("transform");
-        if (transform != null)
-        {
-            xform = parseTransform(transform);
-        }
+    /**
+     * Fetches a copy of the cached AffineTransform. Note that this value will
+     * only be valid after the node has been updated.
+     *
+     * @return
+     */
+    public AffineTransform getXForm()
+    {
+        return xform == null ? null : new AffineTransform(xform);
     }
-*/
-    
+    /*
+     public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+     {
+     //Load style string
+     super.loaderStartElement(helper, attrs, parent);
+
+     String transform = attrs.getValue("transform");
+     if (transform != null)
+     {
+     xform = parseTransform(transform);
+     }
+     }
+     */
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
+
         if (getPres(sty.setName("transform")))
         {
             xform = parseTransform(sty.getStringValue());
         }
     }
-    
+
     protected Shape shapeToParent(Shape shape)
     {
-        if (xform == null) return shape;
+        if (xform == null)
+        {
+            return shape;
+        }
         return xform.createTransformedShape(shape);
     }
 
     protected Rectangle2D boundsToParent(Rectangle2D rect)
     {
-        if (xform == null) return rect;
+        if (xform == null)
+        {
+            return rect;
+        }
         return xform.createTransformedShape(rect).getBounds2D();
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
     public boolean updateTime(double curTime) throws SVGException
     {
         StyleAttribute sty = new StyleAttribute();
-        
+
         if (getPres(sty.setName("transform")))
         {
             AffineTransform newXform = parseTransform(sty.getStringValue());
@@ -110,7 +136,7 @@ public class TransformableElement extends SVGElement
                 return true;
             }
         }
-        
+
         return false;
     }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/Tspan.java b/svg-core/src/main/java/com/kitfox/svg/Tspan.java
index bffa6b8..0e25b2a 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Tspan.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Tspan.java
@@ -1,102 +1,125 @@
 /*
- * Stop.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 1:56 AM
  */
-
 package com.kitfox.svg;
 
+import com.kitfox.svg.util.FontSystem;
 import com.kitfox.svg.xml.StyleAttribute;
-import java.awt.*;
-import java.awt.font.*;
-import java.awt.geom.*;
-import java.util.*;
-
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
-
-//import org.apache.batik.ext.awt.geom.ExtendedGeneralPath;
+import java.awt.Graphics2D;
+import java.awt.Shape;
+import java.awt.font.FontRenderContext;
+import java.awt.font.GlyphMetrics;
+import java.awt.font.GlyphVector;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
 
 /**
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class Tspan extends ShapeElement {
+public class Tspan extends ShapeElement
+{
 
+    public static final String TAG_NAME = "tspan";
     float[] x = null;
     float[] y = null;
     float[] dx = null;
     float[] dy = null;
     float[] rotate = null;
-
     private String text = "";
-
-    float cursorX;
-    float cursorY;
+//    float cursorX;
+//    float cursorY;
 
 //    Shape tspanShape;
-
-    /** Creates a new instance of Stop */
-    public Tspan() {
-    }
-
-    public float getCursorX() { return cursorX; }
-    public float getCursorY() { return cursorY; }
-
-    public void setCursorX(float cursorX)
+    /**
+     * Creates a new instance of Stop
+     */
+    public Tspan()
     {
-        this.cursorX = cursorX;
     }
 
-    public void setCursorY(float cursorY)
+    public String getTagName()
     {
-        this.cursorY = cursorY;
+        return TAG_NAME;
     }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
-    {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        String x = attrs.getValue("x");
-        String y = attrs.getValue("y");
-        String dx = attrs.getValue("dx");
-        String dy = attrs.getValue("dy");
-        String rotate = attrs.getValue("rotate");
-
-        if (x != null) this.x = XMLParseUtil.parseFloatList(x);
-        if (y != null) this.y = XMLParseUtil.parseFloatList(y);
-        if (dx != null) this.dx = XMLParseUtil.parseFloatList(dx);
-        if (dy != null) this.dy = XMLParseUtil.parseFloatList(dy);
-        if (rotate != null)
-        {
-            this.rotate = XMLParseUtil.parseFloatList(rotate);
-            for (int i = 0; i < this.rotate.length; i++)
-                this.rotate[i] = (float)Math.toRadians(this.rotate[i]);
-        }
-    }
-    */
+
+//    public float getCursorX()
+//    {
+//        return cursorX;
+//    }
+//
+//    public float getCursorY()
+//    {
+//        return cursorY;
+//    }
+//
+//    public void setCursorX(float cursorX)
+//    {
+//        this.cursorX = cursorX;
+//    }
+//
+//    public void setCursorY(float cursorY)
+//    {
+//        this.cursorY = cursorY;
+//    }
+    /*
+     public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+     {
+     //Load style string
+     super.loaderStartElement(helper, attrs, parent);
+
+     String x = attrs.getValue("x");
+     String y = attrs.getValue("y");
+     String dx = attrs.getValue("dx");
+     String dy = attrs.getValue("dy");
+     String rotate = attrs.getValue("rotate");
+
+     if (x != null) this.x = XMLParseUtil.parseFloatList(x);
+     if (y != null) this.y = XMLParseUtil.parseFloatList(y);
+     if (dx != null) this.dx = XMLParseUtil.parseFloatList(dx);
+     if (dy != null) this.dy = XMLParseUtil.parseFloatList(dy);
+     if (rotate != null)
+     {
+     this.rotate = XMLParseUtil.parseFloatList(rotate);
+     for (int i = 0; i < this.rotate.length; i++)
+     this.rotate[i] = (float)Math.toRadians(this.rotate[i]);
+     }
+     }
+     */
 
     /**
      * Called during load process to add text scanned within a tag
@@ -106,47 +129,47 @@ public class Tspan extends ShapeElement {
         this.text += text;
     }
 
-    
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-        if (getPres(sty.setName("x"))) x = sty.getFloatList();
 
-        if (getPres(sty.setName("y"))) y = sty.getFloatList();
+        if (getPres(sty.setName("x")))
+        {
+            x = sty.getFloatList();
+        }
 
-        if (getPres(sty.setName("dx"))) dx = sty.getFloatList();
+        if (getPres(sty.setName("y")))
+        {
+            y = sty.getFloatList();
+        }
+
+        if (getPres(sty.setName("dx")))
+        {
+            dx = sty.getFloatList();
+        }
 
-        if (getPres(sty.setName("dy"))) dy = sty.getFloatList();
+        if (getPres(sty.setName("dy")))
+        {
+            dy = sty.getFloatList();
+        }
 
         if (getPres(sty.setName("rotate")))
         {
             rotate = sty.getFloatList();
             for (int i = 0; i < this.rotate.length; i++)
             {
-                rotate[i] = (float)Math.toRadians(this.rotate[i]);
+                rotate[i] = (float) Math.toRadians(this.rotate[i]);
             }
-                
+
         }
     }
-    
-    public void addShape(GeneralPath addShape) throws SVGException
-    {
-        if (x != null)
-        {
-            cursorX = x[0];
-            cursorY = y[0];
-        }
-        else if (dx != null)
-        {
-            cursorX += dx[0];
-            cursorY += dy[0];
-        }
 
+    public void appendToShape(GeneralPath addShape, Point2D cursor) throws SVGException
+    {
         StyleAttribute sty = new StyleAttribute();
-        
+
         String fontFamily = null;
         if (getStyle(sty.setName("font-family")))
         {
@@ -160,32 +183,100 @@ public class Tspan extends ShapeElement {
             fontSize = sty.getFloatValueWithUnits();
         }
 
+        float letterSpacing = 0;
+        if (getStyle(sty.setName("letter-spacing")))
+        {
+            letterSpacing = sty.getFloatValueWithUnits();
+        }
+
+        int fontStyle = 0;
+        if (getStyle(sty.setName("font-style")))
+        {
+            String s = sty.getStringValue();
+            if ("normal".equals(s))
+            {
+                fontStyle = Text.TXST_NORMAL;
+            } else if ("italic".equals(s))
+            {
+                fontStyle = Text.TXST_ITALIC;
+            } else if ("oblique".equals(s))
+            {
+                fontStyle = Text.TXST_OBLIQUE;
+            }
+        } else
+        {
+            fontStyle = Text.TXST_NORMAL;
+        }
+
+        int fontWeight = 0;
+        if (getStyle(sty.setName("font-weight")))
+        {
+            String s = sty.getStringValue();
+            if ("normal".equals(s))
+            {
+                fontWeight = Text.TXWE_NORMAL;
+            } else if ("bold".equals(s))
+            {
+                fontWeight = Text.TXWE_BOLD;
+            }
+        } else
+        {
+            fontWeight = Text.TXWE_NORMAL;
+        }
+
+
         //Get font
         Font font = diagram.getUniverse().getFont(fontFamily);
         if (font == null)
         {
-            addShapeSysFont(addShape, font, fontFamily, fontSize);
-            return;
+            font = new FontSystem(fontFamily, fontStyle, fontWeight, (int)fontSize);
+//            addShapeSysFont(addShape, font, fontFamily, fontSize, letterSpacing, cursor);
+//            return;
         }
 
         FontFace fontFace = font.getFontFace();
-        int ascent = fontFace.getAscent();
-        float fontScale = fontSize / (float)ascent;
+//        int ascent = fontFace.getAscent();
+//        float fontScale = fontSize / (float) ascent;
 
         AffineTransform xform = new AffineTransform();
 
-        strokeWidthScalar = 1f / fontScale;
+//        strokeWidthScalar = 1f / fontScale;
 
-        int posPtr = 1;
+        float cursorX = (float)cursor.getX();
+        float cursorY = (float)cursor.getY();
+    
+//        int i = 0;
 
-        for (int i = 0; i < text.length(); i++)
+        String drawText = this.text;
+        drawText = drawText.trim();
+        for (int i = 0; i < drawText.length(); i++)
         {
+            if (x != null && i < x.length)
+            {
+                cursorX = x[i];
+            } else if (dx != null && i < dx.length)
+            {
+                cursorX += dx[i];
+            }
+            
+            if (y != null && i < y.length)
+            {
+                cursorY = y[i];
+            } else if (dy != null && i < dy.length)
+            {
+                cursorY += dy[i];
+            }
+  //          i++;
+            
             xform.setToIdentity();
             xform.setToTranslation(cursorX, cursorY);
-            xform.scale(fontScale, fontScale);
-            if (rotate != null) xform.rotate(rotate[posPtr]);
+//            xform.scale(fontScale, fontScale);
+            if (rotate != null)
+            {
+                xform.rotate(rotate[i]);
+            }
 
-            String unicode = text.substring(i, i + 1);
+            String unicode = drawText.substring(i, i + 1);
             MissingGlyph glyph = font.getGlyph(unicode);
 
             Shape path = glyph.getPath();
@@ -195,74 +286,89 @@ public class Tspan extends ShapeElement {
                 addShape.append(path, false);
             }
 
-            if (x != null && posPtr < x.length)
-            {
-                cursorX = x[posPtr];
-                cursorY = y[posPtr++];
-            }
-            else if (dx != null && posPtr < dx.length)
-            {
-                cursorX += dx[posPtr];
-                cursorY += dy[posPtr++];
-            }
-
-            cursorX += fontScale * glyph.getHorizAdvX();
+//            cursorX += fontScale * glyph.getHorizAdvX() + letterSpacing;
+            cursorX += glyph.getHorizAdvX() + letterSpacing;
         }
 
+        //Save final draw point so calling method knows where to begin next
+        // text draw
+        cursor.setLocation(cursorX, cursorY);
         strokeWidthScalar = 1f;
     }
 
-    private void addShapeSysFont(GeneralPath addShape, Font font, String fontFamily, float fontSize)
-    {
-        java.awt.Font sysFont = new java.awt.Font(fontFamily, java.awt.Font.PLAIN, (int)fontSize);
-
-        FontRenderContext frc = new FontRenderContext(null, true, true);
-        GlyphVector textVector = sysFont.createGlyphVector(frc, text);
-
-        AffineTransform xform = new AffineTransform();
-
-        int posPtr = 1;
-        for (int i = 0; i < text.length(); i++)
-        {
-            xform.setToIdentity();
-            xform.setToTranslation(cursorX, cursorY);
-            if (rotate != null) xform.rotate(rotate[Math.min(i, rotate.length - 1)]);
-
-            String unicode = text.substring(i, i + 1);
-            Shape glyphOutline = textVector.getGlyphOutline(i);
-            GlyphMetrics glyphMetrics = textVector.getGlyphMetrics(i);
-
-            glyphOutline = xform.createTransformedShape(glyphOutline);
-            addShape.append(glyphOutline, false);
-
-            if (x != null && posPtr < x.length)
-            {
-                cursorX = x[posPtr];
-                cursorY = y[posPtr++];
-            }
-            else if (dx != null && posPtr < dx.length)
-            {
-                cursorX += dx[posPtr];
-                cursorY += dy[posPtr++];
-            }
-        }
-    }
+//    private void addShapeSysFont(GeneralPath addShape, Font font,
+//        String fontFamily, float fontSize, float letterSpacing, Point2D cursor)
+//    {
+//
+//        java.awt.Font sysFont = new java.awt.Font(fontFamily, java.awt.Font.PLAIN, (int) fontSize);
+//
+//        FontRenderContext frc = new FontRenderContext(null, true, true);
+//        String renderText = this.text.trim();
+//
+//        AffineTransform xform = new AffineTransform();
+//
+//        float cursorX = (float)cursor.getX();
+//        float cursorY = (float)cursor.getY();
+////        int i = 0;
+//        for (int i = 0; i < renderText.length(); i++)
+//        {
+//            if (x != null && i < x.length)
+//            {
+//                cursorX = x[i];
+//            } else if (dx != null && i < dx.length)
+//            {
+//                cursorX += dx[i];
+//            }
+//
+//            if (y != null && i < y.length)
+//            {
+//                cursorY = y[i];
+//            } else if (dy != null && i < dy.length)
+//            {
+//                cursorY += dy[i];
+//            }
+////            i++;
+//            
+//            xform.setToIdentity();
+//            xform.setToTranslation(cursorX, cursorY);
+//            if (rotate != null)
+//            {
+//                xform.rotate(rotate[Math.min(i, rotate.length - 1)]);
+//            }
+//
+////            String unicode = renderText.substring(i, i + 1);
+//            GlyphVector textVector = sysFont.createGlyphVector(frc, renderText.substring(i, i + 1));
+//            Shape glyphOutline = textVector.getGlyphOutline(0);
+//            GlyphMetrics glyphMetrics = textVector.getGlyphMetrics(0);
+//
+//            glyphOutline = xform.createTransformedShape(glyphOutline);
+//            addShape.append(glyphOutline, false);
+//
+//
+////            cursorX += fontScale * glyph.getHorizAdvX() + letterSpacing;
+//            cursorX += glyphMetrics.getAdvance() + letterSpacing;
+//        }
+//        
+//        cursor.setLocation(cursorX, cursorY);
+//    }
 
     public void render(Graphics2D g) throws SVGException
     {
+        float cursorX = 0;
+        float cursorY = 0;
+    
         if (x != null)
         {
             cursorX = x[0];
             cursorY = y[0];
-        }
-        else if (dx != null)
+        } else if (dx != null)
         {
             cursorX += dx[0];
             cursorY += dy[0];
         }
 
         StyleAttribute sty = new StyleAttribute();
-        
+
         String fontFamily = null;
         if (getPres(sty.setName("font-family")))
         {
@@ -281,7 +387,7 @@ public class Tspan extends ShapeElement {
         if (font == null)
         {
             System.err.println("Could not load font");
-            java.awt.Font sysFont = new java.awt.Font(fontFamily, java.awt.Font.PLAIN, (int)fontSize);
+            java.awt.Font sysFont = new java.awt.Font(fontFamily, java.awt.Font.PLAIN, (int) fontSize);
             renderSysFont(g, sysFont);
             return;
         }
@@ -289,7 +395,7 @@ public class Tspan extends ShapeElement {
 
         FontFace fontFace = font.getFontFace();
         int ascent = fontFace.getAscent();
-        float fontScale = fontSize / (float)ascent;
+        float fontScale = fontSize / (float) ascent;
 
         AffineTransform oldXform = g.getTransform();
         AffineTransform xform = new AffineTransform();
@@ -311,15 +417,16 @@ public class Tspan extends ShapeElement {
             if (path != null)
             {
                 renderShape(g, path);
+            } else
+            {
+                glyph.render(g);
             }
-            else glyph.render(g);
 
             if (x != null && posPtr < x.length)
             {
                 cursorX = x[posPtr];
                 cursorY = y[posPtr++];
-            }
-            else if (dx != null && posPtr < dx.length)
+            } else if (dx != null && posPtr < dx.length)
             {
                 cursorX += dx[posPtr];
                 cursorY += dy[posPtr++];
@@ -335,13 +442,16 @@ public class Tspan extends ShapeElement {
 
     protected void renderSysFont(Graphics2D g, java.awt.Font font) throws SVGException
     {
+        float cursorX = 0;
+        float cursorY = 0;
+    
         int posPtr = 1;
         FontRenderContext frc = g.getFontRenderContext();
 
         Shape textShape = font.createGlyphVector(frc, text).getOutline(cursorX, cursorY);
         renderShape(g, textShape);
         Rectangle2D rect = font.getStringBounds(text, frc);
-        cursorX += (float)rect.getWidth();
+        cursorX += (float) rect.getWidth();
     }
 
     public Shape getShape()
@@ -357,8 +467,9 @@ public class Tspan extends ShapeElement {
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
diff --git a/svg-core/src/main/java/com/kitfox/svg/Use.java b/svg-core/src/main/java/com/kitfox/svg/Use.java
index 3229482..4219c6e 100644
--- a/svg-core/src/main/java/com/kitfox/svg/Use.java
+++ b/svg-core/src/main/java/com/kitfox/svg/Use.java
@@ -1,30 +1,38 @@
 /*
- * LinearGradient.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 1:54 AM
  */
-
 package com.kitfox.svg;
 
 import com.kitfox.svg.xml.StyleAttribute;
@@ -38,81 +46,68 @@ import java.net.URI;
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class Use extends ShapeElement {
-
+public class Use extends ShapeElement
+{
+    public static final String TAG_NAME = "use";
+    
     float x = 0f;
     float y = 0f;
     float width = 1f;
     float height = 1f;
-
-    SVGElement href = null;
-
+//    SVGElement href = null;
+    URI href = null;
     AffineTransform refXform;
 
-    /** Creates a new instance of LinearGradient */
-    public Use() {
-    }
-/*
-    public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+    /**
+     * Creates a new instance of LinearGradient
+     */
+    public Use()
     {
-		//Load style string
-        super.loaderStartElement(helper, attrs, parent);
-
-        String x = attrs.getValue("x");
-        String y = attrs.getValue("y");
-        String width = attrs.getValue("width");
-        String height = attrs.getValue("height");
-        String href = attrs.getValue("xlink:href");
-
-        if (x != null) this.x = (float)XMLParseUtil.parseRatio(x);
-        if (y != null) this.y = (float)XMLParseUtil.parseRatio(y);
-        if (width != null) this.width = (float)XMLParseUtil.parseRatio(width);
-        if (height != null) this.height = (float)XMLParseUtil.parseRatio(height);
-
-
-        if (href != null)
-        {
-            try {
-                URI src = getXMLBase().resolve(href);
-                this.href = helper.universe.getElement(src);
-            }
-            catch (Exception e)
-            {
-                e.printStackTrace();
-            }
-        }
+    }
 
-        //Determine use offset/scale
-        refXform = new AffineTransform();
-        refXform.translate(this.x, this.y);
-        refXform.scale(this.width, this.height);
+    public String getTagName()
+    {
+        return TAG_NAME;
     }
-*/
+
     protected void build() throws SVGException
     {
         super.build();
-        
+
         StyleAttribute sty = new StyleAttribute();
-        
-        if (getPres(sty.setName("x"))) x = sty.getFloatValueWithUnits();
 
-        if (getPres(sty.setName("y"))) y = sty.getFloatValueWithUnits();
+        if (getPres(sty.setName("x")))
+        {
+            x = sty.getFloatValueWithUnits();
+        }
 
-        if (getPres(sty.setName("width"))) width = sty.getFloatValueWithUnits();
+        if (getPres(sty.setName("y")))
+        {
+            y = sty.getFloatValueWithUnits();
+        }
+
+        if (getPres(sty.setName("width")))
+        {
+            width = sty.getFloatValueWithUnits();
+        }
 
-        if (getPres(sty.setName("height"))) height = sty.getFloatValueWithUnits();
+        if (getPres(sty.setName("height")))
+        {
+            height = sty.getFloatValueWithUnits();
+        }
 
         if (getPres(sty.setName("xlink:href")))
         {
             URI src = sty.getURIValue(getXMLBase());
-            href = diagram.getUniverse().getElement(src);
+            href = src;
+//            href = diagram.getUniverse().getElement(src);
         }
-        
+
         //Determine use offset/scale
         refXform = new AffineTransform();
         refXform.translate(this.x, this.y);
     }
-    
+
     public void render(Graphics2D g) throws SVGException
     {
         beginLayer(g);
@@ -121,9 +116,14 @@ public class Use extends ShapeElement {
         AffineTransform oldXform = g.getTransform();
         g.transform(refXform);
 
-        if (href == null || !(href instanceof RenderableElement)) return;
+        SVGElement ref = diagram.getUniverse().getElement(href);
+
+        if (ref == null || !(ref instanceof RenderableElement))
+        {
+            return;
+        }
 
-        RenderableElement rendEle = (RenderableElement)href;
+        RenderableElement rendEle = (RenderableElement)ref;
         rendEle.pushParentContext(this);
         rendEle.render(g);
         rendEle.popParentContext();
@@ -135,9 +135,10 @@ public class Use extends ShapeElement {
 
     public Shape getShape()
     {
-        if (href instanceof ShapeElement)
+        SVGElement ref = diagram.getUniverse().getElement(href);
+        if (ref instanceof ShapeElement)
         {
-            Shape shape = ((ShapeElement)href).getShape();
+            Shape shape = ((ShapeElement) ref).getShape();
             shape = refXform.createTransformedShape(shape);
             shape = shapeToParent(shape);
             return shape;
@@ -148,13 +149,14 @@ public class Use extends ShapeElement {
 
     public Rectangle2D getBoundingBox() throws SVGException
     {
-        if (href instanceof ShapeElement)
+        SVGElement ref = diagram.getUniverse().getElement(href);
+        if (ref instanceof ShapeElement)
         {
-            ShapeElement shapeEle = (ShapeElement)href;
+            ShapeElement shapeEle = (ShapeElement) ref;
             shapeEle.pushParentContext(this);
             Rectangle2D bounds = shapeEle.getBoundingBox();
             shapeEle.popParentContext();
-            
+
             bounds = refXform.createTransformedShape(bounds).getBounds2D();
             bounds = boundsToParent(bounds);
 
@@ -165,8 +167,9 @@ public class Use extends ShapeElement {
     }
 
     /**
-     * Updates all attributes in this diagram associated with a time event.
-     * Ie, all attributes with track information.
+     * Updates all attributes in this diagram associated with a time event. Ie,
+     * all attributes with track information.
+     *
      * @return - true if this node has changed state as a result of the time
      * update
      */
@@ -178,7 +181,7 @@ public class Use extends ShapeElement {
         //Get current values for parameters
         StyleAttribute sty = new StyleAttribute();
         boolean shapeChange = false;
-        
+
         if (getPres(sty.setName("x")))
         {
             float newVal = sty.getFloatValueWithUnits();
@@ -218,29 +221,29 @@ public class Use extends ShapeElement {
                 shapeChange = true;
             }
         }
-        
+
         if (getPres(sty.setName("xlink:href")))
         {
             URI src = sty.getURIValue(getXMLBase());
-            SVGElement newVal = diagram.getUniverse().getElement(src);
-            if (newVal != href)
+//            SVGElement newVal = diagram.getUniverse().getElement(src);
+            if (!src.equals(href))
             {
-                href = newVal;
+                href = src;
                 shapeChange = true;
             }
         }
-/*
-        if (getPres(sty.setName("xlink:href")))
-        {
-            URI src = sty.getURIValue(getXMLBase());
-            href = diagram.getUniverse().getElement(src);
-        }
+        /*
+         if (getPres(sty.setName("xlink:href")))
+         {
+         URI src = sty.getURIValue(getXMLBase());
+         href = diagram.getUniverse().getElement(src);
+         }
         
-        //Determine use offset/scale
-        refXform = new AffineTransform();
-        refXform.translate(this.x, this.y);
-        refXform.scale(this.width, this.height);
-*/        
+         //Determine use offset/scale
+         refXform = new AffineTransform();
+         refXform.translate(this.x, this.y);
+         refXform.scale(this.width, this.height);
+         */
         if (shapeChange)
         {
             build();
@@ -249,7 +252,7 @@ public class Use extends ShapeElement {
 //            refXform.scale(this.width, this.height);
 //            return true;
         }
-        
+
         return changeState || shapeChange;
     }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/AnimTimeParser.jjt b/svg-core/src/main/java/com/kitfox/svg/animation/AnimTimeParser.jjt
index c538738..4b01b5c 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/AnimTimeParser.jjt
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/AnimTimeParser.jjt
@@ -1,4 +1,35 @@
 /**
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  */
 
 
@@ -11,9 +42,17 @@ PARSER_BEGIN(AnimTimeParser)
 
 package com.kitfox.svg.animation.parser;
 
-import java.util.*;
-import java.io.*;
-import com.kitfox.svg.animation.*;
+import com.kitfox.svg.SVGConst;
+import com.kitfox.svg.animation.TimeBase;
+import com.kitfox.svg.animation.TimeCompound;
+import com.kitfox.svg.animation.TimeDiscrete;
+import com.kitfox.svg.animation.TimeIndefinite;
+import com.kitfox.svg.animation.TimeLookup;
+import com.kitfox.svg.animation.TimeSum;
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 public class AnimTimeParser 
 {
@@ -252,15 +291,25 @@ double Number() :
 {
     t=<FLOAT> 
     {
-        try { return Double.parseDouble(t.image); }
-        catch (Exception e) { e.printStackTrace(); }
+        try {
+            return Double.parseDouble(t.image);
+        }
+        catch (Exception e) {
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, 
+                "Could not parse double '" + t.image + "'", e);
+        }
         
         return 0.0;
     }
     | t=<INTEGER>
     {
-        try { return Double.parseDouble(t.image); }
-        catch (Exception e) { e.printStackTrace(); }
+        try {
+            return Double.parseDouble(t.image);
+        }
+        catch (Exception e) {
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, 
+                "Could not parse double '" + t.image + "'", e);
+        }
         
         return 0.0;
     }
@@ -273,8 +322,13 @@ int Integer() :
 {
     t=<INTEGER>
     {
-        try { return Integer.parseInt(t.image); }
-        catch (Exception e) { e.printStackTrace(); }
+        try {
+            return Integer.parseInt(t.image);
+        }
+        catch (Exception e) {
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, 
+                "Could not parse int '" + t.image + "'", e);
+        }
         
         return 0;
     }
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/Animate.java b/svg-core/src/main/java/com/kitfox/svg/animation/Animate.java
index df34437..b0e59e2 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/Animate.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/Animate.java
@@ -1,31 +1,42 @@
 /*
- * Animate.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on August 15, 2004, 2:51 AM
  */
 
 package com.kitfox.svg.animation;
 
+import com.kitfox.svg.SVGConst;
 import com.kitfox.svg.SVGElement;
 import com.kitfox.svg.SVGException;
 import com.kitfox.svg.SVGLoaderHelper;
@@ -37,6 +48,8 @@ import java.awt.Color;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.GeneralPath;
 import java.awt.geom.PathIterator;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -50,28 +63,35 @@ import org.xml.sax.SAXException;
  */
 public class Animate extends AnimateBase implements AnimateColorIface
 {
+    public static final String TAG_NAME = "animate";
+    
 //    StyleAttribute retAttrib = new StyleAttribute
     public static final int DT_REAL = 0;
     public static final int DT_COLOR = 1;
     public static final int DT_PATH = 2;
     int dataType = DT_REAL;
     
-    protected double fromValue = Double.NaN;
-    protected double toValue = Double.NaN;
-    protected double byValue = Double.NaN;
-    protected double[] valuesValue;
+    private double fromValue = Double.NaN;
+    private double toValue = Double.NaN;
+    private double byValue = Double.NaN;
+    private double[] valuesValue;
     
-    protected Color fromColor = null;
-    protected Color toColor = null;
+    private Color fromColor = null;
+    private Color toColor = null;
 
-    protected GeneralPath fromPath = null;
-    protected GeneralPath toPath = null;
+    private GeneralPath fromPath = null;
+    private GeneralPath toPath = null;
 
     /** Creates a new instance of Animate */
     public Animate()
     {
     }
-    
+
+    public String getTagName()
+    {
+        return TAG_NAME;
+    }
+
     public int getDataType()
     {
         return dataType;
@@ -180,6 +200,21 @@ public class Animate extends AnimateBase implements AnimateColorIface
         {
             return byValue * interp;
         }
+        else if (toExists)
+        {
+            StyleAttribute style = new StyleAttribute(getAttribName());
+            try
+            {
+                getParent().getStyle(style, true, false);
+            }
+            catch (SVGException ex)
+            {
+                Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, 
+                    "Could not get from value", ex);
+            }
+            double from = style.getDoubleValue();
+            return toValue * interp + from * (1.0 - interp);
+        }
   
         //Should not reach this line
         throw new RuntimeException("Animate tag could not be evalutated - insufficient arguements");
@@ -273,7 +308,7 @@ public class Animate extends AnimateBase implements AnimateColorIface
             float[] coordsFrom = new float[6];
             float[] coordsTo = new float[6];
             
-            for (; !itFrom.isDone(); itFrom.next())
+            for (; !itFrom.isDone(); itFrom.next(), itTo.next())
             {
                 int segFrom = itFrom.currentSegment(coordsFrom);
                 int segTo = itTo.currentSegment(coordsTo);
@@ -415,5 +450,133 @@ public class Animate extends AnimateBase implements AnimateColorIface
             if (strn != null) valuesValue = XMLParseUtil.parseDoubleList(strn);
         }
     }
+
+    /**
+     * @return the fromValue
+     */
+    public double getFromValue()
+    {
+        return fromValue;
+    }
+
+    /**
+     * @param fromValue the fromValue to set
+     */
+    public void setFromValue(double fromValue)
+    {
+        this.fromValue = fromValue;
+    }
+
+    /**
+     * @return the toValue
+     */
+    public double getToValue()
+    {
+        return toValue;
+    }
+
+    /**
+     * @param toValue the toValue to set
+     */
+    public void setToValue(double toValue)
+    {
+        this.toValue = toValue;
+    }
+
+    /**
+     * @return the byValue
+     */
+    public double getByValue()
+    {
+        return byValue;
+    }
+
+    /**
+     * @param byValue the byValue to set
+     */
+    public void setByValue(double byValue)
+    {
+        this.byValue = byValue;
+    }
+
+    /**
+     * @return the valuesValue
+     */
+    public double[] getValuesValue()
+    {
+        return valuesValue;
+    }
+
+    /**
+     * @param valuesValue the valuesValue to set
+     */
+    public void setValuesValue(double[] valuesValue)
+    {
+        this.valuesValue = valuesValue;
+    }
+
+    /**
+     * @return the fromColor
+     */
+    public Color getFromColor()
+    {
+        return fromColor;
+    }
+
+    /**
+     * @param fromColor the fromColor to set
+     */
+    public void setFromColor(Color fromColor)
+    {
+        this.fromColor = fromColor;
+    }
+
+    /**
+     * @return the toColor
+     */
+    public Color getToColor()
+    {
+        return toColor;
+    }
+
+    /**
+     * @param toColor the toColor to set
+     */
+    public void setToColor(Color toColor)
+    {
+        this.toColor = toColor;
+    }
+
+    /**
+     * @return the fromPath
+     */
+    public GeneralPath getFromPath()
+    {
+        return fromPath;
+    }
+
+    /**
+     * @param fromPath the fromPath to set
+     */
+    public void setFromPath(GeneralPath fromPath)
+    {
+        this.fromPath = fromPath;
+    }
+
+    /**
+     * @return the toPath
+     */
+    public GeneralPath getToPath()
+    {
+        return toPath;
+    }
+
+    /**
+     * @param toPath the toPath to set
+     */
+    public void setToPath(GeneralPath toPath)
+    {
+        this.toPath = toPath;
+    }
     
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/AnimateBase.java b/svg-core/src/main/java/com/kitfox/svg/animation/AnimateBase.java
index 59c551f..d1cf624 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/AnimateBase.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/AnimateBase.java
@@ -1,31 +1,42 @@
 /*
- * Animate.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on August 15, 2004, 2:51 AM
  */
 
 package com.kitfox.svg.animation;
 
+import com.kitfox.svg.SVGConst;
 import com.kitfox.svg.SVGElement;
 import com.kitfox.svg.SVGException;
 import com.kitfox.svg.SVGLoaderHelper;
@@ -33,6 +44,8 @@ import com.kitfox.svg.animation.parser.AnimTimeParser;
 import com.kitfox.svg.animation.parser.ParseException;
 import com.kitfox.svg.xml.StyleAttribute;
 import java.io.StringReader;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -42,8 +55,8 @@ import org.xml.sax.SAXException;
  */
 abstract public class AnimateBase extends AnimationElement
 {
-    protected double repeatCount = Double.NaN;
-    protected TimeBase repeatDur;
+    private double repeatCount = Double.NaN;
+    private TimeBase repeatDur;
     
     /** Creates a new instance of Animate */
     public AnimateBase()
@@ -104,10 +117,14 @@ abstract public class AnimateBase extends AnimationElement
             if (strn != null)
             {
                 animTimeParser.ReInit(new StringReader(strn));
-                try {
+                try
+                {
                     this.repeatDur = animTimeParser.Expr();
-                } catch (ParseException ex) {
-                    ex.printStackTrace();
+                }
+                catch (ParseException ex)
+                {
+                    Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, 
+                        "Could not parse '" + strn + "'", ex);
                 }
             }
         }
@@ -130,4 +147,36 @@ abstract public class AnimateBase extends AnimationElement
             }
         }
     }
+
+    /**
+     * @return the repeatCount
+     */
+    public double getRepeatCount()
+    {
+        return repeatCount;
+    }
+
+    /**
+     * @param repeatCount the repeatCount to set
+     */
+    public void setRepeatCount(double repeatCount)
+    {
+        this.repeatCount = repeatCount;
+    }
+
+    /**
+     * @return the repeatDur
+     */
+    public TimeBase getRepeatDur()
+    {
+        return repeatDur;
+    }
+
+    /**
+     * @param repeatDur the repeatDur to set
+     */
+    public void setRepeatDur(TimeBase repeatDur)
+    {
+        this.repeatDur = repeatDur;
+    }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/AnimateColor.java b/svg-core/src/main/java/com/kitfox/svg/animation/AnimateColor.java
index 4f39f02..351c8d0 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/AnimateColor.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/AnimateColor.java
@@ -1,25 +1,35 @@
 /*
- * Animate.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on August 15, 2004, 2:51 AM
  */
@@ -43,15 +53,22 @@ import org.xml.sax.SAXException;
  */
 public class AnimateColor extends AnimateBase implements AnimateColorIface
 {
+    public static final String TAG_NAME = "animateColor";
     
-    protected Color fromValue;
-    protected Color toValue;
+    
+    private Color fromValue;
+    private Color toValue;
     
     /** Creates a new instance of Animate */
     public AnimateColor()
     {
     }
-    
+
+    public String getTagName()
+    {
+        return TAG_NAME;
+    }
+
     public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent) throws SAXException
     {
 		//Load style string
@@ -102,4 +119,36 @@ public class AnimateColor extends AnimateBase implements AnimateColorIface
             toValue = ColorTable.parseColor(strn);
         }
     }
+
+    /**
+     * @return the fromValue
+     */
+    public Color getFromValue()
+    {
+        return fromValue;
+    }
+
+    /**
+     * @param fromValue the fromValue to set
+     */
+    public void setFromValue(Color fromValue)
+    {
+        this.fromValue = fromValue;
+    }
+
+    /**
+     * @return the toValue
+     */
+    public Color getToValue()
+    {
+        return toValue;
+    }
+
+    /**
+     * @param toValue the toValue to set
+     */
+    public void setToValue(Color toValue)
+    {
+        this.toValue = toValue;
+    }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/AnimateColorIface.java b/svg-core/src/main/java/com/kitfox/svg/animation/AnimateColorIface.java
index a9b59d1..0440e8b 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/AnimateColorIface.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/AnimateColorIface.java
@@ -1,25 +1,35 @@
 /*
- * AnimateColorIface.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 16, 2005, 6:24 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/AnimateMotion.java b/svg-core/src/main/java/com/kitfox/svg/animation/AnimateMotion.java
index 97a84b3..c2b2b9b 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/AnimateMotion.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/AnimateMotion.java
@@ -1,25 +1,35 @@
 /*
- * Animate.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on August 15, 2004, 2:51 AM
  */
@@ -49,13 +59,15 @@ import org.xml.sax.SAXException;
  */
 public class AnimateMotion extends AnimateXform
 {
+    public static final String TAG_NAME = "animateMotion";
+    
     static final Matcher matchPoint = Pattern.compile("\\s*(\\d+)[^\\d]+(\\d+)\\s*").matcher("");
     
 //    protected double fromValue;
 //    protected double toValue;
-    GeneralPath path;
-    int rotateType = RT_ANGLE;
-    double rotate;  //Static angle to rotate by
+    private GeneralPath path;
+    private int rotateType = RT_ANGLE;
+    private double rotate;  //Static angle to rotate by
     
     public static final int RT_ANGLE = 0;  //Rotate by constant 'rotate' degrees
     public static final int RT_AUTO = 1;  //Rotate to reflect tangent of position on path
@@ -67,7 +79,12 @@ public class AnimateMotion extends AnimateXform
     public AnimateMotion()
     {
     }
-    
+
+    public String getTagName()
+    {
+        return TAG_NAME;
+    }
+
     public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent) throws SAXException
     {
 		//Load style string
@@ -78,7 +95,7 @@ public class AnimateMotion extends AnimateXform
         {
             attribName = "transform";
             attribType = AT_AUTO;
-            additiveType = AD_SUM;
+            setAdditiveType(AD_SUM);
         }
         
 
@@ -279,4 +296,52 @@ public class AnimateMotion extends AnimateXform
         
         buildPath(from, to);
     }
+
+    /**
+     * @return the path
+     */
+    public GeneralPath getPath()
+    {
+        return path;
+    }
+
+    /**
+     * @param path the path to set
+     */
+    public void setPath(GeneralPath path)
+    {
+        this.path = path;
+    }
+
+    /**
+     * @return the rotateType
+     */
+    public int getRotateType()
+    {
+        return rotateType;
+    }
+
+    /**
+     * @param rotateType the rotateType to set
+     */
+    public void setRotateType(int rotateType)
+    {
+        this.rotateType = rotateType;
+    }
+
+    /**
+     * @return the rotate
+     */
+    public double getRotate()
+    {
+        return rotate;
+    }
+
+    /**
+     * @param rotate the rotate to set
+     */
+    public void setRotate(double rotate)
+    {
+        this.rotate = rotate;
+    }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/AnimateTransform.java b/svg-core/src/main/java/com/kitfox/svg/animation/AnimateTransform.java
index 61d73b2..eaeb6b2 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/AnimateTransform.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/AnimateTransform.java
@@ -1,25 +1,35 @@
 /*
- * Animate.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on August 15, 2004, 2:51 AM
  */
@@ -44,17 +54,19 @@ import org.xml.sax.SAXException;
  */
 public class AnimateTransform extends AnimateXform
 {
+    public static final String TAG_NAME = "animateTransform";
+    
 //    protected AffineTransform fromValue;
 //    protected AffineTransform toValue;
 //    protected double[] fromValue;  //Transform parameters
 //    protected double[] toValue;
-    protected double[][] values;
-    protected double[] keyTimes;
+    private double[][] values;
+    private double[] keyTimes;
 
     public static final int AT_REPLACE = 0;
     public static final int AT_SUM = 1;
 
-    protected int additive = AT_REPLACE;
+    private int additive = AT_REPLACE;
 
     public static final int TR_TRANSLATE = 0;
     public static final int TR_ROTATE = 1;
@@ -63,13 +75,18 @@ public class AnimateTransform extends AnimateXform
     public static final int TR_SKEWX = 4;
     public static final int TR_INVALID = 5;
 
-    protected int xformType = TR_INVALID;
+    private int xformType = TR_INVALID;
 
     /** Creates a new instance of Animate */
     public AnimateTransform()
     {
     }
 
+    public String getTagName()
+    {
+        return TAG_NAME;
+    }
+
     public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent) throws SAXException
     {
 		//Load style string
@@ -182,8 +199,14 @@ public class AnimateTransform extends AnimateXform
         {
             case TR_TRANSLATE:
             {
-                double x = (1.0 - interp) * fromValue[0] + interp * toValue[0];
-                double y = (1.0 - interp) * fromValue[1] + interp * toValue[1];
+                double x0 = fromValue.length >= 1 ? fromValue[0] : 0;
+                double x1 = toValue.length >= 1 ? toValue[0] : 0;
+                double y0 = fromValue.length >= 2 ? fromValue[1] : 0;
+                double y1 = toValue.length >= 2 ? toValue[1] : 0;
+                
+                double x = lerp(x0, x1, interp);
+                double y = lerp(y0, y1, interp);
+                
                 xform.setToTranslation(x, y);
                 break;
             }
@@ -194,28 +217,33 @@ public class AnimateTransform extends AnimateXform
                 double x2 = toValue.length == 3 ? toValue[1] : 0;
                 double y2 = toValue.length == 3 ? toValue[2] : 0;
                 
-                double theta = (1.0 - interp) * fromValue[0] + interp * toValue[0];
-                double x = (1.0 - interp) * x1 + interp * x2;
-                double y = (1.0 - interp) * y1 + interp * y2;
+                double theta = lerp(fromValue[0], toValue[0], interp);
+                double x = lerp(x1, x2, interp);
+                double y = lerp(y1, y2, interp);
                 xform.setToRotation(Math.toRadians(theta), x, y);
                 break;
             }
             case TR_SCALE:
             {
-                double x = (1.0 - interp) * fromValue[0] + interp * toValue[0];
-                double y = (1.0 - interp) * fromValue[1] + interp * toValue[1];
+                double x0 = fromValue.length >= 1 ? fromValue[0] : 1;
+                double x1 = toValue.length >= 1 ? toValue[0] : 1;
+                double y0 = fromValue.length >= 2 ? fromValue[1] : 1;
+                double y1 = toValue.length >= 2 ? toValue[1] : 1;
+                
+                double x = lerp(x0, x1, interp);
+                double y = lerp(y0, y1, interp);
                 xform.setToScale(x, y);
                 break;
             }
             case TR_SKEWX:
             {
-                double x = (1.0 - interp) * fromValue[0] + interp * toValue[0];
+                double x = lerp(fromValue[0], toValue[0], interp);
                 xform.setToShear(Math.toRadians(x), 0.0);
                 break;
             }
             case TR_SKEWY:
             {
-                double y = (1.0 - interp) * fromValue[0] + interp * toValue[0];
+                double y = lerp(fromValue[0], toValue[0], interp);
                 xform.setToShear(0.0, Math.toRadians(y));
                 break;
             }
@@ -299,4 +327,68 @@ public class AnimateTransform extends AnimateXform
             if (strn.equals("sum")) this.additive = AT_SUM;
         }
     }
+
+    /**
+     * @return the values
+     */
+    public double[][] getValues()
+    {
+        return values;
+    }
+
+    /**
+     * @param values the values to set
+     */
+    public void setValues(double[][] values)
+    {
+        this.values = values;
+    }
+
+    /**
+     * @return the keyTimes
+     */
+    public double[] getKeyTimes()
+    {
+        return keyTimes;
+    }
+
+    /**
+     * @param keyTimes the keyTimes to set
+     */
+    public void setKeyTimes(double[] keyTimes)
+    {
+        this.keyTimes = keyTimes;
+    }
+
+    /**
+     * @return the additive
+     */
+    public int getAdditive()
+    {
+        return additive;
+    }
+
+    /**
+     * @param additive the additive to set
+     */
+    public void setAdditive(int additive)
+    {
+        this.additive = additive;
+    }
+
+    /**
+     * @return the xformType
+     */
+    public int getXformType()
+    {
+        return xformType;
+    }
+
+    /**
+     * @param xformType the xformType to set
+     */
+    public void setXformType(int xformType)
+    {
+        this.xformType = xformType;
+    }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/AnimateXform.java b/svg-core/src/main/java/com/kitfox/svg/animation/AnimateXform.java
index f9d0240..491fdac 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/AnimateXform.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/AnimateXform.java
@@ -1,25 +1,35 @@
 /*
- * AnimateXform.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 14, 2005, 6:46 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/AnimationElement.java b/svg-core/src/main/java/com/kitfox/svg/animation/AnimationElement.java
index 7387bca..2ab4535 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/AnimationElement.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/AnimationElement.java
@@ -1,31 +1,42 @@
 /*
- * AnimateEle.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on August 15, 2004, 2:52 AM
  */
 
 package com.kitfox.svg.animation;
 
+import com.kitfox.svg.SVGConst;
 import com.kitfox.svg.SVGElement;
 import com.kitfox.svg.SVGException;
 import com.kitfox.svg.SVGLoaderHelper;
@@ -33,6 +44,8 @@ import com.kitfox.svg.animation.parser.AnimTimeParser;
 import com.kitfox.svg.animation.parser.ParseException;
 import com.kitfox.svg.xml.StyleAttribute;
 import java.io.StringReader;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -51,10 +64,10 @@ public abstract class AnimationElement extends SVGElement
     public static final int AT_XML = 1;
     public static final int AT_AUTO = 2;  //Check CSS first, then XML
 
-    protected TimeBase beginTime;
-    protected TimeBase durTime;
-    protected TimeBase endTime;
-    protected int fillType = FT_AUTO;
+    private TimeBase beginTime;
+    private TimeBase durTime;
+    private TimeBase endTime;
+    private int fillType = FT_AUTO;
 
     /** <a href="http://www.w3.org/TR/smil20/smil-timing.html#adef-fill">More about the <b>fill</b> attribute</a> */
     public static final int FT_REMOVE = 0;
@@ -68,13 +81,13 @@ public abstract class AnimationElement extends SVGElement
     public static final int AD_REPLACE = 0;
     public static final int AD_SUM = 1;
 
-    int additiveType = AD_REPLACE;
+    private int additiveType = AD_REPLACE;
     
     /** Accumlative state */
     public static final int AC_REPLACE = 0;
     public static final int AC_SUM = 1;
 
-    int accumulateType = AC_REPLACE;
+    private int accumulateType = AC_REPLACE;
 
     /** Creates a new instance of AnimateEle */
     public AnimationElement()
@@ -359,7 +372,8 @@ public abstract class AnimationElement extends SVGElement
             try {
                 this.beginTime = animTimeParser.Expr();
             } catch (ParseException ex) {
-                ex.printStackTrace();
+                    Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, 
+                        "Could not parse '" + newVal + "'", ex);
             }
         }
 
@@ -370,7 +384,8 @@ public abstract class AnimationElement extends SVGElement
             try {
                 this.durTime = animTimeParser.Expr();
             } catch (ParseException ex) {
-                ex.printStackTrace();
+                    Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, 
+                        "Could not parse '" + newVal + "'", ex);
             }
         }
 
@@ -381,7 +396,8 @@ public abstract class AnimationElement extends SVGElement
             try {
                 this.endTime = animTimeParser.Expr();
             } catch (ParseException ex) {
-                ex.printStackTrace();
+                Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, 
+                    "Could not parse '" + newVal + "'", ex);
             }
         }
 
@@ -411,4 +427,84 @@ public abstract class AnimationElement extends SVGElement
         }
 
     }
+
+    /**
+     * @return the beginTime
+     */
+    public TimeBase getBeginTime()
+    {
+        return beginTime;
+    }
+
+    /**
+     * @param beginTime the beginTime to set
+     */
+    public void setBeginTime(TimeBase beginTime)
+    {
+        this.beginTime = beginTime;
+    }
+
+    /**
+     * @return the durTime
+     */
+    public TimeBase getDurTime()
+    {
+        return durTime;
+    }
+
+    /**
+     * @param durTime the durTime to set
+     */
+    public void setDurTime(TimeBase durTime)
+    {
+        this.durTime = durTime;
+    }
+
+    /**
+     * @return the endTime
+     */
+    public TimeBase getEndTime()
+    {
+        return endTime;
+    }
+
+    /**
+     * @param endTime the endTime to set
+     */
+    public void setEndTime(TimeBase endTime)
+    {
+        this.endTime = endTime;
+    }
+
+    /**
+     * @return the fillType
+     */
+    public int getFillType()
+    {
+        return fillType;
+    }
+
+    /**
+     * @param fillType the fillType to set
+     */
+    public void setFillType(int fillType)
+    {
+        this.fillType = fillType;
+    }
+
+    /**
+     * @param additiveType the additiveType to set
+     */
+    public void setAdditiveType(int additiveType)
+    {
+        this.additiveType = additiveType;
+    }
+
+    /**
+     * @param accumulateType the accumulateType to set
+     */
+    public void setAccumulateType(int accumulateType)
+    {
+        this.accumulateType = accumulateType;
+    }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/AnimationTimeEval.java b/svg-core/src/main/java/com/kitfox/svg/animation/AnimationTimeEval.java
index ee79c8a..3acca25 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/AnimationTimeEval.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/AnimationTimeEval.java
@@ -1,26 +1,35 @@
 /*
- * AnimateTimeEval.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on September 21, 2004, 1:31 PM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/Bezier.java b/svg-core/src/main/java/com/kitfox/svg/animation/Bezier.java
index 1fae8c1..31031b3 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/Bezier.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/Bezier.java
@@ -1,26 +1,35 @@
 /*
- * Bezier.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
-
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 14, 2005, 4:08 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/SetSmil.java b/svg-core/src/main/java/com/kitfox/svg/animation/SetSmil.java
index d821d4c..2335f41 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/SetSmil.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/SetSmil.java
@@ -1,25 +1,35 @@
 /*
- * Set.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on August 15, 2004, 2:51 AM
  */
@@ -43,13 +53,20 @@ import org.xml.sax.SAXException;
  */
 public class SetSmil extends AnimationElement
 {
-    String toValue;
+    public static final String TAG_NAME = "set";
+    
+    private String toValue;
     
     /** Creates a new instance of Set */
     public SetSmil()
     {
     }
-    
+
+    public String getTagName()
+    {
+        return TAG_NAME;
+    }
+
     public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent) throws SAXException
     {
 		//Load style string
@@ -70,4 +87,20 @@ public class SetSmil extends AnimationElement
             toValue = newVal;
         }
     }
+
+    /**
+     * @return the toValue
+     */
+    public String getToValue()
+    {
+        return toValue;
+    }
+
+    /**
+     * @param toValue the toValue to set
+     */
+    public void setToValue(String toValue)
+    {
+        this.toValue = toValue;
+    }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/TimeBase.java b/svg-core/src/main/java/com/kitfox/svg/animation/TimeBase.java
index 2f2f189..c1363f2 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/TimeBase.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/TimeBase.java
@@ -1,25 +1,35 @@
 /*
- * TimeBase.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on August 15, 2004, 3:31 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/TimeCompound.java b/svg-core/src/main/java/com/kitfox/svg/animation/TimeCompound.java
index 2ba47e2..a1c131a 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/TimeCompound.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/TimeCompound.java
@@ -1,25 +1,35 @@
 /*
- * TimeDiscrete.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on August 15, 2004, 3:33 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/TimeDiscrete.java b/svg-core/src/main/java/com/kitfox/svg/animation/TimeDiscrete.java
index dab7dc1..23d5074 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/TimeDiscrete.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/TimeDiscrete.java
@@ -1,25 +1,35 @@
 /*
- * TimeDiscrete.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on August 15, 2004, 3:33 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/TimeIndefinite.java b/svg-core/src/main/java/com/kitfox/svg/animation/TimeIndefinite.java
index b3859f1..6cb9797 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/TimeIndefinite.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/TimeIndefinite.java
@@ -1,25 +1,35 @@
 /*
- * TimeDiscrete.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on August 15, 2004, 3:33 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/TimeLookup.java b/svg-core/src/main/java/com/kitfox/svg/animation/TimeLookup.java
index e6120bd..a539c0e 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/TimeLookup.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/TimeLookup.java
@@ -1,25 +1,35 @@
 /*
- * TimeDiscrete.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on August 15, 2004, 3:33 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/TimeSum.java b/svg-core/src/main/java/com/kitfox/svg/animation/TimeSum.java
index 82c98fe..0ed3769 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/TimeSum.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/TimeSum.java
@@ -1,25 +1,35 @@
 /*
- * TimeDiscrete.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on August 15, 2004, 3:33 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/TrackBase.java b/svg-core/src/main/java/com/kitfox/svg/animation/TrackBase.java
index 007f6ad..97dc08b 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/TrackBase.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/TrackBase.java
@@ -1,25 +1,35 @@
 /*
- * TrackManager.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on August 15, 2004, 11:34 PM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/TrackColor.java b/svg-core/src/main/java/com/kitfox/svg/animation/TrackColor.java
index 97a8f3c..00e1c57 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/TrackColor.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/TrackColor.java
@@ -1,25 +1,35 @@
 /*
- * TrackManager.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on September 21, 2004, 11:34 PM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/TrackDouble.java b/svg-core/src/main/java/com/kitfox/svg/animation/TrackDouble.java
index 211cb2f..eec38b9 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/TrackDouble.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/TrackDouble.java
@@ -1,25 +1,35 @@
 /*
- * TrackManager.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on August 15, 2004, 11:34 PM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/TrackManager.java b/svg-core/src/main/java/com/kitfox/svg/animation/TrackManager.java
index b8e6305..ea38b65 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/TrackManager.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/TrackManager.java
@@ -1,25 +1,35 @@
 /*
- * TrackManager.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on August 15, 2004, 11:34 PM
  */
@@ -59,7 +69,13 @@ public class TrackManager implements Serializable
             this.type = type;
         }
         
-        public int hashCode() { return name.hashCode() ^ type; } 
+        public int hashCode()
+        {
+            int hash = name == null ? 0 : name.hashCode();
+            hash = hash * 97 + type;
+            return hash;
+        }
+
         public boolean equals(Object obj) 
         {
             if (!(obj instanceof TrackKey)) return false;
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/TrackMotion.java b/svg-core/src/main/java/com/kitfox/svg/animation/TrackMotion.java
index 6cb8578..5faa7dc 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/TrackMotion.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/TrackMotion.java
@@ -1,25 +1,35 @@
 /*
- * TrackManager.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on September 21, 2004, 11:34 PM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/TrackPath.java b/svg-core/src/main/java/com/kitfox/svg/animation/TrackPath.java
index e2822f6..8dd0e41 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/TrackPath.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/TrackPath.java
@@ -1,25 +1,35 @@
 /*
- * TrackManager.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on September 21, 2004, 11:34 PM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/animation/TrackTransform.java b/svg-core/src/main/java/com/kitfox/svg/animation/TrackTransform.java
index d925923..d3f58b6 100644
--- a/svg-core/src/main/java/com/kitfox/svg/animation/TrackTransform.java
+++ b/svg-core/src/main/java/com/kitfox/svg/animation/TrackTransform.java
@@ -1,25 +1,35 @@
 /*
- * TrackManager.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on September 21, 2004, 11:34 PM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/MainFrame.form b/svg-core/src/main/java/com/kitfox/svg/app/MainFrame.form
index e285b77..f28086d 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/MainFrame.form
+++ b/svg-core/src/main/java/com/kitfox/svg/app/MainFrame.form
@@ -1,65 +1,76 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
-  <Properties>
-    <Property name="title" type="java.lang.String" value="SVG Salamander - Application Launcher"/>
-  </Properties>
-  <SyntheticProperties>
-    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
-  </SyntheticProperties>
-  <Events>
-    <EventHandler event="windowClosing" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="exitForm"/>
-  </Events>
-
-  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
-  <SubComponents>
-    <Container class="javax.swing.JPanel" name="jPanel1">
-      <Constraints>
-        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
-          <BorderConstraints direction="Center"/>
-        </Constraint>
-      </Constraints>
-
-      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout">
-        <Property name="axis" type="int" value="1"/>
-      </Layout>
-      <SubComponents>
-        <Component class="javax.swing.JButton" name="bn_svgViewer">
-          <Properties>
-            <Property name="text" type="java.lang.String" value="SVG Viewer (No animation)"/>
-          </Properties>
-          <Events>
-            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="bn_svgViewerActionPerformed"/>
-          </Events>
-        </Component>
-        <Component class="javax.swing.JButton" name="bn_svgViewer1">
-          <Properties>
-            <Property name="text" type="java.lang.String" value="SVG Player (Animation)"/>
-          </Properties>
-          <Events>
-            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="bn_svgViewer1ActionPerformed"/>
-          </Events>
-        </Component>
-      </SubComponents>
-    </Container>
-    <Container class="javax.swing.JPanel" name="jPanel2">
-      <Constraints>
-        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
-          <BorderConstraints direction="South"/>
-        </Constraint>
-      </Constraints>
-
-      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
-      <SubComponents>
-        <Component class="javax.swing.JButton" name="bn_quit">
-          <Properties>
-            <Property name="text" type="java.lang.String" value="Quit"/>
-          </Properties>
-          <Events>
-            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="bn_quitActionPerformed"/>
-          </Events>
-        </Component>
-      </SubComponents>
-    </Container>
-  </SubComponents>
-</Form>
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.2" maxVersion="1.2" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
+  <Properties>
+    <Property name="title" type="java.lang.String" value="SVG Salamander - Application Launcher"/>
+  </Properties>
+  <SyntheticProperties>
+    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+  </SyntheticProperties>
+  <Events>
+    <EventHandler event="windowClosing" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="exitForm"/>
+  </Events>
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+    <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
+  </AuxValues>
+
+  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+  <SubComponents>
+    <Container class="javax.swing.JPanel" name="jPanel1">
+      <Constraints>
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+          <BorderConstraints direction="Center"/>
+        </Constraint>
+      </Constraints>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout">
+        <Property name="axis" type="int" value="1"/>
+      </Layout>
+      <SubComponents>
+        <Component class="javax.swing.JButton" name="bn_svgViewer">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="SVG Viewer (No animation)"/>
+          </Properties>
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="bn_svgViewerActionPerformed"/>
+          </Events>
+        </Component>
+        <Component class="javax.swing.JButton" name="bn_svgViewer1">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="SVG Player (Animation)"/>
+          </Properties>
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="bn_svgViewer1ActionPerformed"/>
+          </Events>
+        </Component>
+      </SubComponents>
+    </Container>
+    <Container class="javax.swing.JPanel" name="jPanel2">
+      <Constraints>
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+          <BorderConstraints direction="South"/>
+        </Constraint>
+      </Constraints>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
+      <SubComponents>
+        <Component class="javax.swing.JButton" name="bn_quit">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="Quit"/>
+          </Properties>
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="bn_quitActionPerformed"/>
+          </Events>
+        </Component>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/MainFrame.java b/svg-core/src/main/java/com/kitfox/svg/app/MainFrame.java
index 596ec05..ffadb69 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/MainFrame.java
+++ b/svg-core/src/main/java/com/kitfox/svg/app/MainFrame.java
@@ -1,5 +1,35 @@
 /*
- * MainFrame.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on September 6, 2004, 1:19 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/PlayerDialog.form b/svg-core/src/main/java/com/kitfox/svg/app/PlayerDialog.form
index 628bbf8..d0de84e 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/PlayerDialog.form
+++ b/svg-core/src/main/java/com/kitfox/svg/app/PlayerDialog.form
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
+<Form version="1.2" maxVersion="1.2" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
   <Properties>
     <Property name="defaultCloseOperation" type="int" value="2"/>
     <Property name="title" type="java.lang.String" value="Player"/>
@@ -12,7 +12,11 @@
     <EventHandler event="windowClosed" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowClosed"/>
   </Events>
   <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
     <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
     <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
     <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
     <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/PlayerDialog.java b/svg-core/src/main/java/com/kitfox/svg/app/PlayerDialog.java
index 6d663f0..eac98a7 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/PlayerDialog.java
+++ b/svg-core/src/main/java/com/kitfox/svg/app/PlayerDialog.java
@@ -1,26 +1,35 @@
 /*
- * PlayerDialog.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on September 28, 2004, 9:56 PM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/PlayerThread.java b/svg-core/src/main/java/com/kitfox/svg/app/PlayerThread.java
index 90a3a28..e9fe35a 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/PlayerThread.java
+++ b/svg-core/src/main/java/com/kitfox/svg/app/PlayerThread.java
@@ -1,26 +1,35 @@
 /*
- * PlayerThread.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on September 28, 2004, 10:07 PM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/PlayerThreadListener.java b/svg-core/src/main/java/com/kitfox/svg/app/PlayerThreadListener.java
index b6438a0..7df802a 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/PlayerThreadListener.java
+++ b/svg-core/src/main/java/com/kitfox/svg/app/PlayerThreadListener.java
@@ -1,26 +1,35 @@
 /*
- * PlayerThreadListener.java
- *
- *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on September 28, 2004, 10:15 PM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/SVGPlayer.form b/svg-core/src/main/java/com/kitfox/svg/app/SVGPlayer.form
index f98c2be..53a058e 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/SVGPlayer.form
+++ b/svg-core/src/main/java/com/kitfox/svg/app/SVGPlayer.form
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
+<Form version="1.2" maxVersion="1.2" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
   <NonVisualComponents>
     <Menu class="javax.swing.JMenuBar" name="jMenuBar1">
       <SubComponents>
@@ -96,7 +96,11 @@
     <EventHandler event="windowClosing" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="exitForm"/>
   </Events>
   <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
     <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
     <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
     <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
     <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/SVGPlayer.java b/svg-core/src/main/java/com/kitfox/svg/app/SVGPlayer.java
index 3d16b2f..0d38798 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/SVGPlayer.java
+++ b/svg-core/src/main/java/com/kitfox/svg/app/SVGPlayer.java
@@ -1,26 +1,35 @@
 /*
- * SVGViewer.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on April 3, 2004, 5:28 PM
  */
@@ -28,6 +37,7 @@
 package com.kitfox.svg.app;
 
 
+import com.kitfox.svg.SVGConst;
 import com.kitfox.svg.SVGDiagram;
 import com.kitfox.svg.SVGDisplayPanel;
 import com.kitfox.svg.SVGElement;
@@ -46,6 +56,8 @@ import java.security.AccessControlException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Vector;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import javax.swing.JFileChooser;
@@ -137,7 +149,8 @@ public class SVGPlayer extends javax.swing.JFrame
                 }
                 catch (SVGException ex)
                 {
-                    ex.printStackTrace();
+                    Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, 
+                        "Could not pick", ex);
                 }
             }
         }
@@ -177,7 +190,7 @@ public class SVGPlayer extends javax.swing.JFrame
         }
         catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
         }
     }
 
@@ -212,7 +225,7 @@ public class SVGPlayer extends javax.swing.JFrame
             }
             catch (Exception e)
             {
-                e.printStackTrace();
+                Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
             }
         }
 
@@ -352,7 +365,7 @@ public class SVGPlayer extends javax.swing.JFrame
         }
         catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
         }
 
     }//GEN-LAST:event_cm_loadUrlActionPerformed
@@ -396,7 +409,7 @@ public class SVGPlayer extends javax.swing.JFrame
         }
         catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
         }
 
     }//GEN-LAST:event_cm_loadFileActionPerformed
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/SVGViewer.form b/svg-core/src/main/java/com/kitfox/svg/app/SVGViewer.form
index d6a5f7d..54cfea9 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/SVGViewer.form
+++ b/svg-core/src/main/java/com/kitfox/svg/app/SVGViewer.form
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
+<Form version="1.2" maxVersion="1.2" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
   <NonVisualComponents>
     <Menu class="javax.swing.JMenuBar" name="jMenuBar1">
       <SubComponents>
@@ -86,7 +86,11 @@
     <EventHandler event="windowClosing" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="exitForm"/>
   </Events>
   <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
     <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
     <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
     <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
     <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/SVGViewer.java b/svg-core/src/main/java/com/kitfox/svg/app/SVGViewer.java
index c9b1ad1..35f9433 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/SVGViewer.java
+++ b/svg-core/src/main/java/com/kitfox/svg/app/SVGViewer.java
@@ -1,26 +1,35 @@
 /*
- * SVGViewer.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on April 3, 2004, 5:28 PM
  */
@@ -28,6 +37,7 @@
 package com.kitfox.svg.app;
 
 import com.kitfox.svg.SVGCache;
+import com.kitfox.svg.SVGConst;
 import com.kitfox.svg.SVGDiagram;
 import com.kitfox.svg.SVGDisplayPanel;
 import com.kitfox.svg.SVGElement;
@@ -45,6 +55,8 @@ import java.security.AccessControlException;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import javax.swing.JFileChooser;
@@ -150,7 +162,7 @@ public class SVGViewer extends javax.swing.JFrame
             }
             catch (Exception e)
             {
-                e.printStackTrace();
+                Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
                 return;
             }
         }
@@ -306,7 +318,7 @@ is.close();
         }
         catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
         }
 
     }//GEN-LAST:event_cm_loadUrlActionPerformed
@@ -319,9 +331,9 @@ is.close();
         {
             pickedElements = diagram.pick(new Point(evt.getX(), evt.getY()), null);
         } 
-        catch (SVGException ex)
+        catch (SVGException e)
         {
-            ex.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
             return;
         }
         
@@ -377,25 +389,9 @@ is.close();
                 loadURL(url);
             }
         }
-        /*
-        catch (IOException ioe)
-        {
-            try
-            {
-                //We may be in a WebStart app.  Try again with a FileOpenService
-                FileContents fc = fileOpenService.openFileDialog(null, new String[]{"svg"});
-                InputStream is = fc.getInputStream();
-                String name = fc.getName();
-            }
-            catch (Exception e)
-            {
-                e.printStackTrace();
-            }
-        }
-         */
         catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
         }
 
     }//GEN-LAST:event_cm_loadFileActionPerformed
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/VersionDialog.form b/svg-core/src/main/java/com/kitfox/svg/app/VersionDialog.form
index a20b953..fd6e08c 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/VersionDialog.form
+++ b/svg-core/src/main/java/com/kitfox/svg/app/VersionDialog.form
@@ -1,64 +1,69 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
-  <Properties>
-    <Property name="defaultCloseOperation" type="int" value="2"/>
-    <Property name="title" type="java.lang.String" value="About SVG Salamander"/>
-  </Properties>
-  <SyntheticProperties>
-    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
-  </SyntheticProperties>
-  <AuxValues>
-    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
-    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-  </AuxValues>
-
-  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
-  <SubComponents>
-    <Container class="javax.swing.JPanel" name="jPanel1">
-      <Constraints>
-        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
-          <BorderConstraints direction="Center"/>
-        </Constraint>
-      </Constraints>
-
-      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
-      <SubComponents>
-        <Component class="javax.swing.JTextPane" name="textpane_text">
-          <Properties>
-            <Property name="editable" type="boolean" value="false"/>
-            <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-              <Dimension value="[400, 300]"/>
-            </Property>
-          </Properties>
-          <Constraints>
-            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
-              <BorderConstraints direction="Center"/>
-            </Constraint>
-          </Constraints>
-        </Component>
-      </SubComponents>
-    </Container>
-    <Container class="javax.swing.JPanel" name="jPanel2">
-      <Constraints>
-        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
-          <BorderConstraints direction="South"/>
-        </Constraint>
-      </Constraints>
-
-      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
-      <SubComponents>
-        <Component class="javax.swing.JButton" name="bn_close">
-          <Properties>
-            <Property name="text" type="java.lang.String" value="Close"/>
-          </Properties>
-          <Events>
-            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="bn_closeActionPerformed"/>
-          </Events>
-        </Component>
-      </SubComponents>
-    </Container>
-  </SubComponents>
-</Form>
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.2" maxVersion="1.2" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
+  <Properties>
+    <Property name="defaultCloseOperation" type="int" value="2"/>
+    <Property name="title" type="java.lang.String" value="About SVG Salamander"/>
+  </Properties>
+  <SyntheticProperties>
+    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+  </SyntheticProperties>
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+    <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
+  </AuxValues>
+
+  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+  <SubComponents>
+    <Container class="javax.swing.JPanel" name="jPanel1">
+      <Constraints>
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+          <BorderConstraints direction="Center"/>
+        </Constraint>
+      </Constraints>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+      <SubComponents>
+        <Component class="javax.swing.JTextPane" name="textpane_text">
+          <Properties>
+            <Property name="editable" type="boolean" value="false"/>
+            <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+              <Dimension value="[400, 300]"/>
+            </Property>
+          </Properties>
+          <Constraints>
+            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+              <BorderConstraints direction="Center"/>
+            </Constraint>
+          </Constraints>
+        </Component>
+      </SubComponents>
+    </Container>
+    <Container class="javax.swing.JPanel" name="jPanel2">
+      <Constraints>
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+          <BorderConstraints direction="South"/>
+        </Constraint>
+      </Constraints>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
+      <SubComponents>
+        <Component class="javax.swing.JButton" name="bn_close">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="Close"/>
+          </Properties>
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="bn_closeActionPerformed"/>
+          </Events>
+        </Component>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/VersionDialog.java b/svg-core/src/main/java/com/kitfox/svg/app/VersionDialog.java
index 4c416d1..80344fe 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/VersionDialog.java
+++ b/svg-core/src/main/java/com/kitfox/svg/app/VersionDialog.java
@@ -1,35 +1,47 @@
 /*
- * VersionDialog.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 13, 2005, 7:23 AM
  */
 
 package com.kitfox.svg.app;
 
+import com.kitfox.svg.SVGConst;
 import java.net.*;
 import java.io.*;
 import java.util.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import javax.swing.event.*;
 import javax.swing.*;
 import javax.swing.text.html.*;
@@ -76,7 +88,7 @@ public class VersionDialog extends javax.swing.JDialog
         }
         catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
         }
         
     }
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/ant/SVGToImageAntTask.java b/svg-core/src/main/java/com/kitfox/svg/app/ant/SVGToImageAntTask.java
index 53f8687..151dfc9 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/ant/SVGToImageAntTask.java
+++ b/svg-core/src/main/java/com/kitfox/svg/app/ant/SVGToImageAntTask.java
@@ -1,5 +1,35 @@
 /*
- * IndexLoadObjectsAntTask.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 22, 2005, 10:30 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/beans/ProportionalLayoutPanel.form b/svg-core/src/main/java/com/kitfox/svg/app/beans/ProportionalLayoutPanel.form
index 81fa33a..87e8627 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/beans/ProportionalLayoutPanel.form
+++ b/svg-core/src/main/java/com/kitfox/svg/app/beans/ProportionalLayoutPanel.form
@@ -1,29 +1,34 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
-  <Events>
-    <EventHandler event="componentResized" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="formComponentResized"/>
-    <EventHandler event="componentShown" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="formComponentShown"/>
-  </Events>
-  <AuxValues>
-    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
-    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-  </AuxValues>
-
-  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
-    <Property name="useNullLayout" type="boolean" value="true"/>
-  </Layout>
-  <SubComponents>
-    <Container class="javax.swing.JPanel" name="jPanel1">
-      <Constraints>
-        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-          <AbsoluteConstraints x="80" y="90" width="280" height="160"/>
-        </Constraint>
-      </Constraints>
-
-      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
-    </Container>
-  </SubComponents>
-</Form>
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.2" maxVersion="1.2" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <Events>
+    <EventHandler event="componentResized" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="formComponentResized"/>
+    <EventHandler event="componentShown" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="formComponentShown"/>
+  </Events>
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+    <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
+  </AuxValues>
+
+  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
+    <Property name="useNullLayout" type="boolean" value="true"/>
+  </Layout>
+  <SubComponents>
+    <Container class="javax.swing.JPanel" name="jPanel1">
+      <Constraints>
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
+          <AbsoluteConstraints x="80" y="90" width="280" height="160"/>
+        </Constraint>
+      </Constraints>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/beans/ProportionalLayoutPanel.java b/svg-core/src/main/java/com/kitfox/svg/app/beans/ProportionalLayoutPanel.java
index be947db..1694fd4 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/beans/ProportionalLayoutPanel.java
+++ b/svg-core/src/main/java/com/kitfox/svg/app/beans/ProportionalLayoutPanel.java
@@ -1,5 +1,35 @@
 /*
- * ProportionalLayoutPanel.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on May 7, 2005, 4:15 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/beans/SVGIcon.java b/svg-core/src/main/java/com/kitfox/svg/app/beans/SVGIcon.java
index acb5bb5..ef37e49 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/beans/SVGIcon.java
+++ b/svg-core/src/main/java/com/kitfox/svg/app/beans/SVGIcon.java
@@ -1,28 +1,72 @@
 /*
- * SVGIcon.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on April 21, 2005, 10:45 AM
  */
 
 package com.kitfox.svg.app.beans;
 
-import javax.swing.*;
-import java.awt.*;
-import java.awt.geom.*;
-import java.net.*;
-import java.beans.*;
+import com.kitfox.svg.SVGCache;
+import com.kitfox.svg.SVGDiagram;
+import com.kitfox.svg.SVGException;
+import com.kitfox.svg.SVGUniverse;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Image;
+import java.awt.Rectangle;
+import java.awt.RenderingHints;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Rectangle2D;
+import java.awt.image.BufferedImage;
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
+import java.net.URI;
+import javax.swing.ImageIcon;
 
-import com.kitfox.svg.*;
 
 /**
  *
  * @author kitfox
  */
-public class SVGIcon implements Icon
+public class SVGIcon extends ImageIcon
 {
     public static final long serialVersionUID = 1;
+
+    public static final String PROP_AUTOSIZE = "PROP_AUTOSIZE";
     
-    private PropertyChangeSupport changes = new PropertyChangeSupport(this);
+    private final PropertyChangeSupport changes = new PropertyChangeSupport(this);
     
     SVGUniverse svgUniverse = SVGCache.getSVGUniverse();
     public static final int INTERP_NEAREST_NEIGHBOR = 0;
@@ -33,13 +77,18 @@ public class SVGIcon implements Icon
     private int interpolation = INTERP_NEAREST_NEIGHBOR;
     private boolean clipToViewbox;
     
-//    private String svgPath;
     URI svgURI;
     
-    private boolean scaleToFit;
+//    private boolean scaleToFit;
     AffineTransform scaleXform = new AffineTransform();
+
+    public static final int AUTOSIZE_NONE = 0;
+    public static final int AUTOSIZE_HORIZ = 1;
+    public static final int AUTOSIZE_VERT = 2;
+    public static final int AUTOSIZE_BESTFIT = 3;
+    public static final int AUTOSIZE_STRETCH = 4;
+    private int autosize = AUTOSIZE_NONE;
     
-//    Dimension preferredSize = new Dimension(100, 100);
     Dimension preferredSize;
     
     /** Creates a new instance of SVGIcon */
@@ -57,18 +106,30 @@ public class SVGIcon implements Icon
         changes.removePropertyChangeListener(p);
     }
     
+    public Image getImage()
+    {
+        BufferedImage bi = new BufferedImage(getIconWidth(), getIconHeight(), BufferedImage.TYPE_INT_ARGB);
+        paintIcon(null, bi.getGraphics(), 0, 0);
+        return bi;
+    }
+    
     /**
      * @return height of this icon
      */
     public int getIconHeight()
     {
-        if (scaleToFit && preferredSize != null)
+        if (preferredSize != null &&
+                (autosize == AUTOSIZE_VERT || autosize == AUTOSIZE_STRETCH 
+                || autosize == AUTOSIZE_BESTFIT))
         {
             return preferredSize.height;
         }
         
         SVGDiagram diagram = svgUniverse.getDiagram(svgURI);
-        if (diagram == null) return 0;
+        if (diagram == null)
+        {
+            return 0;
+        }
         return (int)diagram.getHeight();
     }
     
@@ -77,13 +138,18 @@ public class SVGIcon implements Icon
      */
     public int getIconWidth()
     {
-        if (scaleToFit && preferredSize != null)
+        if (preferredSize != null &&
+                (autosize == AUTOSIZE_HORIZ || autosize == AUTOSIZE_STRETCH 
+                || autosize == AUTOSIZE_BESTFIT))
         {
             return preferredSize.width;
         }
         
         SVGDiagram diagram = svgUniverse.getDiagram(svgURI);
-        if (diagram == null) return 0;
+        if (diagram == null)
+        {
+            return 0;
+        }
         return (int)diagram.getWidth();
     }
     
@@ -96,8 +162,14 @@ public class SVGIcon implements Icon
      */
     public void paintIcon(Component comp, Graphics gg, int x, int y)
     {
-        Graphics2D g = (Graphics2D)gg;
-        
+        //Copy graphics object so that 
+        Graphics2D g = (Graphics2D)gg.create();
+        paintIcon(comp, g, x, y);
+        g.dispose();
+    }
+    
+    private void paintIcon(Component comp, Graphics2D g, int x, int y)
+    {
         Object oldAliasHint = g.getRenderingHint(RenderingHints.KEY_ANTIALIASING);
         g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, antiAlias ? RenderingHints.VALUE_ANTIALIAS_ON : RenderingHints.VALUE_ANTIALIAS_OFF);
         
@@ -117,7 +189,10 @@ public class SVGIcon implements Icon
         
         
         SVGDiagram diagram = svgUniverse.getDiagram(svgURI);
-        if (diagram == null) return;
+        if (diagram == null)
+        {
+            return;
+        }
         
         g.translate(x, y);
         diagram.setIgnoringClipHeuristic(!clipToViewbox);
@@ -127,8 +202,7 @@ public class SVGIcon implements Icon
         }
         
         
-        
-        if (!scaleToFit)
+        if (autosize == AUTOSIZE_NONE)
         {
             try
             {
@@ -165,10 +239,34 @@ public class SVGIcon implements Icon
 //        g.setClip(0, 0, width, height);
         
         
-        final Rectangle2D.Double rect = new Rectangle2D.Double();
-        diagram.getViewRect(rect);
+//        final Rectangle2D.Double rect = new Rectangle2D.Double();
+//        diagram.getViewRect(rect);
+//        
+//        scaleXform.setToScale(width / rect.width, height / rect.height);
+        double diaWidth = diagram.getWidth();
+        double diaHeight = diagram.getHeight();
         
-        scaleXform.setToScale(width / rect.width, height / rect.height);
+        double scaleW = 1;
+        double scaleH = 1;
+        if (autosize == AUTOSIZE_BESTFIT)
+        {
+            scaleW = scaleH = (height / diaHeight < width / diaWidth) 
+                    ? height / diaHeight : width / diaWidth;
+        }
+        else if (autosize == AUTOSIZE_HORIZ)
+        {
+            scaleW = scaleH = width / diaWidth;
+        }
+        else if (autosize == AUTOSIZE_VERT)
+        {
+            scaleW = scaleH = height / diaHeight;
+        }
+        else if (autosize == AUTOSIZE_STRETCH)
+        {
+            scaleW = width / diaWidth;
+            scaleH = height / diaHeight;
+        }
+        scaleXform.setToScale(scaleW, scaleH);
         
         AffineTransform oldXform = g.getTransform();
         g.transform(scaleXform);
@@ -188,7 +286,10 @@ public class SVGIcon implements Icon
         g.translate(-x, -y);
         
         g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, oldAliasHint);
-        if (oldInterpolationHint != null) g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, oldInterpolationHint);
+        if (oldInterpolationHint != null)
+        {
+            g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, oldInterpolationHint);
+        }
     }
     
     /**
@@ -267,17 +368,24 @@ public class SVGIcon implements Icon
     /**
      * If this SVG document has a viewbox, if scaleToFit is set, will scale the viewbox to match the
      * preferred size of this icon
+     * @deprecated 
+     * @return 
      */
     public boolean isScaleToFit()
     {
-        return scaleToFit;
+        return autosize == AUTOSIZE_STRETCH;
     }
     
+    /**
+     * @deprecated 
+     * @return 
+     */
     public void setScaleToFit(boolean scaleToFit)
     {
-        boolean old = this.scaleToFit;
-        this.scaleToFit = scaleToFit;
-        changes.firePropertyChange("scaleToFit", old, scaleToFit);
+        setAutosize(AUTOSIZE_STRETCH);
+//        boolean old = this.scaleToFit;
+//        this.scaleToFit = scaleToFit;
+//        firePropertyChange("scaleToFit", old, scaleToFit);
     }
     
     public Dimension getPreferredSize()
@@ -381,5 +489,23 @@ public class SVGIcon implements Icon
     {
         this.clipToViewbox = clipToViewbox;
     }
-    
+
+    /**
+     * @return the autosize
+     */
+    public int getAutosize()
+    {
+        return autosize;
+    }
+
+    /**
+     * @param autosize the autosize to set
+     */
+    public void setAutosize(int autosize)
+    {
+        int oldAutosize = this.autosize;
+        this.autosize = autosize;
+        changes.firePropertyChange(PROP_AUTOSIZE, oldAutosize, autosize);
+    }
+        
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/beans/SVGPanel.form b/svg-core/src/main/java/com/kitfox/svg/app/beans/SVGPanel.form
index b404a39..61a84d5 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/beans/SVGPanel.form
+++ b/svg-core/src/main/java/com/kitfox/svg/app/beans/SVGPanel.form
@@ -1,8 +1,12 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+<Form version="1.2" maxVersion="1.2" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
   <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
     <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
     <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
     <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
     <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/beans/SVGPanel.java b/svg-core/src/main/java/com/kitfox/svg/app/beans/SVGPanel.java
index 396bd9b..e81f519 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/beans/SVGPanel.java
+++ b/svg-core/src/main/java/com/kitfox/svg/app/beans/SVGPanel.java
@@ -1,18 +1,46 @@
 /*
- * SVGIcon.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on April 21, 2005, 10:43 AM
  */
 
 package com.kitfox.svg.app.beans;
 
-import javax.swing.*;
+import com.kitfox.svg.*;
 import java.awt.*;
 import java.awt.geom.*;
 import java.net.*;
-import java.beans.*;
-
-import com.kitfox.svg.*;
+import javax.swing.*;
 
 /**
  *
@@ -21,7 +49,7 @@ import com.kitfox.svg.*;
 public class SVGPanel extends JPanel
 {
     public static final long serialVersionUID = 1;
-
+    public static final String PROP_AUTOSIZE = "PROP_AUTOSIZE";
 
     SVGUniverse svgUniverse = SVGCache.getSVGUniverse();
     
@@ -30,8 +58,15 @@ public class SVGPanel extends JPanel
 //    private String svgPath;
     URI svgURI;
 
-    private boolean scaleToFit;
+//    private boolean scaleToFit;
     AffineTransform scaleXform = new AffineTransform();
+
+    public static final int AUTOSIZE_NONE = 0;
+    public static final int AUTOSIZE_HORIZ = 1;
+    public static final int AUTOSIZE_VERT = 2;
+    public static final int AUTOSIZE_BESTFIT = 3;
+    public static final int AUTOSIZE_STRETCH = 4;
+    private int autosize = AUTOSIZE_NONE;
     
     /** Creates new form SVGIcon */
     public SVGPanel()
@@ -41,37 +76,58 @@ public class SVGPanel extends JPanel
         
     public int getSVGHeight()
     {
-        if (scaleToFit) return getPreferredSize().height;
+        if (autosize == AUTOSIZE_VERT || autosize == AUTOSIZE_STRETCH 
+                || autosize == AUTOSIZE_BESTFIT)
+        {
+            return getPreferredSize().height;
+        }
         
         SVGDiagram diagram = svgUniverse.getDiagram(svgURI);
-        if (diagram == null) return 0;
+        if (diagram == null)
+        {
+            return 0;
+        }
         return (int)diagram.getHeight();
     }
     
     public int getSVGWidth()
     {
-        if (scaleToFit) return getPreferredSize().width;
+        if (autosize == AUTOSIZE_HORIZ || autosize == AUTOSIZE_STRETCH 
+                || autosize == AUTOSIZE_BESTFIT)
+        {
+            return getPreferredSize().width;
+        }
         
         SVGDiagram diagram = svgUniverse.getDiagram(svgURI);
-        if (diagram == null) return 0;
+        if (diagram == null)
+        {
+            return 0;
+        }
         return (int)diagram.getWidth();
     }
     
-//          Draw the icon at the specified location.
     public void paintComponent(Graphics gg)
     {
         super.paintComponent(gg);
-        
-        Graphics2D g = (Graphics2D)gg;
-        
+
+        Graphics2D g = (Graphics2D)gg.create();
+        paintComponent(g);
+        g.dispose();
+    }
+    
+    private void paintComponent(Graphics2D g)
+    {
         Object oldAliasHint = g.getRenderingHint(RenderingHints.KEY_ANTIALIASING);
         g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, antiAlias ? RenderingHints.VALUE_ANTIALIAS_ON : RenderingHints.VALUE_ANTIALIAS_OFF);
 
         
         SVGDiagram diagram = svgUniverse.getDiagram(svgURI);
-        if (diagram == null) return;
+        if (diagram == null)
+        {
+            return;
+        }
         
-        if (!scaleToFit)
+        if (autosize == AUTOSIZE_NONE)
         {
             try
             {
@@ -88,25 +144,34 @@ public class SVGPanel extends JPanel
         Dimension dim = getSize();
         final int width = dim.width;
         final int height = dim.height;
-//        int width = getWidth();
-//        int height = getHeight();
-        
-//        if (width == 0 || height == 0)
-//        {
-//           //Chances are we're rendering offscreen
-//            Dimension dim = getSize();
-//            width = dim.width;
-//            height = dim.height;
-//            return;
-//        }
-        
-//        g.setClip(0, 0, dim.width, dim.height);
-
             
-        final Rectangle2D.Double rect = new Rectangle2D.Double();
-        diagram.getViewRect(rect);
+//        final Rectangle2D.Double rect = new Rectangle2D.Double();
+//        diagram.getViewRect(rect);
         
-        scaleXform.setToScale(width / rect.width, height / rect.height);
+        double diaWidth = diagram.getWidth();
+        double diaHeight = diagram.getHeight();
+        
+        double scaleW = 1;
+        double scaleH = 1;
+        if (autosize == AUTOSIZE_BESTFIT)
+        {
+            scaleW = scaleH = (height / diaHeight < width / diaWidth) 
+                    ? height / diaHeight : width / diaWidth;
+        }
+        else if (autosize == AUTOSIZE_HORIZ)
+        {
+            scaleW = scaleH = width / diaWidth;
+        }
+        else if (autosize == AUTOSIZE_VERT)
+        {
+            scaleW = scaleH = height / diaHeight;
+        }
+        else if (autosize == AUTOSIZE_STRETCH)
+        {
+            scaleW = width / diaWidth;
+            scaleH = height / diaHeight;
+        }
+        scaleXform.setToScale(scaleW, scaleH);
         
         AffineTransform oldXform = g.getTransform();
         g.transform(scaleXform);
@@ -174,16 +239,27 @@ public class SVGPanel extends JPanel
         }
     }
     
+    /**
+     * If this SVG document has a viewbox, if scaleToFit is set, will scale the viewbox to match the
+     * preferred size of this icon
+     * @deprecated 
+     * @return 
+     */
     public boolean isScaleToFit()
     {
-        return scaleToFit;
+        return autosize == AUTOSIZE_STRETCH;
     }
-
+    
+    /**
+     * @deprecated 
+     * @return 
+     */
     public void setScaleToFit(boolean scaleToFit)
     {
-        boolean old = this.scaleToFit;
-        this.scaleToFit = scaleToFit;
-        firePropertyChange("scaleToFit", old, scaleToFit);
+        setAutosize(AUTOSIZE_STRETCH);
+//        boolean old = this.scaleToFit;
+//        this.scaleToFit = scaleToFit;
+//        firePropertyChange("scaleToFit", old, scaleToFit);
     }
     
     /**
@@ -221,6 +297,24 @@ public class SVGPanel extends JPanel
         this.antiAlias = antiAlias;
         firePropertyChange("antiAlias", old, antiAlias);
     }
+
+    /**
+     * @return the autosize
+     */
+    public int getAutosize()
+    {
+        return autosize;
+    }
+
+    /**
+     * @param autosize the autosize to set
+     */
+    public void setAutosize(int autosize)
+    {
+        int oldAutosize = this.autosize;
+        this.autosize = autosize;
+        firePropertyChange(PROP_AUTOSIZE, oldAutosize, autosize);
+    }
     
     /** This method is called from within the constructor to
      * initialize the form.
@@ -239,5 +333,6 @@ public class SVGPanel extends JPanel
     
     // Variables declaration - do not modify//GEN-BEGIN:variables
     // End of variables declaration//GEN-END:variables
+
     
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/data/Handler.java b/svg-core/src/main/java/com/kitfox/svg/app/data/Handler.java
index 9cd3525..d71c341 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/data/Handler.java
+++ b/svg-core/src/main/java/com/kitfox/svg/app/data/Handler.java
@@ -1,16 +1,50 @@
 /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  */
 
 package com.kitfox.svg.app.data;
 
+import com.kitfox.svg.SVGConst;
+import com.kitfox.svg.util.Base64InputStream;
 import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
 import java.net.URLConnection;
 import java.net.URLStreamHandler;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  *
@@ -35,10 +69,25 @@ public class Handler extends URLStreamHandler
             if (content.startsWith("base64,"))
             {
                 content = content.substring(7);
-                try {
-                    buf = new sun.misc.BASE64Decoder().decodeBuffer(content);
-                } catch (IOException ex) {
-                    ex.printStackTrace();
+                try
+                {
+//byte[] buf2 = new sun.misc.BASE64Decoder().decodeBuffer(content);
+//buf = new sun.misc.BASE64Decoder().decodeBuffer(content);
+                    
+                    ByteArrayInputStream bis = new ByteArrayInputStream(content.getBytes());
+                    Base64InputStream b64is = new Base64InputStream(bis);
+                    
+                    ByteArrayOutputStream bout = new ByteArrayOutputStream();
+                    byte[] tmp = new byte[2056];
+                    for (int size = b64is.read(tmp); size != -1; size = b64is.read(tmp))
+                    {
+                        bout.write(tmp, 0, size);
+                    }
+                    buf = bout.toByteArray();
+                }
+                catch (IOException e)
+                {
+                    Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
                 }
             }
         }
diff --git a/svg-core/src/main/java/com/kitfox/svg/app/data/HandlerFactory.java b/svg-core/src/main/java/com/kitfox/svg/app/data/HandlerFactory.java
index e1ed1b5..d58e6f1 100644
--- a/svg-core/src/main/java/com/kitfox/svg/app/data/HandlerFactory.java
+++ b/svg-core/src/main/java/com/kitfox/svg/app/data/HandlerFactory.java
@@ -1,6 +1,35 @@
 /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  */
 
 package com.kitfox.svg.app.data;
diff --git a/svg-core/src/main/java/com/kitfox/svg/composite/AdobeComposite.java b/svg-core/src/main/java/com/kitfox/svg/composite/AdobeComposite.java
index 00cd929..2fc19f2 100644
--- a/svg-core/src/main/java/com/kitfox/svg/composite/AdobeComposite.java
+++ b/svg-core/src/main/java/com/kitfox/svg/composite/AdobeComposite.java
@@ -1,34 +1,46 @@
 /*
- * AdobeComposite.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on April 1, 2004, 6:40 AM
  */
 
 package com.kitfox.svg.composite;
 
+import com.kitfox.svg.SVGConst;
 import java.awt.*;
 import java.awt.image.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * @author Mark McKay
@@ -51,12 +63,12 @@ public class AdobeComposite implements Composite
 
         if (compositeType < 0 || compositeType >= CT_LAST)
         {
-            new Exception("Invalid composite type").printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, "Invalid composite type");
         }
 
         if (extraAlpha < 0f || extraAlpha > 1f)
         {
-            new Exception("Invalid alpha").printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, "Invalid alpha");
         }
     }
 
diff --git a/svg-core/src/main/java/com/kitfox/svg/composite/AdobeCompositeContext.java b/svg-core/src/main/java/com/kitfox/svg/composite/AdobeCompositeContext.java
index 86185a2..fa2705a 100644
--- a/svg-core/src/main/java/com/kitfox/svg/composite/AdobeCompositeContext.java
+++ b/svg-core/src/main/java/com/kitfox/svg/composite/AdobeCompositeContext.java
@@ -1,26 +1,35 @@
 /*
- * AdobeCompositeContext.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on April 1, 2004, 6:41 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/pathcmd/Arc.java b/svg-core/src/main/java/com/kitfox/svg/pathcmd/Arc.java
index c48d149..2af6cf2 100644
--- a/svg-core/src/main/java/com/kitfox/svg/pathcmd/Arc.java
+++ b/svg-core/src/main/java/com/kitfox/svg/pathcmd/Arc.java
@@ -1,26 +1,35 @@
 /*
- * MoveTo.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 8:40 PM
  */
@@ -69,12 +78,16 @@ public class Arc extends PathCommand
 //    public void appendPath(ExtendedGeneralPath path, BuildHistory hist)
     public void appendPath(GeneralPath path, BuildHistory hist)
     {
-        float offx = isRelative ? hist.history[0].x : 0f;
-        float offy = isRelative ? hist.history[0].y : 0f;
+        float offx = isRelative ? hist.lastPoint.x : 0f;
+        float offy = isRelative ? hist.lastPoint.y : 0f;
 
-        arcTo(path, rx, ry, xAxisRot, largeArc, sweep, x + offx, y + offy, hist.history[0].x, hist.history[0].y);
+        arcTo(path, rx, ry, xAxisRot, largeArc, sweep,
+            x + offx, y + offy,
+            hist.lastPoint.x, hist.lastPoint.y);
 //        path.lineTo(x + offx, y + offy);
-        hist.setPoint(x + offx, y + offy);
+//        hist.setPoint(x + offx, y + offy);
+        hist.setLastPoint(x + offx, y + offy);
+        hist.setLastKnot(x + offx, y + offy);
     }
 
     public int getNumKnotsAdded()
@@ -242,4 +255,12 @@ public class Arc extends PathCommand
 
         return arc;
     }
+
+    public String toString()
+    {
+        return "A " + rx + " " + ry
+             + " " + xAxisRot + " " + largeArc
+             + " " + sweep
+             + " " + x + " " + y;
+    }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/pathcmd/BuildHistory.java b/svg-core/src/main/java/com/kitfox/svg/pathcmd/BuildHistory.java
index d16c11a..5be301e 100644
--- a/svg-core/src/main/java/com/kitfox/svg/pathcmd/BuildHistory.java
+++ b/svg-core/src/main/java/com/kitfox/svg/pathcmd/BuildHistory.java
@@ -1,62 +1,96 @@
 /*
- * BuildHistory.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 9:18 PM
  */
-
 package com.kitfox.svg.pathcmd;
 
 import java.awt.geom.Point2D;
 
 /**
  * When building a path from command segments, most need to cache information
- * (such as the point finished at) for future commands.  This structure allows
+ * (such as the point finished at) for future commands. This structure allows
  * that
  *
  * @author Mark McKay
  * @author <a href="mailto:mark at kitfox.com">Mark McKay</a>
  */
-public class BuildHistory {
+public class BuildHistory
+{
 
 //    Point2D.Float[] history = new Point2D.Float[2];
-    Point2D.Float[] history = {new Point2D.Float(), new Point2D.Float()};
-    int length = 0;
+//    Point2D.Float[] history = {new Point2D.Float(), new Point2D.Float()};
+//    Point2D.Float start = new Point2D.Float();
+    Point2D.Float startPoint = new Point2D.Float();
+    Point2D.Float lastPoint = new Point2D.Float();
+    Point2D.Float lastKnot = new Point2D.Float();
+    boolean init;
+    //int length = 0;
 
-    /** Creates a new instance of BuildHistory */
-    public BuildHistory() {
+    /**
+     * Creates a new instance of BuildHistory
+     */
+    public BuildHistory()
+    {
     }
-
-    public void setPoint(float x, float y)
+    
+    public void setStartPoint(float x, float y)
     {
-        history[0].setLocation(x, y);
-        length = 1;
+        startPoint.setLocation(x, y);
     }
-
-    public void setPointAndKnot(float x, float y, float kx, float ky)
+    
+    public void setLastPoint(float x, float y)
+    {
+        lastPoint.setLocation(x, y);
+    }
+    
+    public void setLastKnot(float x, float y)
     {
-        history[0].setLocation(x, y);
-        history[1].setLocation(kx, ky);
-        length = 2;
+        lastKnot.setLocation(x, y);
     }
+//    public void setPoint(float x, float y)
+//    {
+//        history[0].setLocation(x, y);
+//        length = 1;
+//    }
+//    public void setStart(float x, float y)
+//    {
+//        start.setLocation(x, y);
+//    }
+//    public void setPointAndKnot(float x, float y, float kx, float ky)
+//    {
+//        history[0].setLocation(x, y);
+//        history[1].setLocation(kx, ky);
+//        length = 2;
+//    }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/pathcmd/Cubic.java b/svg-core/src/main/java/com/kitfox/svg/pathcmd/Cubic.java
index f61ec4f..42bd891 100644
--- a/svg-core/src/main/java/com/kitfox/svg/pathcmd/Cubic.java
+++ b/svg-core/src/main/java/com/kitfox/svg/pathcmd/Cubic.java
@@ -1,26 +1,35 @@
 /*
- * MoveTo.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 8:40 PM
  */
@@ -47,6 +56,13 @@ public class Cubic extends PathCommand {
     public Cubic() {
     }
 
+    public String toString()
+    {
+        return "C " + k1x + " " + k1y
+             + " " + k2x + " " + k2y
+             + " " + x + " " + y;
+    }
+
     public Cubic(boolean isRelative, float k1x, float k1y, float k2x, float k2y, float x, float y) {
         super(isRelative);
         this.k1x = k1x;
@@ -60,11 +76,15 @@ public class Cubic extends PathCommand {
 //    public void appendPath(ExtendedGeneralPath path, BuildHistory hist)
     public void appendPath(GeneralPath path, BuildHistory hist)
     {
-        float offx = isRelative ? hist.history[0].x : 0f;
-        float offy = isRelative ? hist.history[0].y : 0f;
+        float offx = isRelative ? hist.lastPoint.x : 0f;
+        float offy = isRelative ? hist.lastPoint.y : 0f;
 
-        path.curveTo(k1x + offx, k1y + offy, k2x + offx, k2y + offy, x + offx, y + offy);
-        hist.setPointAndKnot(x + offx, y + offy, k2x + offx, k2y + offy);
+        path.curveTo(k1x + offx, k1y + offy,
+            k2x + offx, k2y + offy, 
+            x + offx, y + offy);
+//        hist.setPointAndKnot(x + offx, y + offy, k2x + offx, k2y + offy);
+        hist.setLastPoint(x + offx, y + offy);
+        hist.setLastKnot(k2x + offx, k2y + offy);
     }
 
     public int getNumKnotsAdded()
diff --git a/svg-core/src/main/java/com/kitfox/svg/pathcmd/CubicSmooth.java b/svg-core/src/main/java/com/kitfox/svg/pathcmd/CubicSmooth.java
index a54b9e4..9074899 100644
--- a/svg-core/src/main/java/com/kitfox/svg/pathcmd/CubicSmooth.java
+++ b/svg-core/src/main/java/com/kitfox/svg/pathcmd/CubicSmooth.java
@@ -1,26 +1,35 @@
 /*
- * MoveTo.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 8:40 PM
  */
@@ -56,23 +65,30 @@ public class CubicSmooth extends PathCommand {
 //    public void appendPath(ExtendedGeneralPath path, BuildHistory hist)
     public void appendPath(GeneralPath path, BuildHistory hist)
     {
-        float offx = isRelative ? hist.history[0].x : 0f;
-        float offy = isRelative ? hist.history[0].y : 0f;
+        float offx = isRelative ? hist.lastPoint.x : 0f;
+        float offy = isRelative ? hist.lastPoint.y : 0f;
 
-        float oldKx = hist.history.length >= 2 ? hist.history[1].x : hist.history[0].x;
-        float oldKy = hist.history.length >= 2 ? hist.history[1].y : hist.history[0].y;
-        float oldX = hist.history[0].x;
-        float oldY = hist.history[0].y;
+        float oldKx = hist.lastKnot.x;
+        float oldKy = hist.lastKnot.y;
+        float oldX = hist.lastPoint.x;
+        float oldY = hist.lastPoint.y;
         //Calc knot as reflection of old knot
         float k1x = oldX * 2f - oldKx;
         float k1y = oldY * 2f - oldKy;
 
         path.curveTo(k1x, k1y, k2x + offx, k2y + offy, x + offx, y + offy);
-        hist.setPointAndKnot(x + offx, y + offy, k2x + offx, k2y + offy);
+        hist.setLastPoint(x + offx, y + offy);
+        hist.setLastKnot(k2x + offx, k2y + offy);
     }
     
     public int getNumKnotsAdded()
     {
         return 6;
     }
+
+    public String toString()
+    {
+        return "S " + k2x + " " + k2y
+             + " " + x + " " + y;
+    }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/pathcmd/Horizontal.java b/svg-core/src/main/java/com/kitfox/svg/pathcmd/Horizontal.java
index 5aa6c37..219d9d2 100644
--- a/svg-core/src/main/java/com/kitfox/svg/pathcmd/Horizontal.java
+++ b/svg-core/src/main/java/com/kitfox/svg/pathcmd/Horizontal.java
@@ -1,26 +1,35 @@
 /*
- * MoveTo.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 8:40 PM
  */
@@ -42,6 +51,11 @@ public class Horizontal extends PathCommand {
     public Horizontal() {
     }
 
+    public String toString()
+    {
+        return "H " + x;
+    }
+
     public Horizontal(boolean isRelative, float x) {
         super(isRelative);
         this.x = x;
@@ -51,11 +65,12 @@ public class Horizontal extends PathCommand {
 //    public void appendPath(ExtendedGeneralPath path, BuildHistory hist)
     public void appendPath(GeneralPath path, BuildHistory hist)
     {
-        float offx = isRelative ? hist.history[0].x : 0f;
-        float offy = hist.history[0].y;
+        float offx = isRelative ? hist.lastPoint.x : 0f;
+        float offy = hist.lastPoint.y;
 
         path.lineTo(x + offx, offy);
-        hist.setPoint(x + offx, offy);
+        hist.setLastPoint(x + offx, offy);
+        hist.setLastKnot(x + offx, offy);
     }
     
     public int getNumKnotsAdded()
diff --git a/svg-core/src/main/java/com/kitfox/svg/pathcmd/LineTo.java b/svg-core/src/main/java/com/kitfox/svg/pathcmd/LineTo.java
index 2c76508..d5e1cf0 100644
--- a/svg-core/src/main/java/com/kitfox/svg/pathcmd/LineTo.java
+++ b/svg-core/src/main/java/com/kitfox/svg/pathcmd/LineTo.java
@@ -1,26 +1,35 @@
 /*
- * MoveTo.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 8:40 PM
  */
@@ -53,15 +62,21 @@ public class LineTo extends PathCommand {
 //    public void appendPath(ExtendedGeneralPath path, BuildHistory hist)
     public void appendPath(GeneralPath path, BuildHistory hist)
     {
-        float offx = isRelative ? hist.history[0].x : 0f;
-        float offy = isRelative ? hist.history[0].y : 0f;
+        float offx = isRelative ? hist.lastPoint.x : 0f;
+        float offy = isRelative ? hist.lastPoint.y : 0f;
 
         path.lineTo(x + offx, y + offy);
-        hist.setPoint(x + offx, y + offy);
+        hist.setLastPoint(x + offx, y + offy);
+        hist.setLastKnot(x + offx, y + offy);
     }
     
     public int getNumKnotsAdded()
     {
         return 2;
     }
+
+    public String toString()
+    {
+        return "L " + x + " " + y;
+    }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/pathcmd/MoveTo.java b/svg-core/src/main/java/com/kitfox/svg/pathcmd/MoveTo.java
index 7339607..0316ec0 100644
--- a/svg-core/src/main/java/com/kitfox/svg/pathcmd/MoveTo.java
+++ b/svg-core/src/main/java/com/kitfox/svg/pathcmd/MoveTo.java
@@ -1,26 +1,35 @@
 /*
- * MoveTo.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 8:40 PM
  */
@@ -52,15 +61,24 @@ public class MoveTo extends PathCommand {
 //    public void appendPath(ExtendedGeneralPath path, BuildHistory hist)
     public void appendPath(GeneralPath path, BuildHistory hist)
     {
-        float offx = isRelative ? hist.history[0].x : 0f;
-        float offy = isRelative ? hist.history[0].y : 0f;
+        float offx = isRelative ? hist.lastPoint.x : 0f;
+        float offy = isRelative ? hist.lastPoint.y : 0f;
 
         path.moveTo(x + offx, y + offy);
-        hist.setPoint(x + offx, y + offy);
+        hist.setStartPoint(x + offx, y + offy);
+        hist.setLastPoint(x + offx, y + offy);
+        hist.setLastKnot(x + offx, y + offy);
     }
 
     public int getNumKnotsAdded()
     {
         return 2;
     }
+
+    public String toString()
+    {
+        return "M " + x + " " + y;
+    }
+    
+    
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/pathcmd/PathCommand.java b/svg-core/src/main/java/com/kitfox/svg/pathcmd/PathCommand.java
index 33faca1..1d3b1f3 100644
--- a/svg-core/src/main/java/com/kitfox/svg/pathcmd/PathCommand.java
+++ b/svg-core/src/main/java/com/kitfox/svg/pathcmd/PathCommand.java
@@ -1,26 +1,35 @@
 /*
- * PathCommand.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 8:39 PM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/pathcmd/PathUtil.java b/svg-core/src/main/java/com/kitfox/svg/pathcmd/PathUtil.java
index afd562d..64a4c50 100644
--- a/svg-core/src/main/java/com/kitfox/svg/pathcmd/PathUtil.java
+++ b/svg-core/src/main/java/com/kitfox/svg/pathcmd/PathUtil.java
@@ -1,11 +1,37 @@
 /*
- * PathUtil.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
- * Created on May 10, 2005, 5:56 AM
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- * To change this template, choose Tools | Options and locate the template under
- * the Source Creation and Management node. Right-click the template and choose
- * Open. You can then make changes to the template in the Source Editor.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
+ *
+ * Created on May 10, 2005, 5:56 AM
  */
 
 package com.kitfox.svg.pathcmd;
diff --git a/svg-core/src/main/java/com/kitfox/svg/pathcmd/Quadratic.java b/svg-core/src/main/java/com/kitfox/svg/pathcmd/Quadratic.java
index 34ace18..fc723c3 100644
--- a/svg-core/src/main/java/com/kitfox/svg/pathcmd/Quadratic.java
+++ b/svg-core/src/main/java/com/kitfox/svg/pathcmd/Quadratic.java
@@ -1,26 +1,35 @@
 /*
- * MoveTo.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 8:40 PM
  */
@@ -45,6 +54,12 @@ public class Quadratic extends PathCommand {
     public Quadratic() {
     }
 
+    public String toString()
+    {
+        return "Q " + kx + " " + ky
+             + " " + x + " " + y;
+    }
+
     public Quadratic(boolean isRelative, float kx, float ky, float x, float y) {
         super(isRelative);
         this.kx = kx;
@@ -56,11 +71,12 @@ public class Quadratic extends PathCommand {
 //    public void appendPath(ExtendedGeneralPath path, BuildHistory hist)
     public void appendPath(GeneralPath path, BuildHistory hist)
     {
-        float offx = isRelative ? hist.history[0].x : 0f;
-        float offy = isRelative ? hist.history[0].y : 0f;
+        float offx = isRelative ? hist.lastPoint.x : 0f;
+        float offy = isRelative ? hist.lastPoint.y : 0f;
 
         path.quadTo(kx + offx, ky + offy, x + offx, y + offy);
-        hist.setPointAndKnot(x + offx, y + offy, kx + offx, ky + offy);
+        hist.setLastPoint(x + offx, y + offy);
+        hist.setLastKnot(kx + offx, ky + offy);
     }
 
     public int getNumKnotsAdded()
diff --git a/svg-core/src/main/java/com/kitfox/svg/pathcmd/QuadraticSmooth.java b/svg-core/src/main/java/com/kitfox/svg/pathcmd/QuadraticSmooth.java
index 2bbc6bf..efef362 100644
--- a/svg-core/src/main/java/com/kitfox/svg/pathcmd/QuadraticSmooth.java
+++ b/svg-core/src/main/java/com/kitfox/svg/pathcmd/QuadraticSmooth.java
@@ -1,26 +1,35 @@
 /*
- * MoveTo.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 8:40 PM
  */
@@ -43,6 +52,11 @@ public class QuadraticSmooth extends PathCommand {
     public QuadraticSmooth() {
     }
 
+    public String toString()
+    {
+        return "T " + x + " " + y;
+    }
+
     public QuadraticSmooth(boolean isRelative, float x, float y) {
         super(isRelative);
         this.x = x;
@@ -52,19 +66,20 @@ public class QuadraticSmooth extends PathCommand {
 //    public void appendPath(ExtendedGeneralPath path, BuildHistory hist)
     public void appendPath(GeneralPath path, BuildHistory hist)
     {
-        float offx = isRelative ? hist.history[0].x : 0f;
-        float offy = isRelative ? hist.history[0].y : 0f;
+        float offx = isRelative ? hist.lastPoint.x : 0f;
+        float offy = isRelative ? hist.lastPoint.y : 0f;
 
-        float oldKx = hist.history.length >= 2 ? hist.history[1].x : hist.history[0].x;
-        float oldKy = hist.history.length >= 2 ? hist.history[1].y : hist.history[0].y;
-        float oldX = hist.history[0].x;
-        float oldY = hist.history[0].y;
+        float oldKx = hist.lastKnot.x;
+        float oldKy = hist.lastKnot.y;
+        float oldX = hist.lastPoint.x;
+        float oldY = hist.lastPoint.y;
         //Calc knot as reflection of old knot
         float kx = oldX * 2f - oldKx;
         float ky = oldY * 2f - oldKy;
 
         path.quadTo(kx, ky, x + offx, y + offy);
-        hist.setPointAndKnot(x + offx, y + offy, kx, ky);
+        hist.setLastPoint(x + offx, y + offy);
+        hist.setLastKnot(kx, ky);
     }
 
     public int getNumKnotsAdded()
diff --git a/svg-core/src/main/java/com/kitfox/svg/pathcmd/Terminal.java b/svg-core/src/main/java/com/kitfox/svg/pathcmd/Terminal.java
index a9d1c9f..bd4d306 100644
--- a/svg-core/src/main/java/com/kitfox/svg/pathcmd/Terminal.java
+++ b/svg-core/src/main/java/com/kitfox/svg/pathcmd/Terminal.java
@@ -1,26 +1,35 @@
 /*
- * MoveTo.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 8:40 PM
  */
@@ -42,11 +51,18 @@ public class Terminal extends PathCommand {
     public Terminal() {
     }
 
+    public String toString()
+    {
+        return "Z";
+    }
+
 
 //    public void appendPath(ExtendedGeneralPath path, BuildHistory hist)
     public void appendPath(GeneralPath path, BuildHistory hist)
     {
         path.closePath();
+        hist.setLastPoint(hist.startPoint.x, hist.startPoint.y);
+        hist.setLastKnot(hist.startPoint.x, hist.startPoint.y);
     }
     
     public int getNumKnotsAdded()
diff --git a/svg-core/src/main/java/com/kitfox/svg/pathcmd/Vertical.java b/svg-core/src/main/java/com/kitfox/svg/pathcmd/Vertical.java
index ca7bda4..5c9e6c0 100644
--- a/svg-core/src/main/java/com/kitfox/svg/pathcmd/Vertical.java
+++ b/svg-core/src/main/java/com/kitfox/svg/pathcmd/Vertical.java
@@ -1,26 +1,35 @@
 /*
- * MoveTo.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 8:40 PM
  */
@@ -42,6 +51,11 @@ public class Vertical extends PathCommand {
     public Vertical() {
     }
 
+    public String toString()
+    {
+        return "V " + y;
+    }
+
     public Vertical(boolean isRelative, float y) {
         super(isRelative);
         this.y = y;
@@ -50,11 +64,12 @@ public class Vertical extends PathCommand {
 //    public void appendPath(ExtendedGeneralPath path, BuildHistory hist)
     public void appendPath(GeneralPath path, BuildHistory hist)
     {
-        float offx = hist.history[0].x;
-        float offy = isRelative ? hist.history[0].y : 0f;
+        float offx = hist.lastPoint.x;
+        float offy = isRelative ? hist.lastPoint.y : 0f;
 
         path.lineTo(offx, y + offy);
-        hist.setPoint(offx, y + offy);
+        hist.setLastPoint(offx, y + offy);
+        hist.setLastKnot(offx, y + offy);
     }
 
     public int getNumKnotsAdded()
diff --git a/svg-core/src/main/java/com/kitfox/svg/pattern/PatternPaint.java b/svg-core/src/main/java/com/kitfox/svg/pattern/PatternPaint.java
index 30864a9..5b9e4d6 100644
--- a/svg-core/src/main/java/com/kitfox/svg/pattern/PatternPaint.java
+++ b/svg-core/src/main/java/com/kitfox/svg/pattern/PatternPaint.java
@@ -1,26 +1,35 @@
 /*
- * PatternPaint.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on April 1, 2004, 3:37 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/pattern/PatternPaintContext.java b/svg-core/src/main/java/com/kitfox/svg/pattern/PatternPaintContext.java
index d7e4c2e..49c8c2c 100644
--- a/svg-core/src/main/java/com/kitfox/svg/pattern/PatternPaintContext.java
+++ b/svg-core/src/main/java/com/kitfox/svg/pattern/PatternPaintContext.java
@@ -1,35 +1,47 @@
 /*
- * PatternPaintContext.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on April 1, 2004, 3:37 AM
  */
 
 package com.kitfox.svg.pattern;
 
+import com.kitfox.svg.SVGConst;
 import java.awt.*;
 import java.awt.geom.*;
 import java.awt.image.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * @author Mark McKay
@@ -65,7 +77,10 @@ public class PatternPaintContext implements PaintContext
             xform = distortXform.createInverse();
             xform.concatenate(userXform.createInverse());
         }
-        catch (Exception e) { e.printStackTrace(); }
+        catch (Exception e) 
+        {
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
+        }
 
         sourceWidth = source.getWidth();
         sourceHeight = source.getHeight();
@@ -81,7 +96,7 @@ public class PatternPaintContext implements PaintContext
     public Raster getRaster(int x, int y, int w, int h)
     {
 //System.err.println("" + x + ", " + y + ", " + w + ", " + h);
-        if (buf == null || buf.getWidth() != w || buf.getHeight() != buf.getHeight())
+        if (buf == null || buf.getWidth() != w || buf.getHeight() != h)
         {
             buf = new BufferedImage(w, h, source.getType());
         }
diff --git a/svg-core/src/main/java/com/kitfox/svg/util/Base64Consts.java b/svg-core/src/main/java/com/kitfox/svg/util/Base64Consts.java
new file mode 100644
index 0000000..368e657
--- /dev/null
+++ b/svg-core/src/main/java/com/kitfox/svg/util/Base64Consts.java
@@ -0,0 +1,48 @@
+/*
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
+ *
+ * Created on July 23, 2007
+ */
+
+package com.kitfox.svg.util;
+
+/**
+ *
+ * @author kitfox
+ */
+public interface Base64Consts
+{
+    final String BASE64_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+    
+    
+}
diff --git a/svg-core/src/main/java/com/kitfox/svg/util/Base64InputStream.java b/svg-core/src/main/java/com/kitfox/svg/util/Base64InputStream.java
new file mode 100644
index 0000000..b475333
--- /dev/null
+++ b/svg-core/src/main/java/com/kitfox/svg/util/Base64InputStream.java
@@ -0,0 +1,144 @@
+/*
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
+ *
+ * Created on July 23, 2007
+ */
+
+package com.kitfox.svg.util;
+
+import java.io.FilterInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
+
+/**
+ *
+ * @author kitfox
+ */
+public class Base64InputStream extends FilterInputStream implements Base64Consts
+{
+    static final HashMap lookup64 = new HashMap();
+    static {
+        byte[] ch = BASE64_CHARS.getBytes();
+        for (int i = 0; i < ch.length; i++)
+        {
+            lookup64.put(new Byte(ch[i]), new Integer(i));
+        }
+    }
+    
+    int buf;
+    int charsInBuf;
+    
+    /** Creates a new instance of Base64InputStream */
+    public Base64InputStream(InputStream in)
+    {
+        super(in);
+    }
+
+    public int read(byte[] b, int off, int len) throws IOException
+    {
+        for (int i = 0; i < len; ++i)
+        {
+            int val = read();
+            if (val == -1)
+            {
+                return i == 0 ? -1 : i;
+            }
+            b[off + i] = (byte)val;
+        }
+        return len;
+    }
+
+
+    public int read() throws IOException
+    {
+        if (charsInBuf == 0)
+        {
+            fillBuffer();
+            if (charsInBuf == 0)
+            {
+                return -1;
+            }
+        }
+        
+        return (buf >> (--charsInBuf * 8)) & 0xff;
+    }
+    
+    private void fillBuffer() throws IOException
+    {
+        //Read next 4 characters
+        int bitsRead = 0;
+        while (bitsRead < 24)
+        {
+            int val = in.read();
+            if (val == -1 || val == '=') break;
+
+            Integer lval = (Integer)lookup64.get(new Byte((byte)val));
+            if (lval == null) continue;
+
+            buf = buf << 6 | lval.byteValue();
+            bitsRead += 6;
+        }
+
+        switch (bitsRead)
+        {
+            case 6:
+            {
+                throw new RuntimeException("Invalid termination of base64 encoding.");
+            }
+            case 12:
+            {
+                buf >>= 4;
+                bitsRead = 8;
+                break;
+            }
+            case 18:
+            {
+                buf >>= 2;
+                bitsRead = 16;
+                break;
+            }
+            case 0:
+            case 24:
+            {
+                break;
+            }
+            default:
+            {
+                assert false : "Should never encounter other bit counts";
+            }
+        }
+
+        charsInBuf = bitsRead / 8;
+    }
+}
diff --git a/svg-core/src/main/java/com/kitfox/svg/util/Base64OutputStream.java b/svg-core/src/main/java/com/kitfox/svg/util/Base64OutputStream.java
new file mode 100644
index 0000000..0cdaf1c
--- /dev/null
+++ b/svg-core/src/main/java/com/kitfox/svg/util/Base64OutputStream.java
@@ -0,0 +1,122 @@
+/*
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
+ *
+ * Created on July 23, 2007
+ */
+
+package com.kitfox.svg.util;
+
+import java.io.FilterOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+/**
+ *
+ * @author kitfox
+ */
+public class Base64OutputStream extends FilterOutputStream implements Base64Consts
+{
+    int buf;
+    int bitsUsed;
+    int charsPrinted;
+    
+    /** Creates a new instance of Base64OutputSream */
+    public Base64OutputStream(OutputStream out)
+    {
+        super(out);
+    }
+
+    public void close() throws IOException
+    {
+        writeBits();
+        super.close();
+    }
+    
+    public void write(int b) throws IOException
+    {
+        buf = buf << 8 | (b & 0xff);
+        bitsUsed += 8;
+        if (bitsUsed == 24)
+        {
+            writeBits();
+        }
+    }
+
+    private void writeBits() throws IOException
+    {
+        int padSize;
+        //Pad unused bits with 0
+        switch (bitsUsed)
+        {
+            case 8:
+            {
+                bitsUsed = 12;
+                buf <<= 4;
+                padSize = 2;
+                break;
+            }
+            case 16:
+            {
+                bitsUsed = 18;
+                buf <<= 2;
+                padSize = 1;
+                break;
+            }
+            default:
+            {
+                padSize = 0;
+                break;
+            }
+        }
+        
+        if (charsPrinted == 76)
+        {
+            out.write('\r');
+            out.write('\n');
+            charsPrinted = 0;
+        } 
+        
+        for (; bitsUsed > 0; bitsUsed -= 6)
+        {
+            int b = buf >> (bitsUsed - 6) & 0x3f;
+            out.write(BASE64_CHARS.charAt(b));
+        }
+        
+        for (int i = 0; i < padSize; i++)
+        {
+            out.write('=');
+        }
+        
+        charsPrinted += 4;
+    }
+}
diff --git a/svg-core/src/main/java/com/kitfox/svg/util/FontSystem.java b/svg-core/src/main/java/com/kitfox/svg/util/FontSystem.java
new file mode 100644
index 0000000..783eb3a
--- /dev/null
+++ b/svg-core/src/main/java/com/kitfox/svg/util/FontSystem.java
@@ -0,0 +1,120 @@
+/*
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
+ *
+ * Created on April 24, 2015
+ */
+package com.kitfox.svg.util;
+
+import com.kitfox.svg.Font;
+import com.kitfox.svg.FontFace;
+import com.kitfox.svg.Glyph;
+import com.kitfox.svg.MissingGlyph;
+import java.awt.Canvas;
+import java.awt.FontMetrics;
+import java.awt.font.FontRenderContext;
+import java.awt.font.GlyphMetrics;
+import java.awt.font.GlyphVector;
+import java.util.HashMap;
+
+/**
+ *
+ * @author kitfox
+ */
+public class FontSystem extends Font
+{
+    java.awt.Font sysFont;
+    FontMetrics fm;
+
+    HashMap glyphCache = new HashMap();
+    
+    public FontSystem(String fontFamily, int fontStyle, int fontWeight, int fontSize)
+    {
+        int style;
+        switch (fontStyle)
+        {
+            case com.kitfox.svg.Text.TXST_ITALIC:
+                style = java.awt.Font.ITALIC;
+                break;
+            default:
+                style = java.awt.Font.PLAIN;
+                break;
+        }
+
+        int weight;
+        switch (fontWeight)
+        {
+            case com.kitfox.svg.Text.TXWE_BOLD:
+            case com.kitfox.svg.Text.TXWE_BOLDER:
+                weight = java.awt.Font.BOLD;
+                break;
+            default:
+                weight = java.awt.Font.PLAIN;
+                break;
+        }
+        sysFont = new java.awt.Font(fontFamily, style | weight, (int) fontSize);
+        
+        Canvas c = new Canvas();
+        fm = c.getFontMetrics(sysFont);
+        
+        FontFace face = new FontFace();
+        face.setAscent(fm.getAscent());
+        face.setDescent(fm.getDescent());
+        face.setUnitsPerEm(fm.charWidth('M'));
+        setFontFace(face);
+    }
+
+    public MissingGlyph getGlyph(String unicode)
+    {
+        FontRenderContext frc = new FontRenderContext(null, true, true);
+        GlyphVector vec = sysFont.createGlyphVector(frc, unicode);
+        
+        Glyph glyph = (Glyph)glyphCache.get(unicode);
+        if (glyph == null)
+        {
+            glyph = new Glyph();
+            glyph.setPath(vec.getGlyphOutline(0));
+
+            GlyphMetrics gm = vec.getGlyphMetrics(0);
+            glyph.setHorizAdvX((int)gm.getAdvanceX());
+            glyph.setVertAdvY((int)gm.getAdvanceY());
+            glyph.setVertOriginX(0);
+            glyph.setVertOriginY(0);
+            
+            glyphCache.put(unicode, glyph);
+        }
+        
+        return glyph;
+    }
+    
+    
+}
diff --git a/svg-core/src/main/java/com/kitfox/svg/util/TextBuilder.java b/svg-core/src/main/java/com/kitfox/svg/util/TextBuilder.java
new file mode 100644
index 0000000..721eb6a
--- /dev/null
+++ b/svg-core/src/main/java/com/kitfox/svg/util/TextBuilder.java
@@ -0,0 +1,45 @@
+/*
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
+ *
+ * Created on April 24, 2015
+ */
+package com.kitfox.svg.util;
+
+/**
+ *
+ * @author kitfox
+ */
+public class TextBuilder
+{
+    
+}
diff --git a/svg-core/src/main/java/com/kitfox/svg/xml/Base64InputStream.java b/svg-core/src/main/java/com/kitfox/svg/xml/Base64InputStream.java
deleted file mode 100755
index 3851c39..0000000
--- a/svg-core/src/main/java/com/kitfox/svg/xml/Base64InputStream.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-
-package com.kitfox.svg.xml;
-
-import java.io.FilterInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- *
- * @author kitfox
- */
-public class Base64InputStream extends FilterInputStream
-{
-    int buf;  //Cached bytes to read
-    int bufSize;  //Number of bytes waiting to be read from buffer
-    boolean drain = false;  //After set, read no more chunks
-    
-    public Base64InputStream(InputStream in)
-    {
-        super(in);
-    }
-
-    public int read() throws IOException
-    {
-        if (drain && bufSize == 0)
-        {
-            return -1;
-        }
-        
-        if (bufSize == 0)
-        {
-            //Read next chunk into 4 byte buffer
-            int chunk = in.read();
-            if (chunk == -1)
-            {
-                drain = true;
-                return -1;
-            }
-            
-            //get remaining 3 bytes
-            for (int i = 0; i < 3; ++i)
-            {
-                int value = in.read();
-                if (value == -1)
-                {
-                    throw new IOException("Early termination of base64 stream");
-                }
-                chunk = (chunk << 8) | (value & 0xff);
-            }
-
-            //Check for special termination characters
-            if ((chunk & 0xffff) == (((byte)'=' << 8) | (byte)'='))
-            {
-                bufSize = 1;
-                drain = true;
-            }
-            else if ((chunk & 0xff) == (byte)'=')
-            {
-                bufSize = 2;
-                drain = true;
-            }
-            else
-            {
-                bufSize = 3;
-            }
-            
-            //Fill buffer with decoded characters
-            for (int i = 0; i < bufSize + 1; ++i)
-            {
-                buf = (buf << 6) | Base64Util.decodeByte((chunk >> 24) & 0xff);
-                chunk <<= 8;
-            }
-        }
-        
-        //Return nth remaing bte & decrement counter
-        return (buf >> (--bufSize * 8)) & 0xff;
-    } 
-}
diff --git a/svg-core/src/main/java/com/kitfox/svg/xml/Base64OutputStream.java b/svg-core/src/main/java/com/kitfox/svg/xml/Base64OutputStream.java
deleted file mode 100755
index db167de..0000000
--- a/svg-core/src/main/java/com/kitfox/svg/xml/Base64OutputStream.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-
-package com.kitfox.svg.xml;
-
-import java.io.FilterOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-
-/**
- *
- * @author kitfox
- */
-public class Base64OutputStream extends FilterOutputStream
-{
-    int buf;
-    int numBytes;
-    int numChunks;
-    
-    public Base64OutputStream(OutputStream out)
-    {
-        super(out);
-    }
-    
-    public void flush() throws IOException
-    {
-        out.flush();
-    }
-    
-    public void close() throws IOException
-    {
-        switch (numBytes)
-        {
-            case 1:
-                buf <<= 4;
-                out.write(getBase64Byte(1));
-                out.write(getBase64Byte(0));
-                out.write('=');
-                out.write('=');
-                break;
-            case 2:
-                buf <<= 2;
-                out.write(getBase64Byte(2));
-                out.write(getBase64Byte(1));
-                out.write(getBase64Byte(0));
-                out.write('=');
-                break;
-            case 3:
-                out.write(getBase64Byte(3));
-                out.write(getBase64Byte(2));
-                out.write(getBase64Byte(1));
-                out.write(getBase64Byte(0));
-                break;
-            default:
-                assert false;
-        }
-        
-        out.close();
-    }
-    
-    public void write(int b) throws IOException
-    {
-        buf = (buf << 8) | (0xff & b);
-        numBytes++;
-        
-        if (numBytes == 3)
-        {
-            out.write(getBase64Byte(3));
-            out.write(getBase64Byte(2));
-            out.write(getBase64Byte(1));
-            out.write(getBase64Byte(0));
-            
-            numBytes = 0;
-            numChunks++;
-            if (numChunks == 16)
-            {
-//                out.write('\r');
-//                out.write('\n');
-                numChunks = 0;
-            }
-        }
-    }
-    
-    public byte getBase64Byte(int index)
-    {
-        return Base64Util.encodeByte((buf >> (index * 6)) & 0x3f);
-    }
-}
diff --git a/svg-core/src/main/java/com/kitfox/svg/xml/Base64Util.java b/svg-core/src/main/java/com/kitfox/svg/xml/Base64Util.java
deleted file mode 100755
index a95b9d4..0000000
--- a/svg-core/src/main/java/com/kitfox/svg/xml/Base64Util.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-
-package com.kitfox.svg.xml;
-
-/**
- *
- * @author kitfox
- */
-public class Base64Util 
-{
-    static final byte[] valueToBase64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".getBytes();
-    static final byte[] base64ToValue = new byte[128];
-    static {
-        for (int i = 0; i < valueToBase64.length; ++i)
-        {
-            base64ToValue[valueToBase64[i]] = (byte)i;
-        }
-    }
-    
-    static public byte encodeByte(int value)
-    {
-        return valueToBase64[value];
-    }
-    
-    static public byte decodeByte(int base64Char)
-    {
-        return base64ToValue[base64Char];
-    }
-}
diff --git a/svg-core/src/main/java/com/kitfox/svg/xml/ColorTable.java b/svg-core/src/main/java/com/kitfox/svg/xml/ColorTable.java
index 0acba6d..32788a4 100644
--- a/svg-core/src/main/java/com/kitfox/svg/xml/ColorTable.java
+++ b/svg-core/src/main/java/com/kitfox/svg/xml/ColorTable.java
@@ -1,26 +1,35 @@
 /*
- * ColorTable.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 26, 2004, 4:34 AM
  */
@@ -215,6 +224,11 @@ public class ColorTable
     {
         Color retVal = null;
 
+        if ("".equals(val))
+        {
+            return null;
+        }
+        
         if (val.charAt(0) == '#')
         {
             String hexStrn = val.substring(1);
diff --git a/svg-core/src/main/java/com/kitfox/svg/xml/NumberWithUnits.java b/svg-core/src/main/java/com/kitfox/svg/xml/NumberWithUnits.java
index d319fb2..ac35e09 100644
--- a/svg-core/src/main/java/com/kitfox/svg/xml/NumberWithUnits.java
+++ b/svg-core/src/main/java/com/kitfox/svg/xml/NumberWithUnits.java
@@ -1,26 +1,35 @@
 /*
- * NumberWithUnits.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 18, 2004, 2:43 PM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/xml/ReadableXMLElement.java b/svg-core/src/main/java/com/kitfox/svg/xml/ReadableXMLElement.java
index c7416ba..fa9f66e 100644
--- a/svg-core/src/main/java/com/kitfox/svg/xml/ReadableXMLElement.java
+++ b/svg-core/src/main/java/com/kitfox/svg/xml/ReadableXMLElement.java
@@ -1,26 +1,35 @@
 /*
- * LoadableObject.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on September 1, 2003, 1:46 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/xml/StyleAttribute.java b/svg-core/src/main/java/com/kitfox/svg/xml/StyleAttribute.java
index a3c9e63..b60a1bd 100644
--- a/svg-core/src/main/java/com/kitfox/svg/xml/StyleAttribute.java
+++ b/svg-core/src/main/java/com/kitfox/svg/xml/StyleAttribute.java
@@ -1,35 +1,47 @@
 /*
- * StyleAttribute.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on January 27, 2004, 2:53 PM
  */
 
 package com.kitfox.svg.xml;
 
+import com.kitfox.svg.SVGConst;
 import java.awt.*;
-import java.net.*;
 import java.io.*;
+import java.net.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import java.util.regex.*;
 
 /**
@@ -40,7 +52,7 @@ public class StyleAttribute implements Serializable
 {
     public static final long serialVersionUID = 0;
 
-    static final Matcher matchUrl = Pattern.compile("\\s*url\\((.*)\\)\\s*").matcher("");
+    static final Pattern patternUrl = Pattern.compile("\\s*url\\((.*)\\)\\s*");
     static final Matcher matchFpNumUnits = Pattern.compile("\\s*([-+]?((\\d*\\.\\d+)|(\\d+))([-+]?[eE]\\d+)?)\\s*(px|cm|mm|in|pc|pt|em|ex)\\s*").matcher("");
     
     String name;
@@ -67,10 +79,20 @@ public class StyleAttribute implements Serializable
         this.stringValue = stringValue;
     }
 
-    public String getName() { return name; }
-    public StyleAttribute setName(String name) { this.name = name; return this; }
+    public String getName() {
+        return name;
+    }
     
-    public String getStringValue() { return stringValue; }
+    public StyleAttribute setName(String name)
+    {
+        this.name = name;
+        return this;
+    }
+    
+    public String getStringValue()
+    {
+        return stringValue; 
+    }
 
     public String[] getStringList() 
     { 
@@ -176,8 +198,11 @@ public class StyleAttribute implements Serializable
 
     public String parseURLFn()
     {
-        matchUrl.reset(stringValue);
-        if (!matchUrl.matches()) return null;
+        Matcher matchUrl = patternUrl.matcher(stringValue);
+        if (!matchUrl.matches()) 
+        {
+            return null;
+        }
         return matchUrl.group(1);
     }
 
@@ -190,7 +215,7 @@ public class StyleAttribute implements Serializable
         }
         catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
             return null;
         }
     }
@@ -205,7 +230,7 @@ public class StyleAttribute implements Serializable
         }
         catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
             return null;
         }
     }
@@ -263,7 +288,7 @@ public class StyleAttribute implements Serializable
         }
         catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
             return null;
         }
     }
@@ -284,7 +309,7 @@ public class StyleAttribute implements Serializable
         }
         catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
         }
     }
 }
diff --git a/svg-core/src/main/java/com/kitfox/svg/xml/StyleSheet.java b/svg-core/src/main/java/com/kitfox/svg/xml/StyleSheet.java
new file mode 100644
index 0000000..6d58273
--- /dev/null
+++ b/svg-core/src/main/java/com/kitfox/svg/xml/StyleSheet.java
@@ -0,0 +1,67 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package com.kitfox.svg.xml;
+
+import com.kitfox.svg.SVGConst;
+import java.util.HashMap;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ *
+ * @author kitfox
+ */
+public class StyleSheet
+{
+    HashMap ruleMap = new HashMap();
+
+    public static StyleSheet parseSheet(String src)
+    {
+        //Implement CS parser later
+        Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+            "CSS parser not implemented yet");
+        return null;
+    }
+    
+    public void addStyleRule(StyleSheetRule rule, String value)
+    {
+        ruleMap.put(rule, value);
+    }
+    
+    public boolean getStyle(StyleAttribute attrib, String tagName, String cssClass)
+    {
+        StyleSheetRule rule = new StyleSheetRule(attrib.getName(), tagName, cssClass);
+        String value = (String)ruleMap.get(rule);
+        
+        if (value != null)
+        {
+            attrib.setStringValue(value);
+            return true;
+        }
+        
+        //Try again using just class name
+        rule = new StyleSheetRule(attrib.getName(), null, cssClass);
+        value = (String)ruleMap.get(rule);
+        
+        if (value != null)
+        {
+            attrib.setStringValue(value);
+            return true;
+        }
+        
+        //Try again using just tag name
+        rule = new StyleSheetRule(attrib.getName(), tagName, null);
+        value = (String)ruleMap.get(rule);
+        
+        if (value != null)
+        {
+            attrib.setStringValue(value);
+            return true;
+        }
+        
+        return false;
+    }
+    
+}
diff --git a/svg-core/src/main/java/com/kitfox/svg/xml/StyleSheetRule.java b/svg-core/src/main/java/com/kitfox/svg/xml/StyleSheetRule.java
new file mode 100644
index 0000000..5389c2d
--- /dev/null
+++ b/svg-core/src/main/java/com/kitfox/svg/xml/StyleSheetRule.java
@@ -0,0 +1,59 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package com.kitfox.svg.xml;
+
+/**
+ *
+ * @author kitfox
+ */
+public class StyleSheetRule
+{
+    final String styleName;
+    final String tag;
+    final String className;
+
+    public StyleSheetRule(String styleName, String tag, String className)
+    {
+        this.styleName = styleName;
+        this.tag = tag;
+        this.className = className;
+    }
+
+    public int hashCode()
+    {
+        int hash = 7;
+        hash = 13 * hash + (this.styleName != null ? this.styleName.hashCode() : 0);
+        hash = 13 * hash + (this.tag != null ? this.tag.hashCode() : 0);
+        hash = 13 * hash + (this.className != null ? this.className.hashCode() : 0);
+        return hash;
+    }
+
+    public boolean equals(Object obj)
+    {
+        if (obj == null)
+        {
+            return false;
+        }
+        if (getClass() != obj.getClass())
+        {
+            return false;
+        }
+        final StyleSheetRule other = (StyleSheetRule) obj;
+        if ((this.styleName == null) ? (other.styleName != null) : !this.styleName.equals(other.styleName))
+        {
+            return false;
+        }
+        if ((this.tag == null) ? (other.tag != null) : !this.tag.equals(other.tag))
+        {
+            return false;
+        }
+        if ((this.className == null) ? (other.className != null) : !this.className.equals(other.className))
+        {
+            return false;
+        }
+        return true;
+    }
+
+}
diff --git a/svg-core/src/main/java/com/kitfox/svg/xml/WritableXMLElement.java b/svg-core/src/main/java/com/kitfox/svg/xml/WritableXMLElement.java
index 09bf00e..9e30f3d 100644
--- a/svg-core/src/main/java/com/kitfox/svg/xml/WritableXMLElement.java
+++ b/svg-core/src/main/java/com/kitfox/svg/xml/WritableXMLElement.java
@@ -1,26 +1,35 @@
 /*
- * LoadableObject.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on September 1, 2003, 1:46 AM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/xml/XMLParseUtil.java b/svg-core/src/main/java/com/kitfox/svg/xml/XMLParseUtil.java
index 0d0121b..6254279 100644
--- a/svg-core/src/main/java/com/kitfox/svg/xml/XMLParseUtil.java
+++ b/svg-core/src/main/java/com/kitfox/svg/xml/XMLParseUtil.java
@@ -1,38 +1,50 @@
 /*
- * XMLParseUtil.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 18, 2004, 1:49 PM
  */
 
 package com.kitfox.svg.xml;
 
+import com.kitfox.svg.SVGConst;
 import org.w3c.dom.*;
 import java.awt.*;
 import java.net.*;
 import java.util.*;
 import java.util.regex.*;
 import java.lang.reflect.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * @author Mark McKay
@@ -139,8 +151,8 @@ public class XMLParseUtil
         }
         catch (StringIndexOutOfBoundsException e)
         {
-            System.err.println("XMLParseUtil: regex parse problem: '" + val + "'");
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, 
+                "XMLParseUtil: regex parse problem: '" + val + "'", e);
         }
 
         val = fpMatch.group(1);
@@ -536,8 +548,15 @@ public class XMLParseUtil
             if (!ele.getTagName().equals(name)) continue;
 
             ReadableXMLElement newObj = null;
-            try { newObj = (ReadableXMLElement)classType.newInstance(); }
-            catch (Exception e) { e.printStackTrace(); continue; }
+            try
+            {
+                newObj = (ReadableXMLElement)classType.newInstance();
+            }
+            catch (Exception e)
+            {
+                Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
+                continue;
+            }
             newObj.read(ele, docRoot);
 
             if (newObj == null) continue;
@@ -566,13 +585,6 @@ public class XMLParseUtil
 
         HashMap retMap = new HashMap();
 
-/*
-        Class[] params = {Element.class, URL.class};
-        Method loadMethod = null;
-        try { loadMethod = classType.getMethod("load", params); }
-        catch (Exception e) { e.printStackTrace(); return null; }
-
- */
         NodeList nl = root.getChildNodes();
         int size = nl.getLength();
         for (int i = 0; i < size; i++)
@@ -583,16 +595,17 @@ public class XMLParseUtil
             if (!ele.getTagName().equals(name)) continue;
 
             ReadableXMLElement newObj = null;
-            try { newObj = (ReadableXMLElement)classType.newInstance(); }
-            catch (Exception e) { e.printStackTrace(); continue; }
+            try 
+            {
+                newObj = (ReadableXMLElement)classType.newInstance();
+            }
+            catch (Exception e)
+            {
+                Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
+                continue;
+            }
             newObj.read(ele, docRoot);
-/*
-            Object[] args = {ele, source};
-            Object obj = null;
-            try { obj = loadMethod.invoke(null, args); }
-            catch (Exception e) { e.printStackTrace(); }
 
- */
             if (newObj == null) continue;
 
             String keyVal = getAttribString(ele, key);
@@ -614,13 +627,6 @@ public class XMLParseUtil
 
         HashSet retSet = new HashSet();
 
-        /*
-        Class[] params = {Element.class, URL.class};
-        Method loadMethod = null;
-        try { loadMethod = classType.getMethod("load", params); }
-        catch (Exception e) { e.printStackTrace(); return null; }
-        */
-
         NodeList nl = root.getChildNodes();
         int size = nl.getLength();
         for (int i = 0; i < size; i++)
@@ -631,17 +637,21 @@ public class XMLParseUtil
             if (!ele.getTagName().equals(name)) continue;
 
             ReadableXMLElement newObj = null;
-            try { newObj = (ReadableXMLElement)classType.newInstance(); }
-            catch (Exception e) { e.printStackTrace(); continue; }
+            try 
+            {
+                newObj = (ReadableXMLElement)classType.newInstance();
+            }
+            catch (Exception e)
+            {
+                Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
+                continue;
+            }
             newObj.read(ele, docRoot);
-            /*
-            Object[] args = {ele, source};
-            Object obj = null;
-            try { obj = loadMethod.invoke(null, args); }
-            catch (Exception e) { e.printStackTrace(); }
-             */
 
-            if (newObj == null) continue;
+            if (newObj == null)
+            {
+                continue;
+            }
 
             retSet.add(newObj);
         }
@@ -671,8 +681,15 @@ public class XMLParseUtil
             if (!ele.getTagName().equals(name)) continue;
 
             ReadableXMLElement newObj = null;
-            try { newObj = (ReadableXMLElement)classType.newInstance(); }
-            catch (Exception e) { e.printStackTrace(); continue; }
+            try 
+            { 
+                newObj = (ReadableXMLElement)classType.newInstance();
+            }
+            catch (Exception e)
+            {
+                Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
+                continue;
+            }
             newObj.read(ele, docRoot);
 
             elementCache.addLast(newObj);
@@ -789,10 +806,6 @@ public class XMLParseUtil
      */
     public static HashMap parseStyle(String styleString, HashMap map) {
         final Pattern patSemi = Pattern.compile(";");
-        final Pattern patColonSpace = Pattern.compile(":");
-
-        //Strips left and right whitespace
-        final Matcher matcherContent = Pattern.compile("\\s*([^\\s](.*[^\\s])?)\\s*").matcher("");
 
         String[] styles = patSemi.split(styleString);
 
@@ -803,17 +816,16 @@ public class XMLParseUtil
                 continue;
             }
 
-            String[] vals = patColonSpace.split(styles[i]);
-
-            matcherContent.reset(vals[0]);
-            matcherContent.matches();
-            vals[0] = matcherContent.group(1);
+            int colon = styles[i].indexOf(':');
+            if (colon == -1)
+            {
+                continue;
+            }
 
-            matcherContent.reset(vals[1]);
-            matcherContent.matches();
-            vals[1] = matcherContent.group(1);
+            String key = styles[i].substring(0, colon).trim();
+            String value = styles[i].substring(colon + 1).trim();
 
-            map.put(vals[0], new StyleAttribute(vals[0], vals[1]));
+            map.put(key, new StyleAttribute(key, value));
         }
 
         return map;
diff --git a/svg-core/src/main/java/com/kitfox/svg/xml/cpx/CPXConsts.java b/svg-core/src/main/java/com/kitfox/svg/xml/cpx/CPXConsts.java
index 6cbcaba..9a286ef 100644
--- a/svg-core/src/main/java/com/kitfox/svg/xml/cpx/CPXConsts.java
+++ b/svg-core/src/main/java/com/kitfox/svg/xml/cpx/CPXConsts.java
@@ -1,26 +1,35 @@
 /*
- * CPXConst.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 12, 2004, 12:51 PM
  */
diff --git a/svg-core/src/main/java/com/kitfox/svg/xml/cpx/CPXInputStream.java b/svg-core/src/main/java/com/kitfox/svg/xml/cpx/CPXInputStream.java
index 1e6ee36..1dcb940 100644
--- a/svg-core/src/main/java/com/kitfox/svg/xml/cpx/CPXInputStream.java
+++ b/svg-core/src/main/java/com/kitfox/svg/xml/cpx/CPXInputStream.java
@@ -1,37 +1,47 @@
 /*
- * CPXInputStream.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 12, 2004, 10:34 AM
  */
 
 package com.kitfox.svg.xml.cpx;
 
+import com.kitfox.svg.SVGConst;
 import java.io.*;
-import java.util.*;
 import java.util.zip.*;
 import java.security.*;
-import javax.crypto.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * This class reads/decodes the CPX file format.  This format is a simple
@@ -200,24 +210,26 @@ public class CPXInputStream extends FilterInputStream implements CPXConsts {
             }
             catch (Exception e)
             {
-                e.printStackTrace();
+                Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
                 return -1;
             }
 
             if (!inflater.finished())
             {
-                new Exception("Inflation incomplete").printStackTrace();
+                Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
+                    "Inflation imncomplete");
             }
 
             return numRead == 0 ? -1 : numRead;
         }
 
-        try {
+        try
+        {
             return inflater.inflate(b, off, len);
         }
         catch (DataFormatException e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
             return -1;
         }
     }
diff --git a/svg-core/src/main/java/com/kitfox/svg/xml/cpx/CPXOutputStream.java b/svg-core/src/main/java/com/kitfox/svg/xml/cpx/CPXOutputStream.java
index f129cfb..0465fba 100644
--- a/svg-core/src/main/java/com/kitfox/svg/xml/cpx/CPXOutputStream.java
+++ b/svg-core/src/main/java/com/kitfox/svg/xml/cpx/CPXOutputStream.java
@@ -1,26 +1,35 @@
 /*
- * CPXOutputStream.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 12, 2004, 12:50 PM
  */
@@ -29,8 +38,6 @@ package com.kitfox.svg.xml.cpx;
 
 import java.io.*;
 import java.util.zip.*;
-import java.security.*;
-import javax.crypto.*;
 
 /**
  * @author Mark McKay
diff --git a/svg-core/src/main/java/com/kitfox/svg/xml/cpx/CPXTest.java b/svg-core/src/main/java/com/kitfox/svg/xml/cpx/CPXTest.java
index 1b6954a..cf790a8 100644
--- a/svg-core/src/main/java/com/kitfox/svg/xml/cpx/CPXTest.java
+++ b/svg-core/src/main/java/com/kitfox/svg/xml/cpx/CPXTest.java
@@ -1,34 +1,45 @@
 /*
- * CPXTest.java
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
  *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
  *
- *  The Salamander Project - 2D and 3D graphics libraries in Java
- *  Copyright (C) 2004 Mark McKay
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *  Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
- *  projects can be found at http://www.kitfox.com
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
  *
  * Created on February 12, 2004, 2:45 PM
  */
 
 package com.kitfox.svg.xml.cpx;
 
+import com.kitfox.svg.SVGConst;
 import java.io.*;
-import java.net.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * @author Mark McKay
@@ -64,7 +75,7 @@ public class CPXTest {
         }
         catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
         }
     }
 
@@ -86,14 +97,15 @@ public class CPXTest {
         }
         catch (Exception e)
         {
-            e.printStackTrace();
+            Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, null, e);
         }
     }
 
     /**
      * @param args the command line arguments
      */
-    public static void main(String[] args) {
+    public static void main(String[] args)
+    {
         new CPXTest();
     }
 
diff --git a/svg-example/build.xml b/svg-example/build.xml
index 5eee49c..a6d68a2 100644
--- a/svg-example/build.xml
+++ b/svg-example/build.xml
@@ -51,8 +51,7 @@
       -init-macrodef-junit:     defines macro for junit execution
       -init-macrodef-debug:     defines macro for class debugging
       -init-macrodef-java:      defines macro for class execution
-      -do-jar-with-manifest:    JAR building (if you are using a manifest)
-      -do-jar-without-manifest: JAR building (if you are not using a manifest)
+      -do-jar:                  JAR building
       run:                      execution of project 
       -javadoc-build:           Javadoc generation
       test-report:              JUnit report generation
diff --git a/svg-example/nbproject/build-impl.xml b/svg-example/nbproject/build-impl.xml
index 284b1f5..9c58706 100644
--- a/svg-example/nbproject/build-impl.xml
+++ b/svg-example/nbproject/build-impl.xml
@@ -12,18 +12,18 @@ is divided into following sections:
   - execution
   - debugging
   - javadoc
-  - junit compilation
-  - junit execution
-  - junit debugging
+  - test compilation
+  - test execution
+  - test debugging
   - applet
   - cleanup
 
         -->
 <project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="svg-example-impl">
-    <fail message="Please build using Ant 1.7.1 or higher.">
+    <fail message="Please build using Ant 1.8.0 or higher.">
         <condition>
             <not>
-                <antversion atleast="1.7.1"/>
+                <antversion atleast="1.8.0"/>
             </not>
         </condition>
     </fail>
@@ -54,8 +54,16 @@ is divided into following sections:
         <property file="nbproject/project.properties"/>
     </target>
     <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
+        <property name="platform.java" value="${java.home}/bin/java"/>
         <available file="${manifest.file}" property="manifest.available"/>
-        <available file="${application.splash}" property="splashscreen.available"/>
+        <condition property="splashscreen.available">
+            <and>
+                <not>
+                    <equals arg1="${application.splash}" arg2="" trim="true"/>
+                </not>
+                <available file="${application.splash}"/>
+            </and>
+        </condition>
         <condition property="main.class.available">
             <and>
                 <isset property="main.class"/>
@@ -64,58 +72,51 @@ is divided into following sections:
                 </not>
             </and>
         </condition>
-        <condition property="manifest.available+main.class">
+        <condition property="profile.available">
             <and>
-                <isset property="manifest.available"/>
-                <isset property="main.class.available"/>
+                <isset property="javac.profile"/>
+                <length length="0" string="${javac.profile}" when="greater"/>
+                <matches pattern="1\.[89](\..*)?" string="${javac.source}"/>
             </and>
         </condition>
+        <condition property="do.archive">
+            <or>
+                <not>
+                    <istrue value="${jar.archive.disabled}"/>
+                </not>
+                <istrue value="${not.archive.disabled}"/>
+            </or>
+        </condition>
         <condition property="do.mkdist">
             <and>
+                <isset property="do.archive"/>
                 <isset property="libs.CopyLibs.classpath"/>
                 <not>
                     <istrue value="${mkdist.disabled}"/>
                 </not>
             </and>
         </condition>
-        <condition property="manifest.available+main.class+mkdist.available">
-            <and>
-                <istrue value="${manifest.available+main.class}"/>
-                <isset property="do.mkdist"/>
-            </and>
-        </condition>
-        <condition property="manifest.available+main.class+mkdist.available+splashscreen.available">
-            <and>
-                <istrue value="${manifest.available+main.class+mkdist.available}"/>
-                <istrue value="${splashscreen.available}"/>
-            </and>
-        </condition>
-        <condition property="do.archive">
-            <not>
-                <istrue value="${jar.archive.disabled}"/>
-            </not>
-        </condition>
         <condition property="do.archive+manifest.available">
             <and>
                 <isset property="manifest.available"/>
                 <istrue value="${do.archive}"/>
             </and>
         </condition>
-        <condition property="do.archive+manifest.available+main.class">
+        <condition property="do.archive+main.class.available">
             <and>
-                <istrue value="${manifest.available+main.class}"/>
+                <isset property="main.class.available"/>
                 <istrue value="${do.archive}"/>
             </and>
         </condition>
-        <condition property="do.archive+manifest.available+main.class+mkdist.available">
+        <condition property="do.archive+splashscreen.available">
             <and>
-                <istrue value="${manifest.available+main.class+mkdist.available}"/>
+                <isset property="splashscreen.available"/>
                 <istrue value="${do.archive}"/>
             </and>
         </condition>
-        <condition property="do.archive+manifest.available+main.class+mkdist.available+splashscreen.available">
+        <condition property="do.archive+profile.available">
             <and>
-                <istrue value="${manifest.available+main.class+mkdist.available+splashscreen.available}"/>
+                <isset property="profile.available"/>
                 <istrue value="${do.archive}"/>
             </and>
         </condition>
@@ -143,6 +144,7 @@ is divided into following sections:
             </and>
         </condition>
         <property name="run.jvmargs" value=""/>
+        <property name="run.jvmargs.ide" value=""/>
         <property name="javac.compilerargs" value=""/>
         <property name="work.dir" value="${basedir}"/>
         <condition property="no.deps">
@@ -172,11 +174,56 @@ is divided into following sections:
         </condition>
         <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
         <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
-            <length length="0" string="${endorsed.classpath}" when="greater"/>
+            <and>
+                <isset property="endorsed.classpath"/>
+                <not>
+                    <equals arg1="${endorsed.classpath}" arg2="" trim="true"/>
+                </not>
+            </and>
+        </condition>
+        <condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}">
+            <isset property="profile.available"/>
+        </condition>
+        <condition else="false" property="jdkBug6558476">
+            <and>
+                <matches pattern="1\.[56]" string="${java.specification.version}"/>
+                <not>
+                    <os family="unix"/>
+                </not>
+            </and>
+        </condition>
+        <condition else="false" property="javac.fork">
+            <or>
+                <istrue value="${jdkBug6558476}"/>
+                <istrue value="${javac.external.vm}"/>
+            </or>
         </condition>
-        <property name="javac.fork" value="false"/>
         <property name="jar.index" value="false"/>
+        <property name="jar.index.metainf" value="${jar.index}"/>
+        <property name="copylibs.rebase" value="true"/>
         <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
+        <condition property="junit.available">
+            <or>
+                <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
+                <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
+            </or>
+        </condition>
+        <condition property="testng.available">
+            <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
+        </condition>
+        <condition property="junit+testng.available">
+            <and>
+                <istrue value="${junit.available}"/>
+                <istrue value="${testng.available}"/>
+            </and>
+        </condition>
+        <condition else="testng" property="testng.mode" value="mixed">
+            <istrue value="${junit+testng.available}"/>
+        </condition>
+        <condition else="" property="testng.debug.mode" value="-mixed">
+            <istrue value="${junit+testng.available}"/>
+        </condition>
+        <property name="java.failonerror" value="true"/>
     </target>
     <target name="-post-init">
         <!-- Empty placeholder for easier customization. -->
@@ -231,6 +278,7 @@ is divided into following sections:
                         <path path="@{classpath}"/>
                     </classpath>
                     <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <compilerarg line="${javac.profile.cmd.line.arg}"/>
                     <compilerarg line="${javac.compilerargs}"/>
                     <compilerarg value="-processorpath"/>
                     <compilerarg path="@{processorpath}:${empty.dir}"/>
@@ -270,6 +318,7 @@ is divided into following sections:
                         <path path="@{classpath}"/>
                     </classpath>
                     <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <compilerarg line="${javac.profile.cmd.line.arg}"/>
                     <compilerarg line="${javac.compilerargs}"/>
                     <customize/>
                 </javac>
@@ -304,37 +353,379 @@ is divided into following sections:
                 <delete>
                     <files includesfile="${javac.includesfile.binary}"/>
                 </delete>
-                <delete file="${javac.includesfile.binary}"/>
+                <delete>
+                    <fileset file="${javac.includesfile.binary}"/>
+                </delete>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="${junit.available}" name="-init-macrodef-junit-init">
+        <condition else="false" property="nb.junit.batch" value="true">
+            <and>
+                <istrue value="${junit.available}"/>
+                <not>
+                    <isset property="test.method"/>
+                </not>
+            </and>
+        </condition>
+        <condition else="false" property="nb.junit.single" value="true">
+            <and>
+                <istrue value="${junit.available}"/>
+                <isset property="test.method"/>
+            </and>
+        </condition>
+    </target>
+    <target name="-init-test-properties">
+        <property name="test.binaryincludes" value="<nothing>"/>
+        <property name="test.binarytestincludes" value=""/>
+        <property name="test.binaryexcludes" value=""/>
+    </target>
+    <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
+        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property name="junit.forkmode" value="perTest"/>
+                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
+                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <customize/>
+                </junit>
             </sequential>
         </macrodef>
     </target>
-    <target name="-init-macrodef-junit">
+    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
         <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
             <attribute default="${includes}" name="includes"/>
             <attribute default="${excludes}" name="excludes"/>
             <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
             <sequential>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}">
+                <property name="junit.forkmode" value="perTest"/>
+                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
                     <batchtest todir="${build.test.results.dir}">
                         <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
                         </fileset>
+                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
+                            <filename name="${test.binarytestincludes}"/>
+                        </fileset>
                     </batchtest>
-                    <classpath>
-                        <path path="${run.test.classpath}"/>
-                    </classpath>
                     <syspropertyset>
                         <propertyref prefix="test-sys-prop."/>
                         <mapper from="test-sys-prop.*" to="*" type="glob"/>
                     </syspropertyset>
                     <formatter type="brief" usefile="false"/>
                     <formatter type="xml"/>
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg line="${run.jvmargs}"/>
+                    <jvmarg value="-ea"/>
+                    <customize/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
+    <target if="${testng.available}" name="-init-macrodef-testng">
+        <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
+                    <isset property="test.method"/>
+                </condition>
+                <union id="test.set">
+                    <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
+                        <filename name="@{testincludes}"/>
+                    </fileset>
+                </union>
+                <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
+                <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="svg-example" testname="TestNG tests" workingDir="${work.dir}">
+                    <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
+                    <propertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </propertyset>
+                    <customize/>
+                </testng>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-test-impl">
+        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <echo>No tests executed.</echo>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
+        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize/>
+                </j2seproject3:junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
+        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize/>
+                </j2seproject3:testng>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
+        <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <sequential>
+                <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize>
+                        <classpath>
+                            <path path="${run.test.classpath}"/>
+                        </classpath>
+                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                        <jvmarg line="${run.jvmargs}"/>
+                        <jvmarg line="${run.jvmargs.ide}"/>
+                    </customize>
+                </j2seproject3:test-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
+        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property name="junit.forkmode" value="perTest"/>
+                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
+                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <jvmarg line="${debug-args-line}"/>
+                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+                    <customize/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
+        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property name="junit.forkmode" value="perTest"/>
+                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
+                    <batchtest todir="${build.test.results.dir}">
+                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
+                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
+                            <filename name="${test.binarytestincludes}"/>
+                        </fileset>
+                    </batchtest>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <jvmarg line="${debug-args-line}"/>
+                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+                    <customize/>
                 </junit>
             </sequential>
         </macrodef>
     </target>
+    <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
+        <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize/>
+                </j2seproject3:junit-debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="${testng.available}" name="-init-macrodef-testng-debug">
+        <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <element name="customize2" optional="true"/>
+            <sequential>
+                <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
+                    <isset property="test.method"/>
+                </condition>
+                <condition else="-suitename svg-example -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
+                    <matches pattern=".*\.xml" string="@{testClass}"/>
+                </condition>
+                <delete dir="${build.test.results.dir}" quiet="true"/>
+                <mkdir dir="${build.test.results.dir}"/>
+                <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}">
+                    <customize>
+                        <customize2/>
+                        <jvmarg value="-ea"/>
+                        <arg line="${testng.debug.mode}"/>
+                        <arg line="-d ${build.test.results.dir}"/>
+                        <arg line="-listener org.testng.reporters.VerboseReporter"/>
+                        <arg line="${testng.cmd.args}"/>
+                    </customize>
+                </j2seproject3:debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
+        <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <element implicit="true" name="customize2" optional="true"/>
+            <sequential>
+                <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
+                    <customize2/>
+                </j2seproject3:testng-debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
+        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <sequential>
+                <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize>
+                        <classpath>
+                            <path path="${run.test.classpath}"/>
+                        </classpath>
+                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                        <jvmarg line="${run.jvmargs}"/>
+                        <jvmarg line="${run.jvmargs.ide}"/>
+                    </customize>
+                </j2seproject3:test-debug-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
+        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <sequential>
+                <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
+                    <customize2>
+                        <syspropertyset>
+                            <propertyref prefix="test-sys-prop."/>
+                            <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                        </syspropertyset>
+                    </customize2>
+                </j2seproject3:testng-debug-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
+    <!--
+                pre NB7.2 profiling section; consider it deprecated
+            -->
+    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
+    <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile">
+        <macrodef name="resolve">
+            <attribute name="name"/>
+            <attribute name="value"/>
+            <sequential>
+                <property name="@{name}" value="${env.@{value}}"/>
+            </sequential>
+        </macrodef>
+        <macrodef name="profile">
+            <attribute default="${main.class}" name="classname"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property environment="env"/>
+                <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
+                <java classname="@{classname}" dir="${profiler.info.dir}" failonerror="${java.failonerror}" fork="true" jvm="${profiler.info.jvm}">
+                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
+                    <jvmarg line="${profiler.info.jvmargs}"/>
+                    <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
+                    <arg line="${application.args}"/>
+                    <classpath>
+                        <path path="${run.classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check">
+        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
+        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
+    </target>
+    <!--
+                end of pre NB7.2 profiling section
+            -->
     <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
         <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
             <attribute default="${main.class}" name="name"/>
@@ -385,13 +776,14 @@ is divided into following sections:
             <attribute default="${debug.classpath}" name="classpath"/>
             <element name="customize" optional="true"/>
             <sequential>
-                <java classname="@{classname}" dir="${work.dir}" fork="true">
+                <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true">
                     <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
                     <jvmarg line="${debug-args-line}"/>
                     <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
                     <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
                     <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
                     <jvmarg line="${run.jvmargs}"/>
+                    <jvmarg line="${run.jvmargs.ide}"/>
                     <classpath>
                         <path path="@{classpath}"/>
                     </classpath>
@@ -408,13 +800,15 @@ is divided into following sections:
         <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
             <attribute default="${main.class}" name="classname"/>
             <attribute default="${run.classpath}" name="classpath"/>
+            <attribute default="jvm" name="jvm"/>
             <element name="customize" optional="true"/>
             <sequential>
-                <java classname="@{classname}" dir="${work.dir}" fork="true">
+                <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true">
                     <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
                     <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
                     <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
                     <jvmarg line="${run.jvmargs}"/>
+                    <jvmarg line="${run.jvmargs.ide}"/>
                     <classpath>
                         <path path="@{classpath}"/>
                     </classpath>
@@ -429,6 +823,7 @@ is divided into following sections:
     </target>
     <target name="-init-macrodef-copylibs">
         <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${manifest.file}" name="manifest"/>
             <element name="customize" optional="true"/>
             <sequential>
                 <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
@@ -440,12 +835,15 @@ is divided into following sections:
                     <path path="${run.classpath.without.build.classes.dir}"/>
                     <chainedmapper>
                         <flattenmapper/>
+                        <filtermapper>
+                            <replacestring from=" " to="%20"/>
+                        </filtermapper>
                         <globmapper from="*" to="lib/*"/>
                     </chainedmapper>
                 </pathconvert>
                 <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
-                <copylibs compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}" manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
-                    <fileset dir="${build.classes.dir}"/>
+                <copylibs compress="${jar.compress}" excludeFromCopy="${copylibs.excludes}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
+                    <fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
                     <manifest>
                         <attribute name="Class-Path" value="${jar.classpath}"/>
                         <customize/>
@@ -457,7 +855,7 @@ is divided into following sections:
     <target name="-init-presetdef-jar">
         <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
             <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}">
-                <j2seproject1:fileset dir="${build.classes.dir}"/>
+                <j2seproject1:fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
             </jar>
         </presetdef>
     </target>
@@ -485,7 +883,7 @@ is divided into following sections:
     <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
         <property name="ap.cmd.line.internal" value=""/>
     </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
     <!--
                 ===================
                 COMPILATION SECTION
@@ -512,6 +910,7 @@ is divided into following sections:
             <param location="${project.svg-salamander-core}/build.xml" name="call.script"/>
             <param name="call.target" value="jar"/>
             <param name="transfer.built-jar.properties" value="${built-jar.properties}"/>
+            <param name="transfer.not.archive.disabled" value="true"/>
         </antcall>
     </target>
     <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
@@ -546,7 +945,7 @@ is divided into following sections:
     <target if="has.persistence.xml" name="-copy-persistence-xml">
         <mkdir dir="${build.classes.dir}/META-INF"/>
         <copy todir="${build.classes.dir}/META-INF">
-            <fileset dir="${meta.inf.dir}" includes="persistence.xml"/>
+            <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/>
         </copy>
     </target>
     <target name="-post-compile">
@@ -581,56 +980,67 @@ is divided into following sections:
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive" name="-do-jar-without-manifest" unless="manifest.available">
-        <j2seproject1:jar/>
+    <target depends="init" if="do.archive" name="-do-jar-create-manifest" unless="manifest.available">
+        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
+        <touch file="${tmp.manifest.file}" verbose="false"/>
     </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class">
-        <j2seproject1:jar manifest="${manifest.file}"/>
+    <target depends="init" if="do.archive+manifest.available" name="-do-jar-copy-manifest">
+        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
+        <copy file="${manifest.file}" tofile="${tmp.manifest.file}"/>
     </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available">
-        <j2seproject1:jar manifest="${manifest.file}">
-            <j2seproject1:manifest>
-                <j2seproject1:attribute name="Main-Class" value="${main.class}"/>
-            </j2seproject1:manifest>
-        </j2seproject1:jar>
-        <echo>To run this application from the command line without Ant, try:</echo>
-        <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
-        <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <pathconvert property="run.classpath.with.dist.jar">
-            <path path="${run.classpath}"/>
-            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
-        </pathconvert>
-        <echo>java -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
+    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+main.class.available" name="-do-jar-set-mainclass">
+        <manifest file="${tmp.manifest.file}" mode="update">
+            <attribute name="Main-Class" value="${main.class}"/>
+        </manifest>
+    </target>
+    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+profile.available" name="-do-jar-set-profile">
+        <manifest file="${tmp.manifest.file}" mode="update">
+            <attribute name="Profile" value="${javac.profile}"/>
+        </manifest>
     </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar,-init-macrodef-copylibs" if="do.archive+manifest.available+main.class+mkdist.available+splashscreen.available" name="-do-jar-with-libraries-and-splashscreen">
+    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-set-splashscreen">
         <basename file="${application.splash}" property="splashscreen.basename"/>
         <mkdir dir="${build.classes.dir}/META-INF"/>
         <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/>
-        <j2seproject3:copylibs>
-            <customize>
-                <attribute name="Main-Class" value="${main.class}"/>
-                <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
-            </customize>
-        </j2seproject3:copylibs>
-        <echo>To run this application from the command line without Ant, try:</echo>
+        <manifest file="${tmp.manifest.file}" mode="update">
+            <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
+        </manifest>
+    </target>
+    <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.mkdist" name="-do-jar-copylibs">
+        <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
+        <echo level="info">To run this application from the command line without Ant, try:</echo>
         <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <echo>java -jar "${dist.jar.resolved}"</echo>
+        <echo level="info">java -jar "${dist.jar.resolved}"</echo>
     </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar,-init-macrodef-copylibs" if="do.archive+manifest.available+main.class+mkdist.available" name="-do-jar-with-libraries" unless="splashscreen.available">
-        <j2seproject3:copylibs>
-            <customize>
-                <attribute name="Main-Class" value="${main.class}"/>
-            </customize>
-        </j2seproject3:copylibs>
-        <echo>To run this application from the command line without Ant, try:</echo>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.archive" name="-do-jar-jar" unless="do.mkdist">
+        <j2seproject1:jar manifest="${tmp.manifest.file}"/>
+        <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
         <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <echo>java -jar "${dist.jar.resolved}"</echo>
+        <pathconvert property="run.classpath.with.dist.jar">
+            <path path="${run.classpath}"/>
+            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
+        </pathconvert>
+        <condition else="" property="jar.usage.message" value="To run this application from the command line without Ant, try:${line.separator}${platform.java} -cp ${run.classpath.with.dist.jar} ${main.class}">
+            <isset property="main.class.available"/>
+        </condition>
+        <condition else="debug" property="jar.usage.level" value="info">
+            <isset property="main.class.available"/>
+        </condition>
+        <echo level="${jar.usage.level}" message="${jar.usage.message}"/>
     </target>
+    <target depends="-do-jar-copylibs" if="do.archive" name="-do-jar-delete-manifest">
+        <delete>
+            <fileset file="${tmp.manifest.file}"/>
+        </delete>
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-jar,-do-jar-delete-manifest" name="-do-jar-without-libraries"/>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-copylibs,-do-jar-delete-manifest" name="-do-jar-with-libraries"/>
     <target name="-post-jar">
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries-and-splashscreen,-do-jar-with-libraries,-post-jar" description="Build JAR." name="jar"/>
+    <target depends="init,compile,-pre-jar,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/>
+    <target depends="init,compile,-pre-jar,-do-jar,-post-jar" description="Build JAR." name="jar"/>
     <!--
                 =================
                 EXECUTION SECTION
@@ -696,25 +1106,137 @@ is divided into following sections:
     </target>
     <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
     <!--
+                =================
+                PROFILING SECTION
+                =================
+            -->
+    <!--
+                pre NB7.2 profiler integration
+            -->
+    <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
+        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile/>
+    </target>
+    <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72">
+        <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
+        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile classname="${profile.class}"/>
+    </target>
+    <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
+        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile classname="sun.applet.AppletViewer">
+            <customize>
+                <arg value="${applet.url}"/>
+            </customize>
+        </profile>
+    </target>
+    <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
+        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
+            <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
+            <jvmarg value="${profiler.info.jvmargs.agent}"/>
+            <jvmarg line="${profiler.info.jvmargs}"/>
+            <test name="${profile.class}"/>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+            </classpath>
+            <syspropertyset>
+                <propertyref prefix="test-sys-prop."/>
+                <mapper from="test-sys-prop.*" to="*" type="glob"/>
+            </syspropertyset>
+            <formatter type="brief" usefile="false"/>
+            <formatter type="xml"/>
+        </junit>
+    </target>
+    <!--
+                end of pre NB72 profiling section
+            -->
+    <target if="netbeans.home" name="-profile-check">
+        <condition property="profiler.configured">
+            <or>
+                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
+                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
+            </or>
+        </condition>
+    </target>
+    <target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
+        <startprofiler/>
+        <antcall target="run"/>
+    </target>
+    <target depends="-profile-check,-profile-single-pre72" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-single" unless="profiler.info.jvmargs.agent">
+        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+        <startprofiler/>
+        <antcall target="run-single"/>
+    </target>
+    <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/>
+    <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs">
+        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
+        <startprofiler/>
+        <antcall target="test-single"/>
+    </target>
+    <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
+        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+        <startprofiler/>
+        <antcal target="run-test-with-main"/>
+    </target>
+    <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
+        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
+        <startprofiler/>
+        <antcall target="run-applet"/>
+    </target>
+    <!--
                 ===============
                 JAVADOC SECTION
                 ===============
             -->
     <target depends="init" if="have.sources" name="-javadoc-build">
         <mkdir dir="${dist.javadoc.dir}"/>
-        <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
+        <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
+            <and>
+                <isset property="endorsed.classpath.cmd.line.arg"/>
+                <not>
+                    <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/>
+                </not>
+            </and>
+        </condition>
+        <condition else="" property="bug5101868workaround" value="*.java">
+            <matches pattern="1\.[56](\..*)?" string="${java.version}"/>
+        </condition>
+        <javadoc additionalparam="-J-Dfile.encoding=${file.encoding} ${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version} [...]
             <classpath>
                 <path path="${javac.classpath}"/>
             </classpath>
-            <fileset dir="${src.res.dir}" excludes="${excludes}" includes="${includes}">
+            <fileset dir="${src.res.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
                 <filename name="**/*.java"/>
             </fileset>
-            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
+            <fileset dir="${src.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
                 <filename name="**/*.java"/>
             </fileset>
             <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
                 <include name="**/*.java"/>
+                <exclude name="*.java"/>
             </fileset>
+            <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
         </javadoc>
         <copy todir="${dist.javadoc.dir}">
             <fileset dir="${src.res.dir}" excludes="${excludes}" includes="${includes}">
@@ -734,7 +1256,7 @@ is divided into following sections:
     <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
     <!--
                 =========================
-                JUNIT COMPILATION SECTION
+                TEST COMPILATION SECTION
                 =========================
             -->
     <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
@@ -747,7 +1269,7 @@ is divided into following sections:
     <target if="do.depend.true" name="-compile-test-depend">
         <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
     </target>
-    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
+    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
         <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.src.dir}"/>
         <copy todir="${build.test.classes.dir}">
             <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
@@ -762,7 +1284,7 @@ is divided into following sections:
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
+    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
         <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
         <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
         <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}"/>
@@ -777,14 +1299,14 @@ is divided into following sections:
     <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
     <!--
                 =======================
-                JUNIT EXECUTION SECTION
+                TEST EXECUTION SECTION
                 =======================
             -->
     <target depends="init" if="have.tests" name="-pre-test-run">
         <mkdir dir="${build.test.results.dir}"/>
     </target>
     <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
-        <j2seproject3:junit testincludes="**/*Test.java"/>
+        <j2seproject3:test includes="${includes}" testincludes="**/*Test.java"/>
     </target>
     <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
         <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
@@ -797,39 +1319,40 @@ is divided into following sections:
     </target>
     <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
         <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
-        <j2seproject3:junit excludes="" includes="${test.includes}"/>
+        <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
     </target>
     <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
         <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
     </target>
     <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
+        <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
+        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
+        <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
+        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
     <!--
                 =======================
-                JUNIT DEBUGGING SECTION
+                TEST DEBUGGING SECTION
                 =======================
             -->
-    <target depends="init,compile-test" if="have.tests" name="-debug-start-debuggee-test">
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
         <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
-        <property location="${build.test.results.dir}/TEST-${test.class}.xml" name="test.report.file"/>
-        <delete file="${test.report.file}"/>
-        <mkdir dir="${build.test.results.dir}"/>
-        <j2seproject3:debug classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" classpath="${ant.home}/lib/ant.jar:${ant.home}/lib/ant-junit.jar:${debug.test.classpath}">
-            <customize>
-                <syspropertyset>
-                    <propertyref prefix="test-sys-prop."/>
-                    <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                </syspropertyset>
-                <arg value="${test.class}"/>
-                <arg value="showoutput=true"/>
-                <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/>
-                <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/>
-            </customize>
-        </j2seproject3:debug>
+        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
+        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
+        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
+        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
     </target>
     <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
         <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
     </target>
     <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
+    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
     <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
         <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
     </target>
@@ -887,6 +1410,7 @@ is divided into following sections:
             <param location="${project.svg-salamander-core}/build.xml" name="call.script"/>
             <param name="call.target" value="clean"/>
             <param name="transfer.built-clean.properties" value="${built-clean.properties}"/>
+            <param name="transfer.not.archive.disabled" value="true"/>
         </antcall>
     </target>
     <target depends="init" name="-do-clean">
@@ -901,9 +1425,12 @@ is divided into following sections:
     <target name="-check-call-dep">
         <property file="${call.built.properties}" prefix="already.built."/>
         <condition property="should.call.dep">
-            <not>
-                <isset property="already.built.${call.subproject}"/>
-            </not>
+            <and>
+                <not>
+                    <isset property="already.built.${call.subproject}"/>
+                </not>
+                <available file="${call.script}"/>
+            </and>
         </condition>
     </target>
     <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
diff --git a/svg-example/nbproject/genfiles.properties b/svg-example/nbproject/genfiles.properties
index 82c1ac8..acf2659 100644
--- a/svg-example/nbproject/genfiles.properties
+++ b/svg-example/nbproject/genfiles.properties
@@ -1,8 +1,8 @@
 build.xml.data.CRC32=5288c6a7
-build.xml.script.CRC32=1da34372
-build.xml.stylesheet.CRC32=28e38971 at 1.38.1.45
+build.xml.script.CRC32=0bbcf450
+build.xml.stylesheet.CRC32=8064a381 at 1.68.1.46
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 nbproject/build-impl.xml.data.CRC32=5288c6a7
-nbproject/build-impl.xml.script.CRC32=bb49994c
-nbproject/build-impl.xml.stylesheet.CRC32=229523de at 1.38.3.45
+nbproject/build-impl.xml.script.CRC32=7ea6df96
+nbproject/build-impl.xml.stylesheet.CRC32=05530350 at 1.79.1.48
diff --git a/svg-example/nbproject/private/private.properties b/svg-example/nbproject/private/private.properties
index a122877..74049e2 100644
--- a/svg-example/nbproject/private/private.properties
+++ b/svg-example/nbproject/private/private.properties
@@ -3,4 +3,4 @@ do.depend=false
 do.jar=true
 javac.debug=true
 javadoc.preview=true
-user.properties.file=C:\\Users\\kitfox\\.netbeans\\6.9\\build.properties
+user.properties.file=C:\\Users\\kitfox\\AppData\\Roaming\\NetBeans\\8.1\\build.properties
diff --git a/svg-example/nbproject/private/private.xml b/svg-example/nbproject/private/private.xml
new file mode 100644
index 0000000..119b53f
--- /dev/null
+++ b/svg-example/nbproject/private/private.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
+    <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1"/>
+    <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
+    <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
+        <group name="SvgSalamander">
+            <file>file:/C:/dev/java.net/svgsalamander/trunk/svg-example/src/com/kitfox/svg/example/SimpleIconFrame.java</file>
+            <file>file:/C:/dev/java.net/svgsalamander/trunk/svg-example/src/svgsalamandererror/icons/btn-settings.svg</file>
+            <file>file:/C:/dev/java.net/svgsalamander/trunk/svg-example/src/svgsalamandererror/SvgSalamanderError.java</file>
+            <file>file:/C:/dev/java.net/svgsalamander/trunk/svg-example/res/com/kitfox/svg/example/dor-32-gradient.svg</file>
+            <file>file:/C:/dev/java.net/svgsalamander/trunk/svg-example/src/com/kitfox/svg/example/MenuIconTestFrame.java</file>
+        </group>
+    </open-files>
+</project-private>
diff --git a/svg-example/nbproject/private/retriever/catalog.xml b/svg-example/nbproject/private/retriever/catalog.xml
new file mode 100644
index 0000000..5c6f684
--- /dev/null
+++ b/svg-example/nbproject/private/retriever/catalog.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
+    <system systemId="http://www.w3.org/1999/xlink" uri="www.w3.org/1999/xlink"/>
+    <system systemId="http://www.w3.org/2000/svg" uri="www.w3.org/2000/svg.xml"/>
+    <system systemId="http://creativecommons.org/ns" uri="creativecommons.org/ns.xml"/>
+    <system systemId="http://www.w3.org/1999/02/22-rdf-syntax-ns" uri="www.w3.org/1999/02/22-rdf-syntax-ns.xml"/>
+    <system systemId="http://purl.org/dc/elements/1.1/" uri="dublincore.org/2012/06/14/dcelements"/>
+</catalog>
\ No newline at end of file
diff --git a/svg-example/nbproject/private/retriever/creativecommons.org/ns.xml b/svg-example/nbproject/private/retriever/creativecommons.org/ns.xml
new file mode 100644
index 0000000..c67b6d8
--- /dev/null
+++ b/svg-example/nbproject/private/retriever/creativecommons.org/ns.xml
@@ -0,0 +1,401 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
+"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" 
+      xmlns:xlink="http://www.w3.org/1999/xlink"
+      xmlns:rddl="http://www.rddl.org/"
+      xmlns:dc="http://purl.org/dc/elements/1.1/"
+      xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+      xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+      xmlns:owl="http://www.w3.org/2002/07/owl#"
+      xmlns:cc="http://creativecommons.org/ns#"
+      xml:lang="en-US" lang="en-US">
+
+  <head profile="http://www.w3.org/1999/xhtml/vocab">
+    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
+
+    <title>Describing Copyright in RDF - Creative Commons Rights Expression Language</title>
+
+    <base href="http://creativecommons.org/ns" />
+
+    <link rel="stylesheet" type="text/css" 
+	  href="http://creativecommons.org/wp-content/themes/cc4/style.css" />
+    <link rel="stylesheet" type="text/css" 
+	  href="http://creativecommons.org/wp-content/themes/cc4/support.css" />
+    <link rel="stylesheet" type="text/css" 
+	  href="http://creativecommons.org/includes/ns.css"/>
+
+    <!--[if IE]><link rel="stylesheet" type="text/css" media="screen" href="http://creativecommons.org/wp-content/themes/cc4/style-ie.css" />
+    <![endif]-->
+
+  </head>
+
+  <body>
+
+    <div id="header-wrapper">
+      <div id="header-main" class="box">
+        <span class="logo"><a href="/"><span><img src="/images/cc-title-8.png" alt="creative commons" id="cc-title" border="0"/></span></a></span>
+      </div>
+    </div>
+    <div id="mainmenu">
+      <div class="clear"></div>
+    </div>
+    <div class="box"><div id="wrapper-ie">
+    
+  	<div id="body">
+	  <div id="content">
+	    <div id="main-content">
+	      <div class="block" id="title">
+      		<h2>Describing Copyright in RDF</h2>
+		<h3>Creative Commons Rights Expression Language</h3>
+    	      </div>
+
+    	      <div class="block page">
+		<p>The Creative Commons Rights Expression Language (CC
+		  REL) lets you describe copyright licenses in RDF.
+		  For more information on describing licenses in RDF
+		  and attaching those descriptions to digital works,
+		  see <a href="http://wiki.creativecommons.org/CC_REL">CC
+		  REL</a> in
+		  the <a href="http://wiki.creativecommons.org/">Creative
+		  Commons wiki</a>.
+		</p>
+
+		<h2>Classes</h2>
+
+		<div id="Work" about="#Work" 
+		     typeof="rdfs:Class">
+		  <h4 property="rdfs:label">Work</h4>
+		  <span property="rdfs:comment">a potentially
+		    copyrightable work</span>
+		  <span rev="owl:equivalentClass"
+			resource="http://web.resource.org/cc/Work"></span>
+		</div>
+
+		<div id="License" about="#License" 
+		     typeof="rdfs:Class">
+		  <h4 property="rdfs:label">License</h4>
+		  <span property="rdfs:comment">a set of
+		    requests/permissions to users of a Work, e.g. a
+		    copyright license, the public domain, information
+		    for distributors</span>
+		  <span rel="rdfs:subClassOf"
+		    resource="http://purl.org/dc/terms/LicenseDocument"></span>
+		  <span rev="owl:equivalentClass"
+			resource="http://web.resource.org/cc/License"></span>
+		</div>
+
+		<div id="Jurisdiction" about="#Jurisdiction" 
+		     typeof="rdfs:Class">
+		  <h4 property="rdfs:label">Jurisdiction</h4>
+		  <span property="rdfs:comment">the legal jurisdiction
+		    of a license</span>
+		</div>
+
+		<div id="Permission" about="#Permission" 
+		     typeof="rdfs:Class">
+		  <h4 property="rdfs:label">Permission</h4>
+		  <span property="rdfs:comment">an action that may or
+		    may not be allowed or desired</span>
+		  <span rev="owl:equivalentClass"
+			resource="http://web.resource.org/cc/Permission"></span>
+		</div>
+
+		<div id="Requirement" about="#Requirement" 
+		     typeof="rdfs:Class">
+		  <h4 property="rdfs:label">Requirement</h4>
+		  <span property="rdfs:comment">an action that may or
+		    may not be requested of you</span>
+		  <span rev="owl:equivalentClass"
+			resource="http://web.resource.org/cc/Requirement"></span>
+		</div>
+
+		<div id="Prohibition" about="#Prohibition" 
+		     typeof="rdfs:Class">
+		  <h4 property="rdfs:label">Prohibition</h4>
+		  <span property="rdfs:comment">something you may be
+		    asked not to do</span>
+		  <span rev="owl:equivalentClass"
+			resource="http://web.resource.org/cc/Prohibition"></span>
+		</div>
+
+		<h2>Permissions</h2>
+
+		<div id="Reproduction" about="#Reproduction" 
+		     typeof="cc:Permission">
+		  <h4 property="rdfs:label">Reproduction</h4>
+		  <span property="rdfs:comment">making multiple
+		    copies</span>
+		  <span rev="owl:equivalentClass"
+			resource="http://web.resource.org/cc/Reproduction"></span>
+		</div>
+
+		<div id="Distribution" about="#Distribution" 
+		     typeof="cc:Permission">
+		  <h4 property="rdfs:label">Distribution</h4>
+		  <span property="rdfs:comment">distribution, public
+		    display, and publicly performance</span>
+		  <span rev="owl:equivalentClass"
+			resource="http://web.resource.org/cc/Distribution"></span>
+		</div>
+
+		<div id="DerivativeWorks" about="#DerivativeWorks" 
+		     typeof="cc:Permission">
+		  <h4 property="rdfs:label">Derivative Works</h4>
+		  <span property="rdfs:comment">distribution of
+		    derivative works</span>
+		  <span rev="owl:equivalentClass"
+			resource="http://web.resource.org/cc/DerivativeWorks"></span>
+		</div>
+
+		<div id="Sharing" about="#Sharing" 
+		     typeof="cc:Permission">
+		  <h4 property="rdfs:label">Sharing</h4>
+		  <span property="rdfs:comment">permits commercial
+		    derivatives, but only non-commercial
+		    distribution</span>
+		</div>
+
+		<h2>Requirements</h2>
+
+		<div id="Notice" about="#Notice" 
+		     typeof="cc:Requirement">
+		  <h4 property="rdfs:label">Notice</h4>
+		  <span property="rdfs:comment">copyright and license
+		    notices be kept intact</span>
+		  <span rev="owl:equivalentClass"
+			resource="http://web.resource.org/cc/Notice"></span>
+		</div>
+
+		<div id="Attribution" about="#Attribution" 
+		     typeof="cc:Requirement">
+		  <h4 property="rdfs:label">Attribution</h4>
+		  <span property="rdfs:comment">credit be given to
+		    copyright holder and/or author</span>
+		  <span rev="owl:equivalentClass"
+			resource="http://web.resource.org/cc/Attribution"></span>
+		</div>
+
+		<div id="ShareAlike" about="#ShareAlike" 
+		     typeof="cc:Requirement">
+		  <h4 property="rdfs:label">Share Alike</h4>
+		  <span property="rdfs:comment">derivative works be
+		    licensed under the same terms or compatible terms
+		    as the original work</span>
+		  <span rev="owl:equivalentClass"
+			resource="http://web.resource.org/cc/ShareAlike"></span>
+		</div>
+
+		<div id="SourceCode" about="#SourceCode" 
+		     typeof="cc:Requirement">
+		  <h4 property="rdfs:label">Source Code</h4>
+		  <span property="rdfs:comment">source code (the
+		    preferred form for making modifications) must be
+		    provided when exercising some rights granted by
+		    the license.</span>
+		  <span rev="owl:equivalentClass"
+			resource="http://web.resource.org/cc/SourceCode"></span>
+		</div>
+
+		<div id="Copyleft" about="#Copyleft" 
+		     typeof="cc:Requirement">
+		  <h4 property="rdfs:label">Copyleft</h4>
+		  <span property="rdfs:comment">derivative and
+		    combined works must be licensed under specified
+		    terms, similar to those on the original
+		    work</span>
+		</div>
+
+		<div id="LesserCopyleft" about="#LesserCopyleft" 
+		     typeof="cc:Requirement">
+		  <h4 property="rdfs:label">Lesser Copyleft</h4>
+		  <span property="rdfs:comment">derivative works must
+		    be licensed under specified terms, with at least
+		    the same conditions as the original work;
+		    combinations with the work may be licensed under
+		    different terms</span>
+		</div>
+
+		<h2>Prohibitions</h2>
+
+		<div id="CommercialUse" about="#CommercialUse" 
+		     typeof="cc:Prohibition">
+		  <h4 property="rdfs:label">Commercial Use</h4>
+		  <span property="rdfs:comment">exercising rights for
+		    commercial purposes</span>
+		  <span rev="owl:equivalentClass"
+			resource="http://web.resource.org/cc/CommercialUse"></span>
+		</div>
+
+		<div id="HighIncomeNationUse" about="#HighIncomeNationUse" 
+		     typeof="cc:Prohibition">
+		  <h4 property="rdfs:label">High Income Nation Use</h4>
+		  <span property="rdfs:comment">use in a
+		    non-developing country</span>
+		</div>
+
+		<h2>License Properties</h2>
+
+		<div id="permits" about="#permits" 
+		     typeof="rdf:Property">
+		  <h4>cc:permits</h4> A 
+		  <a rel="rdfs:domain" href="#License">License</a> 
+		  <span property="rdfs:label">permits</span>
+		  a <a rel="rdfs:range"
+		  href="#Permission">Permission</a>.
+		  <span rev="owl:equivalentProperty"
+			resource="http://web.resource.org/cc/permits"></span>
+		</div>
+
+		<div id="requires" about="#requires" 
+		     typeof="rdf:Property">
+		  <h4>cc:requires</h4> A 
+		  <a rel="rdfs:domain" href="#License">License</a> 
+		  <span property="rdfs:label">requires</span>
+		  a <a rel="rdfs:range"
+		  href="#Requirement">Requirement</a>.
+		  <span rev="owl:equivalentProperty"
+			resource="http://web.resource.org/cc/requires"></span>
+		</div>
+
+		<div id="prohibits" about="#prohibits" 
+		     typeof="rdf:Property">
+		  <h4>cc:prohibits</h4> A 
+		  <a rel="rdfs:domain" href="#License">License</a> 
+		  <span property="rdfs:label">prohibits</span>
+		  a <a rel="rdfs:range"
+		  href="#Prohibition">Prohibition</a>.
+		  <span rev="owl:equivalentProperty"
+			resource="http://web.resource.org/cc/prohibits"></span>
+		</div>
+
+		<div id="jurisdiction" about="#jurisdiction" 
+		     typeof="rdf:Property">
+		  <h4>cc:jurisdiction</h4> A 
+		  <a rel="rdfs:domain" href="#License">License</a> may
+		  have
+		  a <span property="rdfs:label">jurisdiction</span>,
+		  as defined by <a rel="rdfs:range"
+		  href="#Jurisdiction">Jurisdictions</a>.
+		</div>
+
+		<div id="legalcode" about="#legalcode" 
+		     typeof="rdf:Property">
+		  <h4>cc:legalcode</h4> The <a rel="rdfs:range"
+		  href="http://www.w3.org/2000/01/rdf-schema#Resource">
+		  URL</a> of the legal text of a <a rel="rdfs:domain"
+		  href="#License">License</a>.
+		</div>
+
+		<div id="deprecatedOn" about="#deprecatedOn" 
+		     typeof="rdf:Property">
+		  <h4>cc:deprecatedOn</h4> A <a rel="rdfs:domain"
+		  href="#License">License</a> may be deprecated;
+		  provides the <a rel="rdfs:range"
+		  href="http://www.w3.org/2001/XMLSchema-datatypes#date">date</a> <span property="rdfs:label">deprecated
+		  on</span>.
+		</div>
+
+
+		<h2>Work Properties</h2>
+
+		<div id="license" about="#license" 
+		     typeof="rdf:Property">
+		  <h4>cc:license</h4> A <a rel="rdfs:domain"
+		  href="#Work">Work</a> <span property="rdfs:label">has
+		  license</span> a <a rel="rdfs:range"
+		  href="#License">License</a>. <br />
+		  (a <a rel="rdfs:subPropertyOf"
+		  href="http://purl.org/dc/terms/license">subproperty
+		  of dc:license</a>, <a rel="owl:sameAs"
+		  href="http://www.w3.org/1999/xhtml/vocab#license">the
+		  same as xhtml:license</a>)
+		  <span rev="owl:equivalentProperty"
+			resource="http://web.resource.org/cc/license"></span>
+		</div>
+
+		<div id="morePermissions" about="#morePermissions" 
+		     typeof="rdf:Property">
+		  <h4>cc:morePermissions</h4> A 
+		  <span rel="rdfs:subPropertyOf"
+		  resource="http://purl.org/dc/terms/relation">related</span>
+		  <span rel="rdfs:range"
+		  resource="http://www.w3.org/2000/01/rdf-schema#Resource">resource</span>
+		  which describes additional permissions or
+		  alternative licenses for a
+		  <a rel="rdfs:domain" href="#Work">Work</a> which may
+		  be available.
+		</div>
+
+		<div id="attributionName" about="#attributionName" 
+		     typeof="rdf:Property">
+		  <h4>cc:attributionName</h4>
+		  The <span rel="rdfs:range"
+		  resource="http://www.w3.org/2000/01/rdf-schema#Literal">name
+		  the creator</span> of a <a rel="rdfs:domain"
+		  href="#Work">Work</a> would like used when
+		  attributing re-use.
+		</div>
+
+		<div id="attributionURL" about="#attributionURL" 
+		     typeof="rdf:Property">
+		  <h4>cc:attributionURL</h4> The <a rel="rdfs:range"
+		  href="http://www.w3.org/2000/01/rdf-schema#Resource">
+		  URL</a> the creator of a <a rel="rdfs:domain"
+		  href="#Work">Work</a> would like used when
+		  attributing re-use.
+		</div>
+
+		<div id="useGuidelines" about="#useGuidelines" 
+		     typeof="rdf:Property">
+		  <h4>cc:useGuidelines</h4> 
+
+		  A <span rel="rdfs:subPropertyOf"
+		  resource="http://purl.org/dc/terms/relation">related</span>
+		  <span rel="rdfs:range"
+		  resource="http://www.w3.org/2000/01/rdf-schema#Resource">resource</span>
+		  which defines non-binding use guidelines for the
+		  <a rel="rdfs:domain" href="#Work">work</a>.
+		</div>
+
+		<br /><br />
+		<rddl:resource
+		   xlink:href="http://web.resource.org/cc/schema.rdf"
+		   xlink:title="Creative Commons RDF Metadata Schema"
+		   xlink:role="http://www.w3.org/2000/01/rdf-schema#">
+		  <p>RDF users might be interested in our
+		  machine-readable <a href="schema.rdf">RDF
+		  Schema</a>. A copy is also embedded in this
+		  document.</p>
+		</rddl:resource>
+		  
+    	      </div>
+	    </div>	
+	  </div>
+	</div>
+      </div>
+    </div>
+    <div id="footer">
+      <div id="sub-footer" class="box">
+        <ul>
+          <li><a href="http://wiki.creativecommons.org/Developers">Developers</a></li>
+        </ul>
+
+      </div>
+      <div><p class="box">
+	  <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">
+	    <img src="http://i.creativecommons.org/l/by/3.0/88x31.png" alt="Creative Commons License" style="border: medium none ;" height="31" width="88" />
+	  </a>
+	  Except where otherwise <a class="subfoot"
+href="/policies#license">noted</a>, content on this site is licensed
+under a <a rel="license"
+href="http://creativecommons.org/licenses/by/3.0/"
+class="subfoot">Creative Commons Attribution 3.0 License</a>
+      </p></div>
+
+    </div>
+
+    <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
+    <script type="text/javascript">_uacct = "UA-2010376-1"; urchinTracker();</script>
+  </body>
+
+</html>
diff --git a/svg-example/nbproject/private/retriever/dublincore.org/2012/06/14/dcelements b/svg-example/nbproject/private/retriever/dublincore.org/2012/06/14/dcelements
new file mode 100644
index 0000000..08e6397
--- /dev/null
+++ b/svg-example/nbproject/private/retriever/dublincore.org/2012/06/14/dcelements
@@ -0,0 +1,7 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<html><head>
+<title>303 See Other</title>
+</head><body>
+<h1>See Other</h1>
+<p>The answer to your request is located <a href="HTTP://dublincore.org/documents/2012/06/14/dcmi-terms?v=elements">here</a>.</p>
+</body></html>
diff --git a/svg-example/nbproject/private/retriever/www.w3.org/1999/02/22-rdf-syntax-ns.xml b/svg-example/nbproject/private/retriever/www.w3.org/1999/02/22-rdf-syntax-ns.xml
new file mode 100644
index 0000000..e7f1b18
--- /dev/null
+++ b/svg-example/nbproject/private/retriever/www.w3.org/1999/02/22-rdf-syntax-ns.xml
@@ -0,0 +1,141 @@
+<rdf:RDF
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+   xmlns:owl="http://www.w3.org/2002/07/owl#" 
+   xmlns:dc="http://purl.org/dc/elements/1.1/">
+
+ <owl:Ontology 
+     rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+   <dc:title>The RDF Vocabulary (RDF)</dc:title>
+   <dc:description>This is the RDF Schema for the RDF vocabulary defined in the RDF namespace.</dc:description>
+ </owl:Ontology>
+ 
+ <!-- Added by Ivan Herman, 2010-12-30, from here... -->
+ <rdfs:Datatype rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#PlainLiteral">
+   <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+   <rdfs:isDefinedBy rdf:resource="http://www.w3.org/TR/rdf-plain-literal/"/>
+   <rdfs:label>PlainLiteral</rdfs:label>
+   <rdfs:comment>The class of plain (i.e. untyped) literal values.</rdfs:comment>
+</rdfs:Datatype>
+<!-- ... until here -->
+ 
+
+<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
+  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
+  <rdfs:label>type</rdfs:label>
+  <rdfs:comment>The subject is an instance of a class.</rdfs:comment>
+  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
+  <rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
+</rdf:Property>
+
+<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property">
+  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
+  <rdfs:label>Property</rdfs:label>
+  <rdfs:comment>The class of RDF properties.</rdfs:comment>
+  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
+</rdfs:Class>
+
+<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement">
+  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
+  <rdfs:label>Statement</rdfs:label>
+  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
+  <rdfs:comment>The class of RDF statements.</rdfs:comment>
+</rdfs:Class>
+
+<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#subject">
+  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
+  <rdfs:label>subject</rdfs:label>
+  <rdfs:comment>The subject of the subject RDF statement.</rdfs:comment>
+  <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>
+  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
+</rdf:Property>
+
+<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate">
+  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
+  <rdfs:label>predicate</rdfs:label>
+  <rdfs:comment>The predicate of the subject RDF statement.</rdfs:comment>
+  <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>
+  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
+</rdf:Property>
+
+<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#object">
+  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
+  <rdfs:label>object</rdfs:label>
+  <rdfs:comment>The object of the subject RDF statement.</rdfs:comment>
+  <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>
+  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
+</rdf:Property>
+
+<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag">
+  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
+  <rdfs:label>Bag</rdfs:label>
+  <rdfs:comment>The class of unordered containers.</rdfs:comment>
+  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Container"/>
+</rdfs:Class>
+
+<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq">
+  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
+  <rdfs:label>Seq</rdfs:label>
+  <rdfs:comment>The class of ordered containers.</rdfs:comment>
+  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Container"/>
+</rdfs:Class>
+
+<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#Alt">
+  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
+  <rdfs:label>Alt</rdfs:label>
+  <rdfs:comment>The class of containers of alternatives.</rdfs:comment>
+  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Container"/>
+</rdfs:Class>
+
+<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#value">
+  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
+  <rdfs:label>value</rdfs:label>
+  <rdfs:comment>Idiomatic property used for structured values.</rdfs:comment>
+  <rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
+  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
+</rdf:Property>
+
+<!-- the following are new additions, Nov 2002 -->
+
+<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#List">
+  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
+  <rdfs:label>List</rdfs:label>
+  <rdfs:comment>The class of RDF Lists.</rdfs:comment>
+  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
+</rdfs:Class>
+
+<rdf:List rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil">
+  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
+  <rdfs:label>nil</rdfs:label>
+  <rdfs:comment>The empty list, with no items in it. If the rest of a list is nil then the list has no more items in it.</rdfs:comment>
+</rdf:List>
+
+<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#first">
+  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
+  <rdfs:label>first</rdfs:label>
+  <rdfs:comment>The first item in the subject RDF list.</rdfs:comment>
+  <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
+  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
+</rdf:Property>
+
+<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#rest">
+  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
+  <rdfs:label>rest</rdfs:label>
+  <rdfs:comment>The rest of the subject RDF list after the first item.</rdfs:comment>
+  <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
+  <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
+</rdf:Property>
+	
+<rdfs:Datatype rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral">
+  <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> 
+  <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
+  <rdfs:label>XMLLiteral</rdfs:label>
+  <rdfs:comment>The class of XML literal values.</rdfs:comment>
+</rdfs:Datatype>
+
+<rdf:Description rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+  <rdfs:seeAlso rdf:resource="http://www.w3.org/2000/01/rdf-schema-more"/>
+</rdf:Description>
+
+</rdf:RDF>
+
diff --git a/svg-example/nbproject/private/retriever/www.w3.org/1999/xlink b/svg-example/nbproject/private/retriever/www.w3.org/1999/xlink
new file mode 100644
index 0000000..58881fc
--- /dev/null
+++ b/svg-example/nbproject/private/retriever/www.w3.org/1999/xlink
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html lang="en">
+<head>
+  <title>XLink namespace</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+  <link rel="stylesheet" type="text/css"
+        href="http://www.w3.org/StyleSheets/TR/base.css">
+</head>
+<body>
+<div class="head">
+<p><a href="http://www.w3.org/"><img class="head"
+src="http://www.w3.org/Icons/WWW/w3c_home.gif" alt="W3C"></a></p>
+</div>
+<p>
+This is an XML namespace defined in the 
+<a href="http://www.w3.org/TR/xlink/">XML Linking Language (XLink) specification</a>.
+</p>
+<p>
+For more information about XML, please refer to <a
+href="http://www.w3.org/TR/REC-xml">The Extensible Markup Language
+(XML) 1.0 specification</a>. For more information about XML
+namespaces, please refer to the
+<a href="http://www.w3.org/TR/REC-xml-names">Namespaces in XML
+specification</a>.
+
+<hr>
+<address>
+  <a href="/Help/Webmaster">Webmaster</a><BR>
+  Last modified: $Date: 2000/06/22 15:15:22 $
+</address>
+</body>
+</html>
diff --git a/svg-example/nbproject/private/retriever/www.w3.org/2000/svg.xml b/svg-example/nbproject/private/retriever/www.w3.org/2000/svg.xml
new file mode 100644
index 0000000..4825a1c
--- /dev/null
+++ b/svg-example/nbproject/private/retriever/www.w3.org/2000/svg.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>SVG namespace</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+  <link rel="stylesheet" type="text/css"
+        href="http://www.w3.org/StyleSheets/TR/base"/>
+</head>
+<body>
+<div class="head">
+<p><a href="http://www.w3.org/"><img class="head"
+src="http://www.w3.org/Icons/WWW/w3c_home" alt="W3C"/></a></p>
+</div>
+<p>
+This is an XML namespace, first defined in the 
+Scalable Vector Graphics (SVG) 1.0 Specification and subsequently added to by SVG 1.1 and SVG 1.2. The SVG namespace is  <a href="http://www.w3.org/2001/tag/doc/namespaceState.html"><em>mutable</em></a>; names may be added over time by the W3C SVG Working Group by publication in W3C Technical Reports. </p>
+  
+<p>The
+latest version of the SVG specification can be found <a href="http://www.w3.org/TR/SVG">http://www.w3.org/TR/SVG</a>.
+</p>
+
+<p>
+For more information about SVG, please refer to <a href="http://www.w3.org/Graphics/SVG">the W3C SVG overview</a>.
+For more information about XML, please refer to <a
+href="http://www.w3.org/TR/REC-xml">The Extensible Markup Language
+(XML) 1.0 specification</a>. For more information about XML
+namespaces, please refer to the
+<a href="http://www.w3.org/TR/REC-xml-names">Namespaces in XML
+specification</a>.</p>
+
+<hr />
+<address>
+  <a href="http://www.w3.org/Help/Webmaster">Webmaster</a><br />
+  Last modified: $Date: 2006/02/05 10:17:51 $
+</address>
+</body>
+</html>
diff --git a/svg-example/res/HS_SLPS.svg b/svg-example/res/HS_SLPS.svg
new file mode 100644
index 0000000..41de698
--- /dev/null
+++ b/svg-example/res/HS_SLPS.svg
@@ -0,0 +1,9240 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<svg contentScriptType="text/ecmascript"
+     xmlns:xlink="http://www.w3.org/1999/xlink" zoomAndPan="magnify"
+     contentStyleType="text/css" viewBox="0.0 0.0 2542.0 1152.0"
+     preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg"
+     version="1.0">
+    <g type="FileObj">
+        <Object m_backColor="-16751002" m_freshTime="0" m_curScale="1.0"
+                xmlns="" m_filltype="false" class="nc2000.ncpaint.FileObj">
+            <m_DisplayLayer>
+                <Item Item="true" class="java.lang.Boolean"/>
+                <Item Item="false" class="java.lang.Boolean"/>
+                <Item Item="false" class="java.lang.Boolean"/>
+                <Item Item="false" class="java.lang.Boolean"/>
+                <Item Item="false" class="java.lang.Boolean"/>
+            </m_DisplayLayer>
+        </Object>
+        <rect width="2542.0" fill="rgb(0,102,102)" x="0.0" height="1152.0"
+              y="0.0"/>
+        <g type="MetaContainer">
+            <Object m_layer="1" m_mode="true" xmlns=""
+                    class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                    m_disp="true" m_rotate="0.0">
+                <Dynamics/>
+                <m_rect width="100.0" x="0.0" height="100.0" y="0.0"
+                        class="nc2000.ncpaint.SRectangle"/>
+                <m_rect1 width="100.0" x="0.0" height="100.0" y="0.0"
+                         class="nc2000.ncpaint.SRectangle"/>
+            </Object>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="2432.0" x="100.0" height="744.0" y="322.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="944.0" x="118.0" height="499.0" y="323.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="1" nofind="false"
+                            m_mode="true" m_3d="false" m_fillColor="-16171715"
+                            m_round="false" m_rotatex="0.0" m_scale="1.0"
+                            m_arcHeight="30.0" m_rotatey="0.0" m_arcWidth="30.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16751002" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CRectangle" m_lower="false"
+                            m_fillGradient="0"/>
+                </g>
+                <g>
+                    <rect x="100.5" y="322.5" fill="rgb(9,61,61)" width="2431.0"
+                          height="743.0" stroke="rgb(0,102,102)"
+                          stroke-width="1.0"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="2432.0" x="100.0" height="110.0" y="674.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="1081.0" x="388.0" height="93.0" y="674.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="1" nofind="false"
+                            m_mode="true" m_3d="false" m_fillColor="-11497990"
+                            m_round="false" m_rotatex="0.0" m_scale="1.0"
+                            m_arcHeight="30.0" m_rotatey="0.0" m_arcWidth="30.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16751002" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CRectangle" m_lower="false"
+                            m_fillGradient="0"/>
+                </g>
+                <g>
+                    <rect x="100.5" y="674.5" fill="rgb(80,141,250)"
+                          width="2431.0" height="109.0" stroke="rgb(0,102,102)"
+                          stroke-width="1.0"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="586.0" x="975.0" height="56.0" y="58.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="586.0" x="975.0" height="56.0" y="58.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_startAngle="0.0" m_lineWidth="1"
+                            nofind="false" m_strText="红石水电站渗漏排水系统图"
+                            m_mode="true" m_fillColor="-65281" m_rotatex="0.0"
+                            m_scale="1.0" m_rotatey="0.0" m_quality="true"
+                            m_filltype="0" manual="false" m_lineColor="-1"
+                            m_rotate="0.0" m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CText" m_fillGradient="0"
+                            fontname="黑体" font_size="48" fontstyle="0"/>
+                </g>
+                <g>
+                    <g font-size="48" fill="rgb(255,255,255)" type="TextGroup">
+                        <text x="975.0" y="106.0" stroke="none">
+                            红石水电站渗漏排水系统图
+                        </text>
+                    </g>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="2432.0" x="100.0" height="110.0" y="1032.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="1081.0" x="426.0" height="93.0" y="1032.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="1" nofind="false"
+                            m_mode="true" m_3d="false" m_fillColor="-11497990"
+                            m_round="false" m_rotatex="0.0" m_scale="1.0"
+                            m_arcHeight="30.0" m_rotatey="0.0" m_arcWidth="30.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16751002" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CRectangle" m_lower="false"
+                            m_fillGradient="0"/>
+                </g>
+                <g>
+                    <rect x="100.5" y="1032.5" fill="rgb(80,141,250)"
+                          width="2431.0" height="109.0" stroke="rgb(0,102,102)"
+                          stroke-width="1.0"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="2.0" x="2315.0" height="153.0" y="198.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="1.0" x="2314.0" height="164.0" y="221.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                            m_mode="true" m_fillColor="-16727872"
+                            m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16711936" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CPolyLine" m_fillGradient="0">
+                        <m_points>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                  y="100.0"/>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint" y="0.0"/>
+                        </m_points>
+                    </Object>
+                </g>
+                <g>
+                    <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                              points="2315.0,351.0 2315.0,198.0 "
+                              stroke="rgb(0,255,0)"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="1.0" x="2413.0" height="108.0" y="242.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="1.0" x="2413.0" height="164.0" y="242.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                            m_mode="true" m_fillColor="-16727872"
+                            m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16711936" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CPolyLine" m_fillGradient="0">
+                        <m_points>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint" y="0.0"/>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                  y="100.0"/>
+                        </m_points>
+                    </Object>
+                </g>
+                <g>
+                    <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                              points="2413.0,242.0 2413.0,350.0 "
+                              stroke="rgb(0,255,0)"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="114.0" x="1670.0" height="31.0" y="1097.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="114.0" x="1670.0" height="31.0" y="1097.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_startAngle="0.0" m_lineWidth="2"
+                            nofind="false" m_strText="排水廊道" m_mode="true"
+                            m_fillColor="-20561" m_rotatex="0.0" m_scale="1.0"
+                            m_rotatey="0.0" m_quality="true" m_filltype="0"
+                            manual="false" m_lineColor="-16777216"
+                            m_rotate="0.0" m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CText" m_fillGradient="4"
+                            fontname="黑体" font_size="26" fontstyle="0"/>
+                </g>
+                <g>
+                    <g font-size="26" fill="rgb(0,0,0)" type="TextGroup">
+                        <text x="1670.0" y="1123.0" stroke="none">
+                            排水廊道
+                        </text>
+                    </g>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="107.0" x="2377.0" height="1.0" y="351.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="33.0" x="2377.0" height="1.0" y="351.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                            m_mode="true" m_fillColor="-16727872"
+                            m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16711936" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CPolyLine" m_fillGradient="0">
+                        <m_points>
+                            <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                  y="0.0"/>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint" y="0.0"/>
+                        </m_points>
+                    </Object>
+                </g>
+                <g>
+                    <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                              points="2484.0,351.0 2377.0,351.0 "
+                              stroke="rgb(0,255,0)"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="37.0" x="2201.0" height="1.0" y="352.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="33.0" x="2201.0" height="1.0" y="352.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                            m_mode="true" m_fillColor="-16727872"
+                            m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16711936" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CPolyLine" m_fillGradient="0">
+                        <m_points>
+                            <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                  y="0.0"/>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint" y="0.0"/>
+                        </m_points>
+                    </Object>
+                </g>
+                <g>
+                    <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                              points="2238.0,352.0 2201.0,352.0 "
+                              stroke="rgb(0,255,0)"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="372.0" x="2107.0" height="801.0" y="301.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="372.0" x="2107.0" height="801.0" y="301.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="100.0" x="0.0"
+                                height="11.985018726591761"
+                                y="20.848938826466917"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="394.0" x="1287.0" height="319.0"
+                                 y="530.0" class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="1" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-11497990" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-11497990" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="0"/>
+                    </g>
+                    <g>
+                        <rect x="2107.5" y="468.5" fill="rgb(80,141,250)"
+                              width="371.0" height="95.0"
+                              stroke="rgb(80,141,250)" stroke-width="1.0"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="63.44086021505376" x="18.27956989247312"
+                                height="90.88639200998752" y="9.113607990012484"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="394.0" x="1359.0" height="319.0"
+                                 y="436.0" class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="1" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-11497990" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-11497990" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="0"/>
+                    </g>
+                    <g>
+                        <rect x="2175.5" y="374.5" fill="rgb(80,141,250)"
+                              width="235.0" height="727.0"
+                              stroke="rgb(80,141,250)" stroke-width="1.0"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="11.827956989247312"
+                                x="62.096774193548384"
+                                height="94.13233458177278" y="0.0"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="44.0" x="1516.0" height="754.0"
+                                 y="363.0" class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="2.272727272727273"
+                                    x="48.86363636363637"
+                                    height="90.84880636604774"
+                                    y="9.151193633952255"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="1.0" x="1414.0" height="560.0"
+                                     y="424.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="8"
+                                    nofind="false" m_mode="true"
+                                    m_fillColor="-16727872" m_rotatex="0.0"
+                                    m_scale="1.0" m_rotatey="0.0"
+                                    m_quality="true" m_filltype="1"
+                                    manual="false" m_lineColor="-16711936"
+                                    m_rotate="0.0" m_backcolor="-16777216"
+                                    xmlns="" class="nc2000.ncpaint.CPolyLine"
+                                    m_fillGradient="0">
+                                <m_points>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="0.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                </m_points>
+                            </Object>
+                        </g>
+                        <g>
+                            <polyline fill="rgb(0,192,192)" stroke-width="8.0"
+                                      points="2359.5,370.0 2359.5,1055.0 "
+                                      stroke="rgb(0,255,0)"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="61.36363636363637"
+                                    x="19.318181818181817"
+                                    height="8.753315649867375" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="27.0" x="1399.0" height="66.0"
+                                     y="353.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="1"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16777216" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="2347.0" y="301.5" width="26.0"
+                                  style="fill:url(#Gradient0)"
+                                  height="65.00000000000001" stroke="rgb(0,0,0)"
+                                  stroke-width="1.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient0"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,0,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%" stop-color="rgb(0,0,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="4.509283819628647"
+                                    y="1.3262599469496021"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="44.0" x="1390.0" height="34.0"
+                                     y="363.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="26.47058823529412" y="0.0"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="1964.0" height="9.0"
+                                         y="325.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2338.0" y="311.0" fill="rgb(0,255,0)"
+                                      width="44.0" height="8.999999999999998"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="26.47058823529412"
+                                        y="36.76470588235294"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="1974.0" height="9.0"
+                                         y="345.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2338.0" y="323.5" fill="rgb(0,255,0)"
+                                      width="44.0" height="8.999999999999998"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="26.47058823529412"
+                                        y="73.52941176470588"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="1969.0" height="9.0"
+                                         y="350.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2338.0" y="336.0" fill="rgb(0,255,0)"
+                                      width="44.0" height="8.999999999999998"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="2.9177718832891246"
+                                    y="17.639257294429708"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="44.0" x="1388.0" height="22.0"
+                                     y="486.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914" y="0.0"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2028.0" height="9.0"
+                                         y="380.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2338.0" y="434.0" fill="rgb(0,255,0)"
+                                      width="44.0" height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914"
+                                        y="59.09090909090909"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2032.0" height="9.0"
+                                         y="393.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2338.0" y="447.0" fill="rgb(0,255,0)"
+                                      width="44.0" height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="2.9177718832891246"
+                                    y="36.770557029177716"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="44.0" x="1390.0" height="22.0"
+                                     y="573.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914" y="0.0"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2028.0" height="9.0"
+                                         y="380.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2338.0" y="578.25" fill="rgb(0,255,0)"
+                                      width="44.0" height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914"
+                                        y="59.09090909090909"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2032.0" height="9.0"
+                                         y="393.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2338.0" y="591.25" fill="rgb(0,255,0)"
+                                      width="44.0" height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="2.9177718832891246"
+                                    y="55.90185676392573"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="44.0" x="1394.0" height="22.0"
+                                     y="689.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914" y="0.0"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2028.0" height="9.0"
+                                         y="380.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2338.0" y="722.5" fill="rgb(0,255,0)"
+                                      width="44.0" height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914"
+                                        y="59.09090909090909"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2032.0" height="9.0"
+                                         y="393.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2338.0" y="735.5" fill="rgb(0,255,0)"
+                                      width="44.0" height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="2.9177718832891246"
+                                    y="75.03315649867373"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="44.0" x="1405.0" height="22.0"
+                                     y="801.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914" y="0.0"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2028.0" height="9.0"
+                                         y="380.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2338.0" y="866.7499999999999"
+                                      fill="rgb(0,255,0)" width="44.0"
+                                      height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914"
+                                        y="59.09090909090909"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2032.0" height="9.0"
+                                         y="393.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2338.0" y="879.7499999999999"
+                                      fill="rgb(0,255,0)" width="44.0"
+                                      height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="2.9177718832891246"
+                                    y="94.16445623342176"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="44.0" x="1400.0" height="22.0"
+                                     y="1063.0"
+                                     class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914" y="0.0"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2028.0" height="9.0"
+                                         y="380.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2338.0" y="1011.0" fill="rgb(0,255,0)"
+                                      width="44.0" height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914"
+                                        y="59.09090909090909"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2032.0" height="9.0"
+                                         y="393.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2338.0" y="1024.0" fill="rgb(0,255,0)"
+                                      width="44.0" height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="11.827956989247312"
+                                x="31.182795698924732"
+                                height="94.13233458177278" y="0.0"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="44.0" x="1401.0" height="754.0"
+                                 y="363.0" class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="2.272727272727273"
+                                    x="48.86363636363637"
+                                    height="90.84880636604774"
+                                    y="9.151193633952255"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="1.0" x="1414.0" height="560.0"
+                                     y="424.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="8"
+                                    nofind="false" m_mode="true"
+                                    m_fillColor="-16727872" m_rotatex="0.0"
+                                    m_scale="1.0" m_rotatey="0.0"
+                                    m_quality="true" m_filltype="1"
+                                    manual="false" m_lineColor="-16711936"
+                                    m_rotate="0.0" m_backcolor="-16777216"
+                                    xmlns="" class="nc2000.ncpaint.CPolyLine"
+                                    m_fillGradient="0">
+                                <m_points>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="0.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                </m_points>
+                            </Object>
+                        </g>
+                        <g>
+                            <polyline fill="rgb(0,192,192)" stroke-width="8.0"
+                                      points="2244.5,370.0 2244.5,1055.0 "
+                                      stroke="rgb(0,255,0)"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="61.36363636363637"
+                                    x="19.318181818181817"
+                                    height="8.753315649867375" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="27.0" x="1399.0" height="66.0"
+                                     y="353.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="1"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16777216" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="2232.0" y="301.5" width="26.0"
+                                  style="fill:url(#Gradient1)"
+                                  height="65.00000000000001" stroke="rgb(0,0,0)"
+                                  stroke-width="1.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient1"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,0,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%" stop-color="rgb(0,0,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="4.509283819628647"
+                                    y="1.3262599469496021"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="44.0" x="1390.0" height="34.0"
+                                     y="363.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="26.47058823529412" y="0.0"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="1964.0" height="9.0"
+                                         y="325.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2223.0" y="311.0" fill="rgb(0,255,0)"
+                                      width="44.0" height="8.999999999999998"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="26.47058823529412"
+                                        y="36.76470588235294"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="1974.0" height="9.0"
+                                         y="345.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2223.0" y="323.5" fill="rgb(0,255,0)"
+                                      width="44.0" height="8.999999999999998"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="26.47058823529412"
+                                        y="73.52941176470588"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="1969.0" height="9.0"
+                                         y="350.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2223.0" y="336.0" fill="rgb(0,255,0)"
+                                      width="44.0" height="8.999999999999998"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="2.9177718832891246"
+                                    y="17.639257294429708"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="44.0" x="1388.0" height="22.0"
+                                     y="486.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914" y="0.0"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2028.0" height="9.0"
+                                         y="380.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2223.0" y="434.0" fill="rgb(0,255,0)"
+                                      width="44.0" height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914"
+                                        y="59.09090909090909"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2032.0" height="9.0"
+                                         y="393.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2223.0" y="447.0" fill="rgb(0,255,0)"
+                                      width="44.0" height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="2.9177718832891246"
+                                    y="36.770557029177716"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="44.0" x="1390.0" height="22.0"
+                                     y="573.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914" y="0.0"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2028.0" height="9.0"
+                                         y="380.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2223.0" y="578.25" fill="rgb(0,255,0)"
+                                      width="44.0" height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914"
+                                        y="59.09090909090909"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2032.0" height="9.0"
+                                         y="393.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2223.0" y="591.25" fill="rgb(0,255,0)"
+                                      width="44.0" height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="2.9177718832891246"
+                                    y="55.90185676392573"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="44.0" x="1394.0" height="22.0"
+                                     y="689.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914" y="0.0"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2028.0" height="9.0"
+                                         y="380.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2223.0" y="722.5" fill="rgb(0,255,0)"
+                                      width="44.0" height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914"
+                                        y="59.09090909090909"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2032.0" height="9.0"
+                                         y="393.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2223.0" y="735.5" fill="rgb(0,255,0)"
+                                      width="44.0" height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="2.9177718832891246"
+                                    y="75.03315649867373"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="44.0" x="1405.0" height="22.0"
+                                     y="801.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914" y="0.0"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2028.0" height="9.0"
+                                         y="380.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2223.0" y="866.7499999999999"
+                                      fill="rgb(0,255,0)" width="44.0"
+                                      height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914"
+                                        y="59.09090909090909"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2032.0" height="9.0"
+                                         y="393.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2223.0" y="879.7499999999999"
+                                      fill="rgb(0,255,0)" width="44.0"
+                                      height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="2.9177718832891246"
+                                    y="94.16445623342176"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="44.0" x="1400.0" height="22.0"
+                                     y="1063.0"
+                                     class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914" y="0.0"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2028.0" height="9.0"
+                                         y="380.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2223.0" y="1011.0" fill="rgb(0,255,0)"
+                                      width="44.0" height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="40.909090909090914"
+                                        y="59.09090909090909"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="49.0" x="2032.0" height="9.0"
+                                         y="393.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_3d="false" m_fillColor="-16711936"
+                                        m_round="false" m_rotatex="0.0"
+                                        m_scale="1.0" m_arcHeight="30.0"
+                                        m_rotatey="0.0" m_arcWidth="30.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-16777216"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns=""
+                                        class="nc2000.ncpaint.CRectangle"
+                                        m_lower="false" m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <rect x="2223.0" y="1024.0" fill="rgb(0,255,0)"
+                                      width="44.0" height="9.000000000000002"
+                                      stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            </g>
+                        </g>
+                    </g>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="437.0" x="162.0" height="714.0" y="369.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="437.0" x="162.0" height="714.0" y="349.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="1.1089283856076038" x="78.22260391835003"
+                                height="0.9660651742524774"
+                                y="36.376154522534634"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="8.0" x="-1839.666666666667"
+                                 height="11.0" y="158.66666666666686"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="1" nofind="false"
+                                m_mode="true" m_fillColor="-4144960"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16777216" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(192,192,192)" stroke-width="1.0"
+                                  points="508.6787961682948,628.7257432908973 503.8327791231896,635.62344863506 "
+                                  stroke="rgb(0,0,0)"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="83.98169336384439" x="0.0"
+                                height="92.71708683473389" y="0.0"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="367.0" x="298.0" height="662.0"
+                                 y="343.0" class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="85.49848942598187"
+                                    y="14.501510574018129"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="367.0" x="552.0" height="566.0"
+                                     y="342.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true"
+                                    m_fillColor="-1" m_closePath="true"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_rotatey="0.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-1" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CPolygon"
+                                    m_fillGradient="0">
+                                <m_points>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="13.427561837455832"/>
+                                    <Item x="24.52316076294278"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="13.427561837455832"/>
+                                    <Item x="24.52316076294278"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="75.47683923705722"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="75.47683923705722"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="13.250883392226148"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="13.250883392226148"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="27.56183745583039"/>
+                                    <Item x="66.21253405994551"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="27.56183745583039"/>
+                                    <Item x="74.93188010899182"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="65.37102473498233"/>
+                                    <Item x="74.93188010899182"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="91.16607773851591"/>
+                                    <Item x="89.3732970027248"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="91.16607773851591"/>
+                                    <Item x="89.3732970027248"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="12.806539509536785"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="12.806539509536785"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="91.16607773851591"/>
+                                    <Item x="25.068119891008173"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="91.16607773851591"/>
+                                    <Item x="25.068119891008173"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="65.37102473498233"/>
+                                    <Item x="33.2425068119891"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="27.73851590106007"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="27.73851590106007"/>
+                                </m_points>
+                            </Object>
+                        </g>
+                        <g>
+                            <polygon fill="rgb(255,255,255)" stroke-width="0.0"
+                                     points="162.0,541.0 252.0,541.0 252.0,465.0 439.0,465.0 439.0,540.0 529.0,540.0 529.0,621.0 405.0,621.0 436.99999999999994,835.0 436.99999999999994,981.0000000000001 490.0,981.0000000000001 490.0,1031.0 209.0,1031.0 209.0,981.0000000000001 254.0,981.0000000000001 254.0,835.0 284.0,622.0 162.0,622.0 "
+                                     stroke="rgb(255,255,255)"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="49.863760217983646"
+                                    x="25.068119891008173"
+                                    height="4.682779456193353" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="183.0" x="645.0" height="31.0"
+                                     y="246.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true"
+                                    m_fillColor="-8355712" m_closePath="true"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_rotatey="0.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-1" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CPolygon"
+                                    m_fillGradient="0">
+                                <m_points>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="13.661202185792352"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="28.415300546448087"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="71.03825136612022"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="86.33879781420765"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                </m_points>
+                            </Object>
+                        </g>
+                        <g>
+                            <polygon fill="rgb(128,128,128)" stroke-width="0.0"
+                                     points="254.0,383.0 279.0,383.0 306.0,369.0 384.0,369.0 412.0,383.0 437.0,383.0 437.0,400.0 254.0,400.0 254.0,400.0 "
+                                     stroke="rgb(255,255,255)"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="49.31880108991826"
+                                    x="25.340599455040874"
+                                    height="18.731117824773413"
+                                    y="71.6012084592145"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="181.0" x="643.0" height="124.0"
+                                     y="720.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="14.917127071823206"
+                                        x="43.0939226519337"
+                                        height="58.06451612903226"
+                                        y="41.935483870967744"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="27.0" x="1102.0" height="72.0"
+                                         y="749.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_startAngle="0.0"
+                                        m_lineWidth="0" nofind="false"
+                                        m_mode="true" m_type="3"
+                                        m_fillColor="-12566464" m_rotatex="0.0"
+                                        m_Angle="360.0" m_scale="1.0"
+                                        m_rotatey="0.0" m_quality="true"
+                                        m_filltype="1" manual="false"
+                                        m_lineColor="-1" m_rotate="0.0"
+                                        m_backcolor="-16777216" xmlns=""
+                                        class="nc2000.ncpaint.CEllipse"
+                                        m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <ellipse rx="13.500000000000002"
+                                         fill="rgb(64,64,64)"
+                                         ry="36.00000000000001"
+                                         stroke-width="0.0"
+                                         transform="translate(346.5,931.0)"
+                                         stroke="rgb(255,255,255)"/>
+                                <path/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="98.38709677419355" y="0.0"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="181.0" x="1024.0" height="122.0"
+                                         y="697.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-3092272"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="0.5524861878453038"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="18.0327868852459"/>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="12.154696132596685"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="20.441988950276244"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="12.295081967213115"/>
+                                        <Item x="79.55801104972376"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="12.295081967213115"/>
+                                        <Item x="88.39779005524862"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="98.89502762430939"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="18.0327868852459"/>
+                                        <Item x="87.84530386740332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="21.311475409836063"/>
+                                        <Item x="87.84530386740332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="24.59016393442623"/>
+                                        <Item x="87.84530386740332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="33.60655737704918"/>
+                                        <Item x="89.50276243093923"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="39.34426229508197"/>
+                                        <Item x="91.16022099447514"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="46.72131147540984"/>
+                                        <Item x="92.81767955801105"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="54.91803278688525"/>
+                                        <Item x="97.23756906077348"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="59.83606557377049"/>
+                                        <Item x="99.4475138121547"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="61.47540983606557"/>
+                                        <Item x="99.4475138121547"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="95.58011049723757"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="97.54098360655738"/>
+                                        <Item x="87.84530386740332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.80327868852459"/>
+                                        <Item x="80.66298342541437"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="83.60655737704919"/>
+                                        <Item x="75.69060773480662"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="68.0327868852459"/>
+                                        <Item x="71.8232044198895"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="53.278688524590166"/>
+                                        <Item x="71.27071823204419"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="41.80327868852459"/>
+                                        <Item x="67.40331491712708"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="48.36065573770492"/>
+                                        <Item x="65.19337016574586"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="56.557377049180324"/>
+                                        <Item x="63.53591160220995"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="63.114754098360656"/>
+                                        <Item x="63.53591160220995"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="68.0327868852459"/>
+                                        <Item x="64.08839779005525"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="72.95081967213115"/>
+                                        <Item x="37.569060773480665"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="75.40983606557377"/>
+                                        <Item x="38.12154696132597"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="66.39344262295081"/>
+                                        <Item x="35.35911602209944"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="53.278688524590166"/>
+                                        <Item x="29.83425414364641"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="40.98360655737705"/>
+                                        <Item x="28.7292817679558"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="50.0"/>
+                                        <Item x="27.624309392265197"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="61.47540983606557"/>
+                                        <Item x="24.861878453038674"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="72.95081967213115"/>
+                                        <Item x="18.23204419889503"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="86.88524590163934"/>
+                                        <Item x="13.259668508287293"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="92.62295081967213"/>
+                                        <Item x="5.524861878453039"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="97.54098360655738"/>
+                                        <Item x="1.1049723756906076"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="98.36065573770492"/>
+                                        <Item x="1.1049723756906076"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="60.65573770491803"/>
+                                        <Item x="6.077348066298343"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="56.557377049180324"/>
+                                        <Item x="10.497237569060774"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="45.08196721311475"/>
+                                        <Item x="12.154696132596685"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="30.327868852459016"/>
+                                        <Item x="12.154696132596685"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="20.491803278688526"/>
+                                        <Item x="7.734806629834254"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="19.672131147540984"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(208,208,208)"
+                                         stroke-width="0.0"
+                                         points="256.0,865.0 255.0,843.0 277.0,843.0 292.0,858.0 399.0,858.0 415.0,843.0 436.0,843.0 434.0,865.0 414.0,869.0 414.0,873.0 414.0,884.0 417.0,891.0 420.0,900.0 423.0,910.0 431.0,916.0 435.0,918.0 435.0,965.0 428.0,962.0 414.0,955.0 401.0,945.0 392.0,926.0 385.0,908.0 384.0,894.0 377.0,902.0 373.0,912.0 370.0,920.0 370.0,926.0 371.0,932.0 323.0,935.0 324.0,924.0 319.0,908.0 309.0,893.0 307.0,904.0 305.0,918.0 300.0,932.0 288.0,949.0 279.0,956.0 [...]
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="24.30939226519337"
+                                        x="13.812154696132598"
+                                        height="55.64516129032258"
+                                        y="33.064516129032256"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="44.0" x="1049.0" height="69.0"
+                                         y="739.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-4144960"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="89.85507246376811"/>
+                                        <Item x="25.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="75.36231884057972"/>
+                                        <Item x="45.45454545454545"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="57.971014492753625"/>
+                                        <Item x="61.36363636363637"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="34.78260869565217"/>
+                                        <Item x="70.45454545454545"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="81.81818181818183"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="8.695652173913043"/>
+                                        <Item x="93.18181818181817"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="26.08695652173913"/>
+                                        <Item x="97.72727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="37.68115942028986"/>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="56.52173913043478"/>
+                                        <Item x="86.36363636363636"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="81.15942028985508"/>
+                                        <Item x="72.72727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="92.7536231884058"/>
+                                        <Item x="65.9090909090909"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="95.65217391304348"/>
+                                        <Item x="50.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="98.55072463768117"/>
+                                        <Item x="40.909090909090914"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="29.545454545454547"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="97.10144927536231"/>
+                                        <Item x="13.636363636363635"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="94.20289855072464"/>
+                                        <Item x="2.272727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.30434782608695"/>
+                                        <Item x="2.272727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.30434782608695"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(192,192,192)"
+                                         stroke-width="0.0"
+                                         points="280.0,946.0 291.0,936.0 300.0,924.0 307.0,908.0 311.0,884.0 316.0,890.0 321.0,902.0 323.0,910.0 324.0,923.0 318.0,940.0 312.0,948.0 309.0,950.0 302.0,952.0 298.0,953.0 293.0,951.0 286.0,949.0 281.0,947.0 281.0,947.0 "
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="24.30939226519337"
+                                        x="62.98342541436463"
+                                        height="55.64516129032258"
+                                        y="33.064516129032256"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="44.0" x="1138.0" height="69.0"
+                                         y="738.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-4144960"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="89.85507246376811"/>
+                                        <Item x="75.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="75.36231884057972"/>
+                                        <Item x="54.54545454545455"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="57.971014492753625"/>
+                                        <Item x="38.63636363636363"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="34.78260869565217"/>
+                                        <Item x="29.545454545454547"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="18.181818181818173"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="8.695652173913047"/>
+                                        <Item x="6.818181818181827"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="26.086956521739125"/>
+                                        <Item x="2.2727272727272663"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="37.68115942028986"/>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="56.52173913043478"/>
+                                        <Item x="13.63636363636364"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="81.15942028985508"/>
+                                        <Item x="27.272727272727266"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="92.7536231884058"/>
+                                        <Item x="34.09090909090909"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="95.65217391304348"/>
+                                        <Item x="50.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="98.55072463768117"/>
+                                        <Item x="59.090909090909086"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="70.45454545454545"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="97.10144927536231"/>
+                                        <Item x="86.36363636363636"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="94.20289855072464"/>
+                                        <Item x="97.72727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.30434782608695"/>
+                                        <Item x="97.72727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.30434782608695"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(192,192,192)"
+                                         stroke-width="0.0"
+                                         points="413.0,946.0 402.0,936.0 393.0,924.0 386.0,908.0 382.0,884.0 377.0,890.0 372.0,902.0 370.0,910.0 369.0,923.0 375.0,940.0 381.0,948.0 384.0,950.0 391.0,952.0 395.0,953.0 400.0,951.0 407.0,949.0 412.0,947.0 412.0,947.0 "
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="13.259668508287293"
+                                        x="33.14917127071823" height="25.0"
+                                        y="70.16129032258065"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="24.0" x="1084.0" height="31.0"
+                                         y="782.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-8355712"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                        <Item x="29.166666666666668"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                        <Item x="25.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="16.129032258064516"/>
+                                        <Item x="16.666666666666664"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="38.70967741935484"/>
+                                        <Item x="8.333333333333332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="51.61290322580645"/>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="61.29032258064516"/>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="74.19354838709677"/>
+                                        <Item x="8.333333333333332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="90.32258064516128"/>
+                                        <Item x="16.666666666666664"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="96.7741935483871"/>
+                                        <Item x="25.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="37.5"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="66.66666666666666"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="87.09677419354838"/>
+                                        <Item x="75.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="77.41935483870968"/>
+                                        <Item x="87.5"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="58.06451612903226"/>
+                                        <Item x="91.66666666666666"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="38.70967741935484"/>
+                                        <Item x="95.83333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="25.806451612903224"/>
+                                        <Item x="95.83333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="91.66666666666666"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(128,128,128)"
+                                         stroke-width="0.0"
+                                         points="339.0,931.0 322.0,931.0 321.0,935.0 319.0,942.0 317.0,946.0 315.0,949.0 315.0,953.0 317.0,958.0 319.0,960.0 321.0,961.0 324.0,961.0 331.0,957.0 333.0,954.0 336.0,948.0 337.0,942.0 338.0,938.0 338.0,930.0 337.0,931.0 "
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="13.259668508287293"
+                                        x="55.24861878453039" height="25.0"
+                                        y="70.16129032258065"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="24.0" x="1124.0" height="31.0"
+                                         y="784.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-8355712"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                        <Item x="70.83333333333333"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                        <Item x="75.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="16.129032258064516"/>
+                                        <Item x="83.33333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="38.70967741935484"/>
+                                        <Item x="91.66666666666667"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="51.61290322580645"/>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="61.29032258064516"/>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="74.19354838709677"/>
+                                        <Item x="91.66666666666667"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="90.32258064516128"/>
+                                        <Item x="83.33333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="96.7741935483871"/>
+                                        <Item x="75.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="62.5"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="33.33333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="87.09677419354838"/>
+                                        <Item x="25.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="77.41935483870968"/>
+                                        <Item x="12.5"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="58.06451612903226"/>
+                                        <Item x="8.333333333333343"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="38.70967741935484"/>
+                                        <Item x="4.166666666666657"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="25.806451612903224"/>
+                                        <Item x="4.166666666666657"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="8.333333333333343"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(128,128,128)"
+                                         stroke-width="0.0"
+                                         points="355.0,931.0 372.0,931.0 373.0,935.0 375.0,942.0 377.0,946.0 379.0,949.0 379.0,953.0 377.0,958.0 375.0,960.0 373.0,961.0 370.0,961.0 363.0,957.0 361.0,954.0 358.0,948.0 357.0,942.0 356.0,938.0 356.0,930.0 357.0,931.0 "
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="49.863760217983646"
+                                    x="25.068119891008173"
+                                    height="4.682779456193353"
+                                    y="4.078549848942599"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="183.0" x="645.0" height="31.0"
+                                     y="273.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true"
+                                    m_fillColor="-8355712" m_closePath="true"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_rotatey="0.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-1" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CPolygon"
+                                    m_fillGradient="0">
+                                <m_points>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="13.661202185792352"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="28.415300546448087"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="71.03825136612022"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="86.33879781420765"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                </m_points>
+                            </Object>
+                        </g>
+                        <g>
+                            <polygon fill="rgb(128,128,128)" stroke-width="0.0"
+                                     points="254.0,410.0 279.0,410.0 306.0,396.0 384.0,396.0 412.0,410.0 437.0,410.0 437.0,427.0 254.0,427.0 254.0,427.0 "
+                                     stroke="rgb(255,255,255)"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="20.435967302452315"
+                                    x="39.782016348773844"
+                                    height="5.8912386706948645"
+                                    y="23.413897280966765"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="75.0" x="694.0" height="39.0"
+                                     y="401.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-14336" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-1" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="308.0" y="524.0" fill="rgb(255,200,0)"
+                                  width="75.0" height="39.00000000000001"
+                                  stroke="rgb(255,255,255)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="8.991825613079019"
+                                    x="45.50408719346049"
+                                    height="68.12688821752266"
+                                    y="4.984894259818732"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="33.0" x="714.0" height="451.0"
+                                     y="279.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-3092272" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16777216" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="329.0" y="402.0" width="33.0"
+                                  style="fill:url(#Gradient2)" height="451.0"
+                                  stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient2"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,0,0)"/>
+                                    <stop offset="50%"
+                                          stop-color="rgb(208,208,208)"/>
+                                    <stop offset="100%" stop-color="rgb(0,0,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="2.2883295194508007" x="86.95652173913044"
+                                height="35.294117647058826"
+                                y="17.92717086834734"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="17.0" x="2050.0" height="390.0"
+                                 y="201.0" class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="5"/>
+                    </g>
+                    <g>
+                        <rect x="542.0" y="497.0" width="9.999999999999998"
+                              style="fill:url(#Gradient3)" height="252.0"
+                              stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        <defs>
+                            <linearGradient x1="0%"
+                                            xmlns:xlink="http://www.w3.org/1999/xlink"
+                                            x2="100%" y1="0%"
+                                            gradientUnits="objectBoundingBox"
+                                            y2="0%" xlink:type="simple"
+                                            xlink:actuate="onLoad"
+                                            id="Gradient3" xlink:show="other">
+                                <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                <stop offset="100%" stop-color="rgb(0,128,0)"/>
+                            </linearGradient>
+                        </defs>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132722" x="84.66819221967964"
+                                height="5.742296918767507"
+                                y="13.165266106442578"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="34.0" x="668.0" height="41.0" y="437.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="69.23076923076923"
+                                    x="15.384615384615538"
+                                    height="65.85365853658536"
+                                    y="19.51219512195122"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="27.0" x="2016.0" height="27.0"
+                                     y="271.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="537.2307692307693" y="471.0"
+                                  width="23.538461538461533"
+                                  style="fill:url(#Gradient4)"
+                                  height="26.999999999999996"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient4"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="21.951219512195124"
+                                    y="78.04878048780488"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="265.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="532.0" y="495.0" fill="rgb(0,255,0)"
+                                  width="33.99999999999999"
+                                  height="9.000000000000002"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="21.951219512195124" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="297.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="532.0" y="463.0" fill="rgb(0,255,0)"
+                                  width="33.99999999999999"
+                                  height="9.000000000000002"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="1.9949539400340308"
+                                x="15.936161473918908"
+                                height="35.324129651860744"
+                                y="64.67587034813927"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="17.0" x="2024.0" height="390.0"
+                                 y="295.0" class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="5"/>
+                    </g>
+                    <g>
+                        <rect x="231.64102564102564" y="830.7857142857144"
+                              width="8.717948717948715"
+                              style="fill:url(#Gradient5)"
+                              height="252.21428571428572" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                        <defs>
+                            <linearGradient x1="0%"
+                                            xmlns:xlink="http://www.w3.org/1999/xlink"
+                                            x2="100%" y1="0%"
+                                            gradientUnits="objectBoundingBox"
+                                            y2="0%" xlink:type="simple"
+                                            xlink:actuate="onLoad"
+                                            id="Gradient5" xlink:show="other">
+                                <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                <stop offset="100%" stop-color="rgb(0,128,0)"/>
+                            </linearGradient>
+                        </defs>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="5.3863756380918835"
+                                x="14.240450624889982"
+                                height="3.502400960384153" y="61.56262505002"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="27.0" x="2016.0" height="27.0" y="271.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="5"/>
+                    </g>
+                    <g>
+                        <rect x="224.23076923076923" y="808.5571428571428"
+                              width="23.53846153846153"
+                              style="fill:url(#Gradient6)"
+                              height="25.007142857142853" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                        <defs>
+                            <linearGradient x1="0%"
+                                            xmlns:xlink="http://www.w3.org/1999/xlink"
+                                            x2="100%" y1="0%"
+                                            gradientUnits="objectBoundingBox"
+                                            y2="0%" xlink:type="simple"
+                                            xlink:actuate="onLoad"
+                                            id="Gradient6" xlink:show="other">
+                                <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                <stop offset="100%" stop-color="rgb(0,128,0)"/>
+                            </linearGradient>
+                        </defs>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132722" x="13.043478260869565"
+                                height="1.1674669867947178"
+                                y="60.78431372549019"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="31.0" x="2009.0" height="5.0" y="265.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="0"/>
+                    </g>
+                    <g>
+                        <rect x="219.0" y="803.0" fill="rgb(0,255,0)"
+                              width="33.99999999999999"
+                              height="8.335714285714285" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132722" x="13.043478260869565"
+                                height="1.1674669867947178"
+                                y="64.93530745631585"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="31.0" x="2009.0" height="5.0" y="297.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="0"/>
+                    </g>
+                    <g>
+                        <rect x="219.0" y="832.6380952380953"
+                              fill="rgb(0,255,0)" width="33.99999999999999"
+                              height="8.335714285714285" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="28.832951945080094" x="59.7254004576659"
+                                height="1.5468874116810905"
+                                y="52.280613738032535"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="27.0" x="329.0" height="27.0" y="160.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="7"/>
+                    </g>
+                    <g>
+                        <rect x="422.99999999999994" y="742.2835820895523"
+                              width="126.00000000000001"
+                              style="fill:url(#Gradient7)"
+                              height="11.044776119402986" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                        <defs>
+                            <linearGradient x1="0%"
+                                            xmlns:xlink="http://www.w3.org/1999/xlink"
+                                            x2="0%" y1="0%"
+                                            gradientUnits="objectBoundingBox"
+                                            y2="100%" xlink:type="simple"
+                                            xlink:actuate="onLoad"
+                                            id="Gradient7" xlink:show="other">
+                                <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                <stop offset="100%" stop-color="rgb(0,128,0)"/>
+                            </linearGradient>
+                        </defs>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132723" x="65.21739130434783"
+                                height="39.21568627450981" y="60.78431372549019"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="34.0" x="583.0" height="280.0" y="777.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="25.64102564102563"
+                                    x="37.17948717948716"
+                                    height="90.0765306122449"
+                                    y="9.92346938775512"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="17.0" x="2024.0" height="390.0"
+                                     y="295.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="459.64102564102564" y="830.7857142857143"
+                                  width="8.717948717948715"
+                                  style="fill:url(#Gradient8)"
+                                  height="252.21428571428575"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient8"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="69.23076923076921"
+                                    x="15.384615384615538"
+                                    height="8.931122448979592"
+                                    y="1.9846938775510077"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="27.0" x="2016.0" height="27.0"
+                                     y="271.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="452.2307692307693" y="808.5571428571428"
+                                  width="23.538461538461533"
+                                  style="fill:url(#Gradient9)"
+                                  height="25.007142857142863"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient9"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="99.99999999999997" x="0.0"
+                                    height="2.9770408163265305" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="265.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="447.0" y="803.0" fill="rgb(0,255,0)"
+                                  width="33.99999999999999"
+                                  height="8.335714285714287"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="99.99999999999997" x="0.0"
+                                    height="2.9770408163265305"
+                                    y="10.585034013605457"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="297.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="447.0" y="832.6380952380953"
+                                  fill="rgb(0,255,0)" width="33.99999999999999"
+                                  height="8.335714285714287"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132723" x="92.21967963386729"
+                                height="39.21568627450981"
+                                y="20.448179271708682"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="34.0" x="701.0" height="280.0" y="489.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="25.64102564102563"
+                                    x="37.17948717948716"
+                                    height="90.0765306122449"
+                                    y="9.92346938775512"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="17.0" x="2024.0" height="390.0"
+                                     y="295.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="577.6410256410256" y="542.7857142857143"
+                                  width="8.717948717948715"
+                                  style="fill:url(#Gradient10)"
+                                  height="252.21428571428575"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient10"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="69.23076923076921"
+                                    x="15.384615384615538"
+                                    height="8.931122448979592"
+                                    y="1.9846938775510077"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="27.0" x="2016.0" height="27.0"
+                                     y="271.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="570.2307692307693" y="520.5571428571428"
+                                  width="23.538461538461533"
+                                  style="fill:url(#Gradient11)"
+                                  height="25.007142857142863"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient11"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="99.99999999999997" x="0.0"
+                                    height="2.9770408163265305" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="265.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="565.0" y="515.0" fill="rgb(0,255,0)"
+                                  width="33.99999999999999"
+                                  height="8.335714285714287"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="99.99999999999997" x="0.0"
+                                    height="2.9770408163265305"
+                                    y="10.585034013605457"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="297.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="565.0" y="544.6380952380953"
+                                  fill="rgb(0,255,0)" width="33.99999999999999"
+                                  height="8.335714285714287"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="437.0" x="656.4166666666667" height="714.0"
+                            y="369.0" class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="437.0" x="172.0" height="714.0" y="359.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="1.1089283856076038" x="78.22260391835003"
+                                height="0.9660651742524774"
+                                y="36.376154522534634"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="8.0" x="-1839.666666666667"
+                                 height="11.0" y="158.66666666666686"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="1" nofind="false"
+                                m_mode="true" m_fillColor="-4144960"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16777216" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(192,192,192)" stroke-width="1.0"
+                                  points="1003.0954628349615,628.7257432908973 998.2494457898563,635.62344863506 "
+                                  stroke="rgb(0,0,0)"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="83.98169336384439" x="0.0"
+                                height="92.71708683473389" y="0.0"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="367.0" x="298.0" height="662.0"
+                                 y="343.0" class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="85.49848942598187"
+                                    y="14.501510574018129"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="367.0" x="552.0" height="566.0"
+                                     y="342.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true"
+                                    m_fillColor="-1" m_closePath="true"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_rotatey="0.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-1" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CPolygon"
+                                    m_fillGradient="0">
+                                <m_points>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="13.427561837455832"/>
+                                    <Item x="24.52316076294278"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="13.427561837455832"/>
+                                    <Item x="24.52316076294278"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="75.47683923705722"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="75.47683923705722"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="13.250883392226148"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="13.250883392226148"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="27.56183745583039"/>
+                                    <Item x="66.21253405994551"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="27.56183745583039"/>
+                                    <Item x="74.93188010899182"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="65.37102473498233"/>
+                                    <Item x="74.93188010899182"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="91.16607773851591"/>
+                                    <Item x="89.3732970027248"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="91.16607773851591"/>
+                                    <Item x="89.3732970027248"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="12.806539509536785"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="12.806539509536785"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="91.16607773851591"/>
+                                    <Item x="25.068119891008173"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="91.16607773851591"/>
+                                    <Item x="25.068119891008173"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="65.37102473498233"/>
+                                    <Item x="33.2425068119891"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="27.73851590106007"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="27.73851590106007"/>
+                                </m_points>
+                            </Object>
+                        </g>
+                        <g>
+                            <polygon fill="rgb(255,255,255)" stroke-width="0.0"
+                                     points="656.4166666666667,541.0 746.4166666666667,541.0 746.4166666666667,465.0 933.4166666666667,465.0 933.4166666666667,540.0 1023.4166666666667,540.0 1023.4166666666667,621.0 899.4166666666667,621.0 931.4166666666667,835.0 931.4166666666667,981.0000000000001 984.4166666666667,981.0000000000001 984.4166666666667,1031.0 703.4166666666667,1031.0 703.4166666666667,981.0000000000001 748.4166666666667,981.0000000000001 748.4166666666667,835.0 778.4166666 [...]
+                                     stroke="rgb(255,255,255)"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="49.863760217983646"
+                                    x="25.068119891008173"
+                                    height="4.682779456193353" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="183.0" x="645.0" height="31.0"
+                                     y="246.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true"
+                                    m_fillColor="-8355712" m_closePath="true"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_rotatey="0.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-1" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CPolygon"
+                                    m_fillGradient="0">
+                                <m_points>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="13.661202185792352"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="28.415300546448087"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="71.03825136612022"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="86.33879781420765"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                </m_points>
+                            </Object>
+                        </g>
+                        <g>
+                            <polygon fill="rgb(128,128,128)" stroke-width="0.0"
+                                     points="748.4166666666667,383.0 773.4166666666667,383.0 800.4166666666667,369.0 878.4166666666667,369.0 906.4166666666667,383.0 931.4166666666667,383.0 931.4166666666667,400.0 748.4166666666667,400.0 748.4166666666667,400.0 "
+                                     stroke="rgb(255,255,255)"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="49.31880108991826"
+                                    x="25.340599455040874"
+                                    height="18.731117824773413"
+                                    y="71.6012084592145"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="181.0" x="643.0" height="124.0"
+                                     y="720.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="14.917127071823206"
+                                        x="43.0939226519337"
+                                        height="58.06451612903226"
+                                        y="41.935483870967744"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="27.0" x="1102.0" height="72.0"
+                                         y="749.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_startAngle="0.0"
+                                        m_lineWidth="0" nofind="false"
+                                        m_mode="true" m_type="3"
+                                        m_fillColor="-12566464" m_rotatex="0.0"
+                                        m_Angle="360.0" m_scale="1.0"
+                                        m_rotatey="0.0" m_quality="true"
+                                        m_filltype="1" manual="false"
+                                        m_lineColor="-1" m_rotate="0.0"
+                                        m_backcolor="-16777216" xmlns=""
+                                        class="nc2000.ncpaint.CEllipse"
+                                        m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <ellipse rx="13.500000000000002"
+                                         fill="rgb(64,64,64)"
+                                         ry="36.00000000000001"
+                                         stroke-width="0.0"
+                                         transform="translate(840.9166666666667,931.0)"
+                                         stroke="rgb(255,255,255)"/>
+                                <path/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="98.38709677419355" y="0.0"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="181.0" x="1024.0" height="122.0"
+                                         y="697.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-3092272"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="0.5524861878453038"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="18.0327868852459"/>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="12.154696132596685"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="20.441988950276244"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="12.295081967213115"/>
+                                        <Item x="79.55801104972376"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="12.295081967213115"/>
+                                        <Item x="88.39779005524862"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="98.89502762430939"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="18.0327868852459"/>
+                                        <Item x="87.84530386740332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="21.311475409836063"/>
+                                        <Item x="87.84530386740332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="24.59016393442623"/>
+                                        <Item x="87.84530386740332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="33.60655737704918"/>
+                                        <Item x="89.50276243093923"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="39.34426229508197"/>
+                                        <Item x="91.16022099447514"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="46.72131147540984"/>
+                                        <Item x="92.81767955801105"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="54.91803278688525"/>
+                                        <Item x="97.23756906077348"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="59.83606557377049"/>
+                                        <Item x="99.4475138121547"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="61.47540983606557"/>
+                                        <Item x="99.4475138121547"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="95.58011049723757"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="97.54098360655738"/>
+                                        <Item x="87.84530386740332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.80327868852459"/>
+                                        <Item x="80.66298342541437"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="83.60655737704919"/>
+                                        <Item x="75.69060773480662"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="68.0327868852459"/>
+                                        <Item x="71.8232044198895"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="53.278688524590166"/>
+                                        <Item x="71.27071823204419"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="41.80327868852459"/>
+                                        <Item x="67.40331491712708"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="48.36065573770492"/>
+                                        <Item x="65.19337016574586"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="56.557377049180324"/>
+                                        <Item x="63.53591160220995"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="63.114754098360656"/>
+                                        <Item x="63.53591160220995"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="68.0327868852459"/>
+                                        <Item x="64.08839779005525"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="72.95081967213115"/>
+                                        <Item x="37.569060773480665"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="75.40983606557377"/>
+                                        <Item x="38.12154696132597"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="66.39344262295081"/>
+                                        <Item x="35.35911602209944"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="53.278688524590166"/>
+                                        <Item x="29.83425414364641"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="40.98360655737705"/>
+                                        <Item x="28.7292817679558"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="50.0"/>
+                                        <Item x="27.624309392265197"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="61.47540983606557"/>
+                                        <Item x="24.861878453038674"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="72.95081967213115"/>
+                                        <Item x="18.23204419889503"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="86.88524590163934"/>
+                                        <Item x="13.259668508287293"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="92.62295081967213"/>
+                                        <Item x="5.524861878453039"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="97.54098360655738"/>
+                                        <Item x="1.1049723756906076"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="98.36065573770492"/>
+                                        <Item x="1.1049723756906076"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="60.65573770491803"/>
+                                        <Item x="6.077348066298343"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="56.557377049180324"/>
+                                        <Item x="10.497237569060774"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="45.08196721311475"/>
+                                        <Item x="12.154696132596685"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="30.327868852459016"/>
+                                        <Item x="12.154696132596685"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="20.491803278688526"/>
+                                        <Item x="7.734806629834254"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="19.672131147540984"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(208,208,208)"
+                                         stroke-width="0.0"
+                                         points="750.4166666666667,865.0 749.4166666666667,843.0 771.4166666666667,843.0 786.4166666666667,858.0 893.4166666666667,858.0 909.4166666666667,843.0 930.4166666666667,843.0 928.4166666666667,865.0 908.4166666666667,869.0 908.4166666666667,873.0 908.4166666666667,884.0 911.4166666666667,891.0 914.4166666666667,900.0 917.4166666666667,910.0 925.4166666666667,916.0 929.4166666666667,918.0 929.4166666666667,965.0 922.4166666666667,962.0 908.4166666 [...]
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="24.30939226519337"
+                                        x="13.812154696132598"
+                                        height="55.64516129032258"
+                                        y="33.064516129032256"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="44.0" x="1049.0" height="69.0"
+                                         y="739.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-4144960"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="89.85507246376811"/>
+                                        <Item x="25.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="75.36231884057972"/>
+                                        <Item x="45.45454545454545"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="57.971014492753625"/>
+                                        <Item x="61.36363636363637"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="34.78260869565217"/>
+                                        <Item x="70.45454545454545"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="81.81818181818183"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="8.695652173913043"/>
+                                        <Item x="93.18181818181817"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="26.08695652173913"/>
+                                        <Item x="97.72727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="37.68115942028986"/>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="56.52173913043478"/>
+                                        <Item x="86.36363636363636"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="81.15942028985508"/>
+                                        <Item x="72.72727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="92.7536231884058"/>
+                                        <Item x="65.9090909090909"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="95.65217391304348"/>
+                                        <Item x="50.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="98.55072463768117"/>
+                                        <Item x="40.909090909090914"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="29.545454545454547"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="97.10144927536231"/>
+                                        <Item x="13.636363636363635"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="94.20289855072464"/>
+                                        <Item x="2.272727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.30434782608695"/>
+                                        <Item x="2.272727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.30434782608695"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(192,192,192)"
+                                         stroke-width="0.0"
+                                         points="774.4166666666667,946.0 785.4166666666667,936.0 794.4166666666667,924.0 801.4166666666667,908.0 805.4166666666667,884.0 810.4166666666667,890.0 815.4166666666667,902.0 817.4166666666667,910.0 818.4166666666667,923.0 812.4166666666667,940.0 806.4166666666667,948.0 803.4166666666667,950.0 796.4166666666667,952.0 792.4166666666667,953.0 787.4166666666667,951.0 780.4166666666667,949.0 775.4166666666667,947.0 775.4166666666667,947.0 "
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="24.30939226519337"
+                                        x="62.98342541436463"
+                                        height="55.64516129032258"
+                                        y="33.064516129032256"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="44.0" x="1138.0" height="69.0"
+                                         y="738.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-4144960"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="89.85507246376811"/>
+                                        <Item x="75.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="75.36231884057972"/>
+                                        <Item x="54.54545454545455"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="57.971014492753625"/>
+                                        <Item x="38.63636363636363"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="34.78260869565217"/>
+                                        <Item x="29.545454545454547"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="18.181818181818173"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="8.695652173913047"/>
+                                        <Item x="6.818181818181827"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="26.086956521739125"/>
+                                        <Item x="2.2727272727272663"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="37.68115942028986"/>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="56.52173913043478"/>
+                                        <Item x="13.63636363636364"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="81.15942028985508"/>
+                                        <Item x="27.272727272727266"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="92.7536231884058"/>
+                                        <Item x="34.09090909090909"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="95.65217391304348"/>
+                                        <Item x="50.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="98.55072463768117"/>
+                                        <Item x="59.090909090909086"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="70.45454545454545"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="97.10144927536231"/>
+                                        <Item x="86.36363636363636"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="94.20289855072464"/>
+                                        <Item x="97.72727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.30434782608695"/>
+                                        <Item x="97.72727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.30434782608695"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(192,192,192)"
+                                         stroke-width="0.0"
+                                         points="907.4166666666667,946.0 896.4166666666667,936.0 887.4166666666667,924.0 880.4166666666667,908.0 876.4166666666667,884.0 871.4166666666667,890.0 866.4166666666667,902.0 864.4166666666667,910.0 863.4166666666667,923.0 869.4166666666667,940.0 875.4166666666667,948.0 878.4166666666667,950.0 885.4166666666667,952.0 889.4166666666667,953.0 894.4166666666667,951.0 901.4166666666667,949.0 906.4166666666667,947.0 906.4166666666667,947.0 "
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="13.259668508287293"
+                                        x="33.14917127071823" height="25.0"
+                                        y="70.16129032258065"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="24.0" x="1084.0" height="31.0"
+                                         y="782.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-8355712"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                        <Item x="29.166666666666668"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                        <Item x="25.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="16.129032258064516"/>
+                                        <Item x="16.666666666666664"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="38.70967741935484"/>
+                                        <Item x="8.333333333333332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="51.61290322580645"/>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="61.29032258064516"/>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="74.19354838709677"/>
+                                        <Item x="8.333333333333332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="90.32258064516128"/>
+                                        <Item x="16.666666666666664"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="96.7741935483871"/>
+                                        <Item x="25.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="37.5"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="66.66666666666666"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="87.09677419354838"/>
+                                        <Item x="75.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="77.41935483870968"/>
+                                        <Item x="87.5"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="58.06451612903226"/>
+                                        <Item x="91.66666666666666"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="38.70967741935484"/>
+                                        <Item x="95.83333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="25.806451612903224"/>
+                                        <Item x="95.83333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="91.66666666666666"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(128,128,128)"
+                                         stroke-width="0.0"
+                                         points="833.4166666666667,931.0 816.4166666666667,931.0 815.4166666666667,935.0 813.4166666666667,942.0 811.4166666666667,946.0 809.4166666666667,949.0 809.4166666666667,953.0 811.4166666666667,958.0 813.4166666666667,960.0 815.4166666666667,961.0 818.4166666666667,961.0 825.4166666666667,957.0 827.4166666666667,954.0 830.4166666666667,948.0 831.4166666666667,942.0 832.4166666666667,938.0 832.4166666666667,930.0 831.4166666666667,931.0 "
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="13.259668508287293"
+                                        x="55.24861878453039" height="25.0"
+                                        y="70.16129032258065"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="24.0" x="1124.0" height="31.0"
+                                         y="784.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-8355712"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                        <Item x="70.83333333333333"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                        <Item x="75.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="16.129032258064516"/>
+                                        <Item x="83.33333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="38.70967741935484"/>
+                                        <Item x="91.66666666666667"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="51.61290322580645"/>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="61.29032258064516"/>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="74.19354838709677"/>
+                                        <Item x="91.66666666666667"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="90.32258064516128"/>
+                                        <Item x="83.33333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="96.7741935483871"/>
+                                        <Item x="75.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="62.5"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="33.33333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="87.09677419354838"/>
+                                        <Item x="25.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="77.41935483870968"/>
+                                        <Item x="12.5"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="58.06451612903226"/>
+                                        <Item x="8.333333333333343"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="38.70967741935484"/>
+                                        <Item x="4.166666666666657"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="25.806451612903224"/>
+                                        <Item x="4.166666666666657"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="8.333333333333343"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(128,128,128)"
+                                         stroke-width="0.0"
+                                         points="849.4166666666667,931.0 866.4166666666667,931.0 867.4166666666667,935.0 869.4166666666667,942.0 871.4166666666667,946.0 873.4166666666667,949.0 873.4166666666667,953.0 871.4166666666667,958.0 869.4166666666667,960.0 867.4166666666667,961.0 864.4166666666667,961.0 857.4166666666667,957.0 855.4166666666667,954.0 852.4166666666667,948.0 851.4166666666667,942.0 850.4166666666667,938.0 850.4166666666667,930.0 851.4166666666667,931.0 "
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="49.863760217983646"
+                                    x="25.068119891008173"
+                                    height="4.682779456193353"
+                                    y="4.078549848942599"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="183.0" x="645.0" height="31.0"
+                                     y="273.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true"
+                                    m_fillColor="-8355712" m_closePath="true"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_rotatey="0.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-1" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CPolygon"
+                                    m_fillGradient="0">
+                                <m_points>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="13.661202185792352"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="28.415300546448087"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="71.03825136612022"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="86.33879781420765"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                </m_points>
+                            </Object>
+                        </g>
+                        <g>
+                            <polygon fill="rgb(128,128,128)" stroke-width="0.0"
+                                     points="748.4166666666667,410.0 773.4166666666667,410.0 800.4166666666667,396.0 878.4166666666667,396.0 906.4166666666667,410.0 931.4166666666667,410.0 931.4166666666667,427.0 748.4166666666667,427.0 748.4166666666667,427.0 "
+                                     stroke="rgb(255,255,255)"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="20.435967302452315"
+                                    x="39.782016348773844"
+                                    height="5.8912386706948645"
+                                    y="23.413897280966765"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="75.0" x="694.0" height="39.0"
+                                     y="401.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-14336" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-1" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="802.4166666666667" y="524.0"
+                                  fill="rgb(255,200,0)" width="75.0"
+                                  height="39.00000000000001"
+                                  stroke="rgb(255,255,255)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="8.991825613079019"
+                                    x="45.50408719346049"
+                                    height="68.12688821752266"
+                                    y="4.984894259818732"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="33.0" x="714.0" height="451.0"
+                                     y="279.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-3092272" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16777216" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="823.4166666666667" y="402.0" width="33.0"
+                                  style="fill:url(#Gradient12)" height="451.0"
+                                  stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient12"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,0,0)"/>
+                                    <stop offset="50%"
+                                          stop-color="rgb(208,208,208)"/>
+                                    <stop offset="100%" stop-color="rgb(0,0,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="2.2883295194508007" x="86.95652173913044"
+                                height="35.294117647058826"
+                                y="17.92717086834734"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="17.0" x="2050.0" height="390.0"
+                                 y="201.0" class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="5"/>
+                    </g>
+                    <g>
+                        <rect x="1036.4166666666667" y="497.0"
+                              width="9.999999999999998"
+                              style="fill:url(#Gradient13)" height="252.0"
+                              stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        <defs>
+                            <linearGradient x1="0%"
+                                            xmlns:xlink="http://www.w3.org/1999/xlink"
+                                            x2="100%" y1="0%"
+                                            gradientUnits="objectBoundingBox"
+                                            y2="0%" xlink:type="simple"
+                                            xlink:actuate="onLoad"
+                                            id="Gradient13" xlink:show="other">
+                                <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                <stop offset="100%" stop-color="rgb(0,128,0)"/>
+                            </linearGradient>
+                        </defs>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132722" x="84.66819221967964"
+                                height="5.742296918767507"
+                                y="13.165266106442578"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="34.0" x="668.0" height="41.0" y="437.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="69.23076923076923"
+                                    x="15.384615384615538"
+                                    height="65.85365853658536"
+                                    y="19.51219512195122"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="27.0" x="2016.0" height="27.0"
+                                     y="271.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="1031.647435897436" y="471.0"
+                                  width="23.538461538461533"
+                                  style="fill:url(#Gradient14)"
+                                  height="26.999999999999996"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient14"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="21.951219512195124"
+                                    y="78.04878048780488"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="265.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="1026.4166666666667" y="495.0"
+                                  fill="rgb(0,255,0)" width="33.99999999999999"
+                                  height="9.000000000000002"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="21.951219512195124" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="297.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="1026.4166666666667" y="463.0"
+                                  fill="rgb(0,255,0)" width="33.99999999999999"
+                                  height="9.000000000000002"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="1.9949539400340308"
+                                x="15.936161473918908"
+                                height="35.324129651860744"
+                                y="64.67587034813927"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="17.0" x="2024.0" height="390.0"
+                                 y="295.0" class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="5"/>
+                    </g>
+                    <g>
+                        <rect x="726.0576923076924" y="830.7857142857144"
+                              width="8.717948717948715"
+                              style="fill:url(#Gradient15)"
+                              height="252.21428571428572" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                        <defs>
+                            <linearGradient x1="0%"
+                                            xmlns:xlink="http://www.w3.org/1999/xlink"
+                                            x2="100%" y1="0%"
+                                            gradientUnits="objectBoundingBox"
+                                            y2="0%" xlink:type="simple"
+                                            xlink:actuate="onLoad"
+                                            id="Gradient15" xlink:show="other">
+                                <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                <stop offset="100%" stop-color="rgb(0,128,0)"/>
+                            </linearGradient>
+                        </defs>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="5.3863756380918835"
+                                x="14.240450624889982"
+                                height="3.502400960384153" y="61.56262505002"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="27.0" x="2016.0" height="27.0" y="271.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="5"/>
+                    </g>
+                    <g>
+                        <rect x="718.6474358974359" y="808.5571428571428"
+                              width="23.53846153846153"
+                              style="fill:url(#Gradient16)"
+                              height="25.007142857142853" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                        <defs>
+                            <linearGradient x1="0%"
+                                            xmlns:xlink="http://www.w3.org/1999/xlink"
+                                            x2="100%" y1="0%"
+                                            gradientUnits="objectBoundingBox"
+                                            y2="0%" xlink:type="simple"
+                                            xlink:actuate="onLoad"
+                                            id="Gradient16" xlink:show="other">
+                                <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                <stop offset="100%" stop-color="rgb(0,128,0)"/>
+                            </linearGradient>
+                        </defs>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132722" x="13.043478260869565"
+                                height="1.1674669867947178"
+                                y="60.78431372549019"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="31.0" x="2009.0" height="5.0" y="265.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="0"/>
+                    </g>
+                    <g>
+                        <rect x="713.4166666666667" y="803.0"
+                              fill="rgb(0,255,0)" width="33.99999999999999"
+                              height="8.335714285714285" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132722" x="13.043478260869565"
+                                height="1.1674669867947178"
+                                y="64.93530745631585"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="31.0" x="2009.0" height="5.0" y="297.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="0"/>
+                    </g>
+                    <g>
+                        <rect x="713.4166666666667" y="832.6380952380953"
+                              fill="rgb(0,255,0)" width="33.99999999999999"
+                              height="8.335714285714285" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="28.832951945080094" x="59.7254004576659"
+                                height="1.5468874116810905"
+                                y="52.280613738032535"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="27.0" x="329.0" height="27.0" y="160.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="7"/>
+                    </g>
+                    <g>
+                        <rect x="917.4166666666667" y="742.2835820895523"
+                              width="126.00000000000001"
+                              style="fill:url(#Gradient17)"
+                              height="11.044776119402986" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                        <defs>
+                            <linearGradient x1="0%"
+                                            xmlns:xlink="http://www.w3.org/1999/xlink"
+                                            x2="0%" y1="0%"
+                                            gradientUnits="objectBoundingBox"
+                                            y2="100%" xlink:type="simple"
+                                            xlink:actuate="onLoad"
+                                            id="Gradient17" xlink:show="other">
+                                <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                <stop offset="100%" stop-color="rgb(0,128,0)"/>
+                            </linearGradient>
+                        </defs>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132723" x="65.21739130434783"
+                                height="39.21568627450981" y="60.78431372549019"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="34.0" x="583.0" height="280.0" y="777.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="25.64102564102563"
+                                    x="37.17948717948716"
+                                    height="90.0765306122449"
+                                    y="9.92346938775512"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="17.0" x="2024.0" height="390.0"
+                                     y="295.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="954.0576923076924" y="830.7857142857143"
+                                  width="8.717948717948715"
+                                  style="fill:url(#Gradient18)"
+                                  height="252.21428571428575"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient18"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="69.23076923076921"
+                                    x="15.384615384615538"
+                                    height="8.931122448979592"
+                                    y="1.9846938775510077"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="27.0" x="2016.0" height="27.0"
+                                     y="271.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="946.647435897436" y="808.5571428571428"
+                                  width="23.538461538461533"
+                                  style="fill:url(#Gradient19)"
+                                  height="25.007142857142863"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient19"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="99.99999999999997" x="0.0"
+                                    height="2.9770408163265305" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="265.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="941.4166666666667" y="803.0"
+                                  fill="rgb(0,255,0)" width="33.99999999999999"
+                                  height="8.335714285714287"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="99.99999999999997" x="0.0"
+                                    height="2.9770408163265305"
+                                    y="10.585034013605457"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="297.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="941.4166666666667" y="832.6380952380953"
+                                  fill="rgb(0,255,0)" width="33.99999999999999"
+                                  height="8.335714285714287"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132723" x="92.21967963386729"
+                                height="39.21568627450981"
+                                y="20.448179271708682"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="34.0" x="701.0" height="280.0" y="489.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="25.64102564102563"
+                                    x="37.17948717948716"
+                                    height="90.0765306122449"
+                                    y="9.92346938775512"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="17.0" x="2024.0" height="390.0"
+                                     y="295.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="1072.0576923076924" y="542.7857142857143"
+                                  width="8.717948717948715"
+                                  style="fill:url(#Gradient20)"
+                                  height="252.21428571428575"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient20"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="69.23076923076921"
+                                    x="15.384615384615538"
+                                    height="8.931122448979592"
+                                    y="1.9846938775510077"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="27.0" x="2016.0" height="27.0"
+                                     y="271.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="1064.647435897436" y="520.5571428571428"
+                                  width="23.538461538461533"
+                                  style="fill:url(#Gradient21)"
+                                  height="25.007142857142863"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient21"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="99.99999999999997" x="0.0"
+                                    height="2.9770408163265305" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="265.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="1059.4166666666667" y="515.0"
+                                  fill="rgb(0,255,0)" width="33.99999999999999"
+                                  height="8.335714285714287"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="99.99999999999997" x="0.0"
+                                    height="2.9770408163265305"
+                                    y="10.585034013605457"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="297.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="1059.4166666666667" y="544.6380952380953"
+                                  fill="rgb(0,255,0)" width="33.99999999999999"
+                                  height="8.335714285714287"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="437.0" x="1150.8333333333335" height="714.0"
+                            y="369.0" class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="437.0" x="180.0" height="714.0" y="369.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="1.1089283856076038" x="78.22260391835003"
+                                height="0.9660651742524774"
+                                y="36.376154522534634"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="8.0" x="-1839.666666666667"
+                                 height="11.0" y="158.66666666666686"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="1" nofind="false"
+                                m_mode="true" m_fillColor="-4144960"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16777216" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(192,192,192)" stroke-width="1.0"
+                                  points="1497.5121295016284,628.7257432908973 1492.666112456523,635.62344863506 "
+                                  stroke="rgb(0,0,0)"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="83.98169336384439" x="0.0"
+                                height="92.71708683473389" y="0.0"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="367.0" x="298.0" height="662.0"
+                                 y="343.0" class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="85.49848942598187"
+                                    y="14.501510574018129"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="367.0" x="552.0" height="566.0"
+                                     y="342.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true"
+                                    m_fillColor="-1" m_closePath="true"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_rotatey="0.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-1" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CPolygon"
+                                    m_fillGradient="0">
+                                <m_points>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="13.427561837455832"/>
+                                    <Item x="24.52316076294278"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="13.427561837455832"/>
+                                    <Item x="24.52316076294278"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="75.47683923705722"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="75.47683923705722"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="13.250883392226148"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="13.250883392226148"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="27.56183745583039"/>
+                                    <Item x="66.21253405994551"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="27.56183745583039"/>
+                                    <Item x="74.93188010899182"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="65.37102473498233"/>
+                                    <Item x="74.93188010899182"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="91.16607773851591"/>
+                                    <Item x="89.3732970027248"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="91.16607773851591"/>
+                                    <Item x="89.3732970027248"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="12.806539509536785"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="12.806539509536785"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="91.16607773851591"/>
+                                    <Item x="25.068119891008173"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="91.16607773851591"/>
+                                    <Item x="25.068119891008173"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="65.37102473498233"/>
+                                    <Item x="33.2425068119891"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="27.73851590106007"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="27.73851590106007"/>
+                                </m_points>
+                            </Object>
+                        </g>
+                        <g>
+                            <polygon fill="rgb(255,255,255)" stroke-width="0.0"
+                                     points="1150.8333333333335,541.0 1240.8333333333335,541.0 1240.8333333333335,465.0 1427.8333333333335,465.0 1427.8333333333335,540.0 1517.8333333333335,540.0 1517.8333333333335,621.0 1393.8333333333335,621.0 1425.8333333333335,835.0 1425.8333333333335,981.0000000000001 1478.8333333333335,981.0000000000001 1478.8333333333335,1031.0 1197.8333333333335,1031.0 1197.8333333333335,981.0000000000001 1242.8333333333335,981.0000000000001 1242.8333333333335,835 [...]
+                                     stroke="rgb(255,255,255)"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="49.863760217983646"
+                                    x="25.068119891008173"
+                                    height="4.682779456193353" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="183.0" x="645.0" height="31.0"
+                                     y="246.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true"
+                                    m_fillColor="-8355712" m_closePath="true"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_rotatey="0.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-1" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CPolygon"
+                                    m_fillGradient="0">
+                                <m_points>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="13.661202185792352"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="28.415300546448087"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="71.03825136612022"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="86.33879781420765"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                </m_points>
+                            </Object>
+                        </g>
+                        <g>
+                            <polygon fill="rgb(128,128,128)" stroke-width="0.0"
+                                     points="1242.8333333333335,383.0 1267.8333333333335,383.0 1294.8333333333335,369.0 1372.8333333333335,369.0 1400.8333333333335,383.0 1425.8333333333335,383.0 1425.8333333333335,400.0 1242.8333333333335,400.0 1242.8333333333335,400.0 "
+                                     stroke="rgb(255,255,255)"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="49.31880108991826"
+                                    x="25.340599455040874"
+                                    height="18.731117824773413"
+                                    y="71.6012084592145"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="181.0" x="643.0" height="124.0"
+                                     y="720.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="14.917127071823206"
+                                        x="43.0939226519337"
+                                        height="58.06451612903226"
+                                        y="41.935483870967744"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="27.0" x="1102.0" height="72.0"
+                                         y="749.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_startAngle="0.0"
+                                        m_lineWidth="0" nofind="false"
+                                        m_mode="true" m_type="3"
+                                        m_fillColor="-12566464" m_rotatex="0.0"
+                                        m_Angle="360.0" m_scale="1.0"
+                                        m_rotatey="0.0" m_quality="true"
+                                        m_filltype="1" manual="false"
+                                        m_lineColor="-1" m_rotate="0.0"
+                                        m_backcolor="-16777216" xmlns=""
+                                        class="nc2000.ncpaint.CEllipse"
+                                        m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <ellipse rx="13.500000000000002"
+                                         fill="rgb(64,64,64)"
+                                         ry="36.00000000000001"
+                                         stroke-width="0.0"
+                                         transform="translate(1335.3333333333335,931.0)"
+                                         stroke="rgb(255,255,255)"/>
+                                <path/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="98.38709677419355" y="0.0"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="181.0" x="1024.0" height="122.0"
+                                         y="697.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-3092272"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="0.5524861878453038"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="18.0327868852459"/>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="12.154696132596685"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="20.441988950276244"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="12.295081967213115"/>
+                                        <Item x="79.55801104972376"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="12.295081967213115"/>
+                                        <Item x="88.39779005524862"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="98.89502762430939"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="18.0327868852459"/>
+                                        <Item x="87.84530386740332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="21.311475409836063"/>
+                                        <Item x="87.84530386740332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="24.59016393442623"/>
+                                        <Item x="87.84530386740332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="33.60655737704918"/>
+                                        <Item x="89.50276243093923"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="39.34426229508197"/>
+                                        <Item x="91.16022099447514"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="46.72131147540984"/>
+                                        <Item x="92.81767955801105"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="54.91803278688525"/>
+                                        <Item x="97.23756906077348"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="59.83606557377049"/>
+                                        <Item x="99.4475138121547"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="61.47540983606557"/>
+                                        <Item x="99.4475138121547"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="95.58011049723757"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="97.54098360655738"/>
+                                        <Item x="87.84530386740332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.80327868852459"/>
+                                        <Item x="80.66298342541437"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="83.60655737704919"/>
+                                        <Item x="75.69060773480662"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="68.0327868852459"/>
+                                        <Item x="71.8232044198895"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="53.278688524590166"/>
+                                        <Item x="71.27071823204419"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="41.80327868852459"/>
+                                        <Item x="67.40331491712708"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="48.36065573770492"/>
+                                        <Item x="65.19337016574586"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="56.557377049180324"/>
+                                        <Item x="63.53591160220995"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="63.114754098360656"/>
+                                        <Item x="63.53591160220995"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="68.0327868852459"/>
+                                        <Item x="64.08839779005525"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="72.95081967213115"/>
+                                        <Item x="37.569060773480665"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="75.40983606557377"/>
+                                        <Item x="38.12154696132597"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="66.39344262295081"/>
+                                        <Item x="35.35911602209944"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="53.278688524590166"/>
+                                        <Item x="29.83425414364641"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="40.98360655737705"/>
+                                        <Item x="28.7292817679558"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="50.0"/>
+                                        <Item x="27.624309392265197"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="61.47540983606557"/>
+                                        <Item x="24.861878453038674"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="72.95081967213115"/>
+                                        <Item x="18.23204419889503"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="86.88524590163934"/>
+                                        <Item x="13.259668508287293"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="92.62295081967213"/>
+                                        <Item x="5.524861878453039"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="97.54098360655738"/>
+                                        <Item x="1.1049723756906076"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="98.36065573770492"/>
+                                        <Item x="1.1049723756906076"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="60.65573770491803"/>
+                                        <Item x="6.077348066298343"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="56.557377049180324"/>
+                                        <Item x="10.497237569060774"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="45.08196721311475"/>
+                                        <Item x="12.154696132596685"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="30.327868852459016"/>
+                                        <Item x="12.154696132596685"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="20.491803278688526"/>
+                                        <Item x="7.734806629834254"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="19.672131147540984"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(208,208,208)"
+                                         stroke-width="0.0"
+                                         points="1244.8333333333335,865.0 1243.8333333333335,843.0 1265.8333333333335,843.0 1280.8333333333335,858.0 1387.8333333333335,858.0 1403.8333333333335,843.0 1424.8333333333335,843.0 1422.8333333333335,865.0 1402.8333333333335,869.0 1402.8333333333335,873.0 1402.8333333333335,884.0 1405.8333333333335,891.0 1408.8333333333335,900.0 1411.8333333333335,910.0 1419.8333333333335,916.0 1423.8333333333335,918.0 1423.8333333333335,965.0 1416.8333333333335 [...]
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="24.30939226519337"
+                                        x="13.812154696132598"
+                                        height="55.64516129032258"
+                                        y="33.064516129032256"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="44.0" x="1049.0" height="69.0"
+                                         y="739.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-4144960"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="89.85507246376811"/>
+                                        <Item x="25.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="75.36231884057972"/>
+                                        <Item x="45.45454545454545"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="57.971014492753625"/>
+                                        <Item x="61.36363636363637"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="34.78260869565217"/>
+                                        <Item x="70.45454545454545"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="81.81818181818183"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="8.695652173913043"/>
+                                        <Item x="93.18181818181817"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="26.08695652173913"/>
+                                        <Item x="97.72727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="37.68115942028986"/>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="56.52173913043478"/>
+                                        <Item x="86.36363636363636"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="81.15942028985508"/>
+                                        <Item x="72.72727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="92.7536231884058"/>
+                                        <Item x="65.9090909090909"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="95.65217391304348"/>
+                                        <Item x="50.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="98.55072463768117"/>
+                                        <Item x="40.909090909090914"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="29.545454545454547"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="97.10144927536231"/>
+                                        <Item x="13.636363636363635"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="94.20289855072464"/>
+                                        <Item x="2.272727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.30434782608695"/>
+                                        <Item x="2.272727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.30434782608695"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(192,192,192)"
+                                         stroke-width="0.0"
+                                         points="1268.8333333333335,946.0 1279.8333333333335,936.0 1288.8333333333335,924.0 1295.8333333333335,908.0 1299.8333333333335,884.0 1304.8333333333335,890.0 1309.8333333333335,902.0 1311.8333333333335,910.0 1312.8333333333335,923.0 1306.8333333333335,940.0 1300.8333333333335,948.0 1297.8333333333335,950.0 1290.8333333333335,952.0 1286.8333333333335,953.0 1281.8333333333335,951.0 1274.8333333333335,949.0 1269.8333333333335,947.0 1269.8333333333335 [...]
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="24.30939226519337"
+                                        x="62.98342541436463"
+                                        height="55.64516129032258"
+                                        y="33.064516129032256"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="44.0" x="1138.0" height="69.0"
+                                         y="738.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-4144960"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="89.85507246376811"/>
+                                        <Item x="75.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="75.36231884057972"/>
+                                        <Item x="54.54545454545455"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="57.971014492753625"/>
+                                        <Item x="38.63636363636363"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="34.78260869565217"/>
+                                        <Item x="29.545454545454547"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="18.181818181818173"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="8.695652173913047"/>
+                                        <Item x="6.818181818181827"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="26.086956521739125"/>
+                                        <Item x="2.2727272727272663"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="37.68115942028986"/>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="56.52173913043478"/>
+                                        <Item x="13.63636363636364"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="81.15942028985508"/>
+                                        <Item x="27.272727272727266"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="92.7536231884058"/>
+                                        <Item x="34.09090909090909"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="95.65217391304348"/>
+                                        <Item x="50.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="98.55072463768117"/>
+                                        <Item x="59.090909090909086"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="70.45454545454545"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="97.10144927536231"/>
+                                        <Item x="86.36363636363636"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="94.20289855072464"/>
+                                        <Item x="97.72727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.30434782608695"/>
+                                        <Item x="97.72727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.30434782608695"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(192,192,192)"
+                                         stroke-width="0.0"
+                                         points="1401.8333333333335,946.0 1390.8333333333335,936.0 1381.8333333333335,924.0 1374.8333333333335,908.0 1370.8333333333335,884.0 1365.8333333333335,890.0 1360.8333333333335,902.0 1358.8333333333335,910.0 1357.8333333333335,923.0 1363.8333333333335,940.0 1369.8333333333335,948.0 1372.8333333333335,950.0 1379.8333333333335,952.0 1383.8333333333335,953.0 1388.8333333333335,951.0 1395.8333333333335,949.0 1400.8333333333335,947.0 1400.8333333333335 [...]
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="13.259668508287293"
+                                        x="33.14917127071823" height="25.0"
+                                        y="70.16129032258065"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="24.0" x="1084.0" height="31.0"
+                                         y="782.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-8355712"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                        <Item x="29.166666666666668"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                        <Item x="25.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="16.129032258064516"/>
+                                        <Item x="16.666666666666664"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="38.70967741935484"/>
+                                        <Item x="8.333333333333332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="51.61290322580645"/>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="61.29032258064516"/>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="74.19354838709677"/>
+                                        <Item x="8.333333333333332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="90.32258064516128"/>
+                                        <Item x="16.666666666666664"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="96.7741935483871"/>
+                                        <Item x="25.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="37.5"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="66.66666666666666"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="87.09677419354838"/>
+                                        <Item x="75.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="77.41935483870968"/>
+                                        <Item x="87.5"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="58.06451612903226"/>
+                                        <Item x="91.66666666666666"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="38.70967741935484"/>
+                                        <Item x="95.83333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="25.806451612903224"/>
+                                        <Item x="95.83333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="91.66666666666666"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(128,128,128)"
+                                         stroke-width="0.0"
+                                         points="1327.8333333333335,931.0 1310.8333333333335,931.0 1309.8333333333335,935.0 1307.8333333333335,942.0 1305.8333333333335,946.0 1303.8333333333335,949.0 1303.8333333333335,953.0 1305.8333333333335,958.0 1307.8333333333335,960.0 1309.8333333333335,961.0 1312.8333333333335,961.0 1319.8333333333335,957.0 1321.8333333333335,954.0 1324.8333333333335,948.0 1325.8333333333335,942.0 1326.8333333333335,938.0 1326.8333333333335,930.0 1325.8333333333335 [...]
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="13.259668508287293"
+                                        x="55.24861878453039" height="25.0"
+                                        y="70.16129032258065"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="24.0" x="1124.0" height="31.0"
+                                         y="784.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-8355712"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                        <Item x="70.83333333333333"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                        <Item x="75.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="16.129032258064516"/>
+                                        <Item x="83.33333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="38.70967741935484"/>
+                                        <Item x="91.66666666666667"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="51.61290322580645"/>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="61.29032258064516"/>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="74.19354838709677"/>
+                                        <Item x="91.66666666666667"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="90.32258064516128"/>
+                                        <Item x="83.33333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="96.7741935483871"/>
+                                        <Item x="75.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="62.5"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="33.33333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="87.09677419354838"/>
+                                        <Item x="25.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="77.41935483870968"/>
+                                        <Item x="12.5"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="58.06451612903226"/>
+                                        <Item x="8.333333333333343"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="38.70967741935484"/>
+                                        <Item x="4.166666666666657"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="25.806451612903224"/>
+                                        <Item x="4.166666666666657"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="8.333333333333343"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(128,128,128)"
+                                         stroke-width="0.0"
+                                         points="1343.8333333333335,931.0 1360.8333333333335,931.0 1361.8333333333335,935.0 1363.8333333333335,942.0 1365.8333333333335,946.0 1367.8333333333335,949.0 1367.8333333333335,953.0 1365.8333333333335,958.0 1363.8333333333335,960.0 1361.8333333333335,961.0 1358.8333333333335,961.0 1351.8333333333335,957.0 1349.8333333333335,954.0 1346.8333333333335,948.0 1345.8333333333335,942.0 1344.8333333333335,938.0 1344.8333333333335,930.0 1345.8333333333335 [...]
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="49.863760217983646"
+                                    x="25.068119891008173"
+                                    height="4.682779456193353"
+                                    y="4.078549848942599"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="183.0" x="645.0" height="31.0"
+                                     y="273.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true"
+                                    m_fillColor="-8355712" m_closePath="true"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_rotatey="0.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-1" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CPolygon"
+                                    m_fillGradient="0">
+                                <m_points>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="13.661202185792352"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="28.415300546448087"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="71.03825136612022"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="86.33879781420765"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                </m_points>
+                            </Object>
+                        </g>
+                        <g>
+                            <polygon fill="rgb(128,128,128)" stroke-width="0.0"
+                                     points="1242.8333333333335,410.0 1267.8333333333335,410.0 1294.8333333333335,396.0 1372.8333333333335,396.0 1400.8333333333335,410.0 1425.8333333333335,410.0 1425.8333333333335,427.0 1242.8333333333335,427.0 1242.8333333333335,427.0 "
+                                     stroke="rgb(255,255,255)"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="20.435967302452315"
+                                    x="39.782016348773844"
+                                    height="5.8912386706948645"
+                                    y="23.413897280966765"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="75.0" x="694.0" height="39.0"
+                                     y="401.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-14336" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-1" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="1296.8333333333335" y="524.0"
+                                  fill="rgb(255,200,0)" width="75.0"
+                                  height="39.00000000000001"
+                                  stroke="rgb(255,255,255)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="8.991825613079019"
+                                    x="45.50408719346049"
+                                    height="68.12688821752266"
+                                    y="4.984894259818732"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="33.0" x="714.0" height="451.0"
+                                     y="279.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-3092272" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16777216" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="1317.8333333333335" y="402.0" width="33.0"
+                                  style="fill:url(#Gradient22)" height="451.0"
+                                  stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient22"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,0,0)"/>
+                                    <stop offset="50%"
+                                          stop-color="rgb(208,208,208)"/>
+                                    <stop offset="100%" stop-color="rgb(0,0,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="2.2883295194508007" x="86.95652173913044"
+                                height="35.294117647058826"
+                                y="17.92717086834734"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="17.0" x="2050.0" height="390.0"
+                                 y="201.0" class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="5"/>
+                    </g>
+                    <g>
+                        <rect x="1530.8333333333335" y="497.0"
+                              width="9.999999999999998"
+                              style="fill:url(#Gradient23)" height="252.0"
+                              stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        <defs>
+                            <linearGradient x1="0%"
+                                            xmlns:xlink="http://www.w3.org/1999/xlink"
+                                            x2="100%" y1="0%"
+                                            gradientUnits="objectBoundingBox"
+                                            y2="0%" xlink:type="simple"
+                                            xlink:actuate="onLoad"
+                                            id="Gradient23" xlink:show="other">
+                                <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                <stop offset="100%" stop-color="rgb(0,128,0)"/>
+                            </linearGradient>
+                        </defs>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132722" x="84.66819221967964"
+                                height="5.742296918767507"
+                                y="13.165266106442578"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="34.0" x="668.0" height="41.0" y="437.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="69.23076923076923"
+                                    x="15.384615384615538"
+                                    height="65.85365853658536"
+                                    y="19.51219512195122"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="27.0" x="2016.0" height="27.0"
+                                     y="271.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="1526.0641025641028" y="471.0"
+                                  width="23.538461538461533"
+                                  style="fill:url(#Gradient24)"
+                                  height="26.999999999999996"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient24"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="21.951219512195124"
+                                    y="78.04878048780488"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="265.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="1520.8333333333335" y="495.0"
+                                  fill="rgb(0,255,0)" width="33.99999999999999"
+                                  height="9.000000000000002"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="21.951219512195124" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="297.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="1520.8333333333335" y="463.0"
+                                  fill="rgb(0,255,0)" width="33.99999999999999"
+                                  height="9.000000000000002"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="1.9949539400340308"
+                                x="15.936161473918908"
+                                height="35.324129651860744"
+                                y="64.67587034813927"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="17.0" x="2024.0" height="390.0"
+                                 y="295.0" class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="5"/>
+                    </g>
+                    <g>
+                        <rect x="1220.4743589743591" y="830.7857142857144"
+                              width="8.717948717948715"
+                              style="fill:url(#Gradient25)"
+                              height="252.21428571428572" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                        <defs>
+                            <linearGradient x1="0%"
+                                            xmlns:xlink="http://www.w3.org/1999/xlink"
+                                            x2="100%" y1="0%"
+                                            gradientUnits="objectBoundingBox"
+                                            y2="0%" xlink:type="simple"
+                                            xlink:actuate="onLoad"
+                                            id="Gradient25" xlink:show="other">
+                                <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                <stop offset="100%" stop-color="rgb(0,128,0)"/>
+                            </linearGradient>
+                        </defs>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="5.3863756380918835"
+                                x="14.240450624889982"
+                                height="3.502400960384153" y="61.56262505002"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="27.0" x="2016.0" height="27.0" y="271.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="5"/>
+                    </g>
+                    <g>
+                        <rect x="1213.0641025641028" y="808.5571428571428"
+                              width="23.53846153846153"
+                              style="fill:url(#Gradient26)"
+                              height="25.007142857142853" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                        <defs>
+                            <linearGradient x1="0%"
+                                            xmlns:xlink="http://www.w3.org/1999/xlink"
+                                            x2="100%" y1="0%"
+                                            gradientUnits="objectBoundingBox"
+                                            y2="0%" xlink:type="simple"
+                                            xlink:actuate="onLoad"
+                                            id="Gradient26" xlink:show="other">
+                                <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                <stop offset="100%" stop-color="rgb(0,128,0)"/>
+                            </linearGradient>
+                        </defs>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132722" x="13.043478260869565"
+                                height="1.1674669867947178"
+                                y="60.78431372549019"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="31.0" x="2009.0" height="5.0" y="265.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="0"/>
+                    </g>
+                    <g>
+                        <rect x="1207.8333333333335" y="803.0"
+                              fill="rgb(0,255,0)" width="33.99999999999999"
+                              height="8.335714285714285" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132722" x="13.043478260869565"
+                                height="1.1674669867947178"
+                                y="64.93530745631585"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="31.0" x="2009.0" height="5.0" y="297.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="0"/>
+                    </g>
+                    <g>
+                        <rect x="1207.8333333333335" y="832.6380952380953"
+                              fill="rgb(0,255,0)" width="33.99999999999999"
+                              height="8.335714285714285" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="28.832951945080094" x="59.7254004576659"
+                                height="1.5468874116810905"
+                                y="52.280613738032535"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="27.0" x="329.0" height="27.0" y="160.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="7"/>
+                    </g>
+                    <g>
+                        <rect x="1411.8333333333335" y="742.2835820895523"
+                              width="126.00000000000001"
+                              style="fill:url(#Gradient27)"
+                              height="11.044776119402986" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                        <defs>
+                            <linearGradient x1="0%"
+                                            xmlns:xlink="http://www.w3.org/1999/xlink"
+                                            x2="0%" y1="0%"
+                                            gradientUnits="objectBoundingBox"
+                                            y2="100%" xlink:type="simple"
+                                            xlink:actuate="onLoad"
+                                            id="Gradient27" xlink:show="other">
+                                <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                <stop offset="100%" stop-color="rgb(0,128,0)"/>
+                            </linearGradient>
+                        </defs>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132723" x="65.21739130434783"
+                                height="39.21568627450981" y="60.78431372549019"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="34.0" x="583.0" height="280.0" y="777.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="25.64102564102563"
+                                    x="37.17948717948716"
+                                    height="90.0765306122449"
+                                    y="9.92346938775512"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="17.0" x="2024.0" height="390.0"
+                                     y="295.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="1448.4743589743591" y="830.7857142857143"
+                                  width="8.717948717948715"
+                                  style="fill:url(#Gradient28)"
+                                  height="252.21428571428575"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient28"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="69.23076923076921"
+                                    x="15.384615384615538"
+                                    height="8.931122448979592"
+                                    y="1.9846938775510077"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="27.0" x="2016.0" height="27.0"
+                                     y="271.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="1441.0641025641028" y="808.5571428571428"
+                                  width="23.538461538461533"
+                                  style="fill:url(#Gradient29)"
+                                  height="25.007142857142863"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient29"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="99.99999999999997" x="0.0"
+                                    height="2.9770408163265305" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="265.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="1435.8333333333335" y="803.0"
+                                  fill="rgb(0,255,0)" width="33.99999999999999"
+                                  height="8.335714285714287"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="99.99999999999997" x="0.0"
+                                    height="2.9770408163265305"
+                                    y="10.585034013605457"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="297.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="1435.8333333333335" y="832.6380952380953"
+                                  fill="rgb(0,255,0)" width="33.99999999999999"
+                                  height="8.335714285714287"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132723" x="92.21967963386729"
+                                height="39.21568627450981"
+                                y="20.448179271708682"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="34.0" x="701.0" height="280.0" y="489.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="25.64102564102563"
+                                    x="37.17948717948716"
+                                    height="90.0765306122449"
+                                    y="9.92346938775512"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="17.0" x="2024.0" height="390.0"
+                                     y="295.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="1566.4743589743591" y="542.7857142857143"
+                                  width="8.717948717948715"
+                                  style="fill:url(#Gradient30)"
+                                  height="252.21428571428575"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient30"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="69.23076923076921"
+                                    x="15.384615384615538"
+                                    height="8.931122448979592"
+                                    y="1.9846938775510077"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="27.0" x="2016.0" height="27.0"
+                                     y="271.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="1559.0641025641028" y="520.5571428571428"
+                                  width="23.538461538461533"
+                                  style="fill:url(#Gradient31)"
+                                  height="25.007142857142863"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient31"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="99.99999999999997" x="0.0"
+                                    height="2.9770408163265305" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="265.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="1553.8333333333335" y="515.0"
+                                  fill="rgb(0,255,0)" width="33.99999999999999"
+                                  height="8.335714285714287"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="99.99999999999997" x="0.0"
+                                    height="2.9770408163265305"
+                                    y="10.585034013605457"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="297.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="1553.8333333333335" y="544.6380952380953"
+                                  fill="rgb(0,255,0)" width="33.99999999999999"
+                                  height="8.335714285714287"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="437.0" x="1645.25" height="714.0" y="369.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="437.0" x="1228.0" height="714.0" y="323.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="1.1089283856076038" x="78.22260391835003"
+                                height="0.9660651742524774"
+                                y="36.376154522534634"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="8.0" x="-1839.666666666667"
+                                 height="11.0" y="158.66666666666686"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="1" nofind="false"
+                                m_mode="true" m_fillColor="-4144960"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16777216" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(192,192,192)" stroke-width="1.0"
+                                  points="1991.9287961682949,628.7257432908973 1987.0827791231895,635.62344863506 "
+                                  stroke="rgb(0,0,0)"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="83.98169336384439" x="0.0"
+                                height="92.71708683473389" y="0.0"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="367.0" x="298.0" height="662.0"
+                                 y="343.0" class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="85.49848942598187"
+                                    y="14.501510574018129"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="367.0" x="552.0" height="566.0"
+                                     y="342.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true"
+                                    m_fillColor="-1" m_closePath="true"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_rotatey="0.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-1" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CPolygon"
+                                    m_fillGradient="0">
+                                <m_points>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="13.427561837455832"/>
+                                    <Item x="24.52316076294278"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="13.427561837455832"/>
+                                    <Item x="24.52316076294278"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="75.47683923705722"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="75.47683923705722"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="13.250883392226148"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="13.250883392226148"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="27.56183745583039"/>
+                                    <Item x="66.21253405994551"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="27.56183745583039"/>
+                                    <Item x="74.93188010899182"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="65.37102473498233"/>
+                                    <Item x="74.93188010899182"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="91.16607773851591"/>
+                                    <Item x="89.3732970027248"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="91.16607773851591"/>
+                                    <Item x="89.3732970027248"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="12.806539509536785"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="12.806539509536785"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="91.16607773851591"/>
+                                    <Item x="25.068119891008173"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="91.16607773851591"/>
+                                    <Item x="25.068119891008173"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="65.37102473498233"/>
+                                    <Item x="33.2425068119891"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="27.73851590106007"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="27.73851590106007"/>
+                                </m_points>
+                            </Object>
+                        </g>
+                        <g>
+                            <polygon fill="rgb(255,255,255)" stroke-width="0.0"
+                                     points="1645.25,541.0 1735.25,541.0 1735.25,465.0 1922.25,465.0 1922.25,540.0 2012.25,540.0 2012.25,621.0 1888.25,621.0 1920.25,835.0 1920.25,981.0000000000001 1973.25,981.0000000000001 1973.25,1031.0 1692.25,1031.0 1692.25,981.0000000000001 1737.25,981.0000000000001 1737.25,835.0 1767.25,622.0 1645.25,622.0 "
+                                     stroke="rgb(255,255,255)"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="49.863760217983646"
+                                    x="25.068119891008173"
+                                    height="4.682779456193353" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="183.0" x="645.0" height="31.0"
+                                     y="246.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true"
+                                    m_fillColor="-8355712" m_closePath="true"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_rotatey="0.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-1" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CPolygon"
+                                    m_fillGradient="0">
+                                <m_points>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="13.661202185792352"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="28.415300546448087"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="71.03825136612022"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="86.33879781420765"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                </m_points>
+                            </Object>
+                        </g>
+                        <g>
+                            <polygon fill="rgb(128,128,128)" stroke-width="0.0"
+                                     points="1737.25,383.0 1762.25,383.0 1789.25,369.0 1867.25,369.0 1895.25,383.0 1920.25,383.0 1920.25,400.0 1737.25,400.0 1737.25,400.0 "
+                                     stroke="rgb(255,255,255)"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="49.31880108991826"
+                                    x="25.340599455040874"
+                                    height="18.731117824773413"
+                                    y="71.6012084592145"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="181.0" x="643.0" height="124.0"
+                                     y="720.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="14.917127071823206"
+                                        x="43.0939226519337"
+                                        height="58.06451612903226"
+                                        y="41.935483870967744"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="27.0" x="1102.0" height="72.0"
+                                         y="749.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_startAngle="0.0"
+                                        m_lineWidth="0" nofind="false"
+                                        m_mode="true" m_type="3"
+                                        m_fillColor="-12566464" m_rotatex="0.0"
+                                        m_Angle="360.0" m_scale="1.0"
+                                        m_rotatey="0.0" m_quality="true"
+                                        m_filltype="1" manual="false"
+                                        m_lineColor="-1" m_rotate="0.0"
+                                        m_backcolor="-16777216" xmlns=""
+                                        class="nc2000.ncpaint.CEllipse"
+                                        m_fillGradient="0"/>
+                            </g>
+                            <g>
+                                <ellipse rx="13.500000000000002"
+                                         fill="rgb(64,64,64)"
+                                         ry="36.00000000000001"
+                                         stroke-width="0.0"
+                                         transform="translate(1829.75,931.0)"
+                                         stroke="rgb(255,255,255)"/>
+                                <path/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="100.0" x="0.0"
+                                        height="98.38709677419355" y="0.0"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="181.0" x="1024.0" height="122.0"
+                                         y="697.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-3092272"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="0.5524861878453038"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="18.0327868852459"/>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="12.154696132596685"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="20.441988950276244"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="12.295081967213115"/>
+                                        <Item x="79.55801104972376"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="12.295081967213115"/>
+                                        <Item x="88.39779005524862"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="98.89502762430939"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="18.0327868852459"/>
+                                        <Item x="87.84530386740332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="21.311475409836063"/>
+                                        <Item x="87.84530386740332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="24.59016393442623"/>
+                                        <Item x="87.84530386740332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="33.60655737704918"/>
+                                        <Item x="89.50276243093923"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="39.34426229508197"/>
+                                        <Item x="91.16022099447514"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="46.72131147540984"/>
+                                        <Item x="92.81767955801105"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="54.91803278688525"/>
+                                        <Item x="97.23756906077348"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="59.83606557377049"/>
+                                        <Item x="99.4475138121547"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="61.47540983606557"/>
+                                        <Item x="99.4475138121547"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="95.58011049723757"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="97.54098360655738"/>
+                                        <Item x="87.84530386740332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.80327868852459"/>
+                                        <Item x="80.66298342541437"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="83.60655737704919"/>
+                                        <Item x="75.69060773480662"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="68.0327868852459"/>
+                                        <Item x="71.8232044198895"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="53.278688524590166"/>
+                                        <Item x="71.27071823204419"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="41.80327868852459"/>
+                                        <Item x="67.40331491712708"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="48.36065573770492"/>
+                                        <Item x="65.19337016574586"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="56.557377049180324"/>
+                                        <Item x="63.53591160220995"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="63.114754098360656"/>
+                                        <Item x="63.53591160220995"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="68.0327868852459"/>
+                                        <Item x="64.08839779005525"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="72.95081967213115"/>
+                                        <Item x="37.569060773480665"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="75.40983606557377"/>
+                                        <Item x="38.12154696132597"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="66.39344262295081"/>
+                                        <Item x="35.35911602209944"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="53.278688524590166"/>
+                                        <Item x="29.83425414364641"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="40.98360655737705"/>
+                                        <Item x="28.7292817679558"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="50.0"/>
+                                        <Item x="27.624309392265197"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="61.47540983606557"/>
+                                        <Item x="24.861878453038674"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="72.95081967213115"/>
+                                        <Item x="18.23204419889503"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="86.88524590163934"/>
+                                        <Item x="13.259668508287293"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="92.62295081967213"/>
+                                        <Item x="5.524861878453039"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="97.54098360655738"/>
+                                        <Item x="1.1049723756906076"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="98.36065573770492"/>
+                                        <Item x="1.1049723756906076"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="60.65573770491803"/>
+                                        <Item x="6.077348066298343"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="56.557377049180324"/>
+                                        <Item x="10.497237569060774"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="45.08196721311475"/>
+                                        <Item x="12.154696132596685"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="30.327868852459016"/>
+                                        <Item x="12.154696132596685"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="20.491803278688526"/>
+                                        <Item x="7.734806629834254"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="19.672131147540984"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(208,208,208)"
+                                         stroke-width="0.0"
+                                         points="1739.25,865.0 1738.25,843.0 1760.25,843.0 1775.25,858.0 1882.25,858.0 1898.25,843.0 1919.25,843.0 1917.25,865.0 1897.25,869.0 1897.25,873.0 1897.25,884.0 1900.25,891.0 1903.25,900.0 1906.25,910.0 1914.25,916.0 1918.25,918.0 1918.25,965.0 1911.25,962.0 1897.25,955.0 1884.25,945.0 1875.25,926.0 1868.25,908.0 1867.25,894.0 1860.25,902.0 1856.25,912.0 1853.25,920.0 1853.25,926.0 1854.25,932.0 1806.25,935.0 1807.25,924.0 1802.25,908.0 1792.25,8 [...]
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="24.30939226519337"
+                                        x="13.812154696132598"
+                                        height="55.64516129032258"
+                                        y="33.064516129032256"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="44.0" x="1049.0" height="69.0"
+                                         y="739.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-4144960"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="89.85507246376811"/>
+                                        <Item x="25.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="75.36231884057972"/>
+                                        <Item x="45.45454545454545"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="57.971014492753625"/>
+                                        <Item x="61.36363636363637"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="34.78260869565217"/>
+                                        <Item x="70.45454545454545"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="81.81818181818183"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="8.695652173913043"/>
+                                        <Item x="93.18181818181817"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="26.08695652173913"/>
+                                        <Item x="97.72727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="37.68115942028986"/>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="56.52173913043478"/>
+                                        <Item x="86.36363636363636"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="81.15942028985508"/>
+                                        <Item x="72.72727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="92.7536231884058"/>
+                                        <Item x="65.9090909090909"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="95.65217391304348"/>
+                                        <Item x="50.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="98.55072463768117"/>
+                                        <Item x="40.909090909090914"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="29.545454545454547"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="97.10144927536231"/>
+                                        <Item x="13.636363636363635"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="94.20289855072464"/>
+                                        <Item x="2.272727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.30434782608695"/>
+                                        <Item x="2.272727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.30434782608695"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(192,192,192)"
+                                         stroke-width="0.0"
+                                         points="1763.25,946.0 1774.25,936.0 1783.25,924.0 1790.25,908.0 1794.25,884.0 1799.25,890.0 1804.25,902.0 1806.25,910.0 1807.25,923.0 1801.25,940.0 1795.25,948.0 1792.25,950.0 1785.25,952.0 1781.25,953.0 1776.25,951.0 1769.25,949.0 1764.25,947.0 1764.25,947.0 "
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="24.30939226519337"
+                                        x="62.98342541436463"
+                                        height="55.64516129032258"
+                                        y="33.064516129032256"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="44.0" x="1138.0" height="69.0"
+                                         y="738.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-4144960"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="89.85507246376811"/>
+                                        <Item x="75.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="75.36231884057972"/>
+                                        <Item x="54.54545454545455"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="57.971014492753625"/>
+                                        <Item x="38.63636363636363"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="34.78260869565217"/>
+                                        <Item x="29.545454545454547"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="18.181818181818173"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="8.695652173913047"/>
+                                        <Item x="6.818181818181827"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="26.086956521739125"/>
+                                        <Item x="2.2727272727272663"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="37.68115942028986"/>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="56.52173913043478"/>
+                                        <Item x="13.63636363636364"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="81.15942028985508"/>
+                                        <Item x="27.272727272727266"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="92.7536231884058"/>
+                                        <Item x="34.09090909090909"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="95.65217391304348"/>
+                                        <Item x="50.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="98.55072463768117"/>
+                                        <Item x="59.090909090909086"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="70.45454545454545"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="97.10144927536231"/>
+                                        <Item x="86.36363636363636"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="94.20289855072464"/>
+                                        <Item x="97.72727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.30434782608695"/>
+                                        <Item x="97.72727272727273"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="91.30434782608695"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(192,192,192)"
+                                         stroke-width="0.0"
+                                         points="1896.25,946.0 1885.25,936.0 1876.25,924.0 1869.25,908.0 1865.25,884.0 1860.25,890.0 1855.25,902.0 1853.25,910.0 1852.25,923.0 1858.25,940.0 1864.25,948.0 1867.25,950.0 1874.25,952.0 1878.25,953.0 1883.25,951.0 1890.25,949.0 1895.25,947.0 1895.25,947.0 "
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="13.259668508287293"
+                                        x="33.14917127071823" height="25.0"
+                                        y="70.16129032258065"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="24.0" x="1084.0" height="31.0"
+                                         y="782.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-8355712"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                        <Item x="29.166666666666668"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                        <Item x="25.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="16.129032258064516"/>
+                                        <Item x="16.666666666666664"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="38.70967741935484"/>
+                                        <Item x="8.333333333333332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="51.61290322580645"/>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="61.29032258064516"/>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="74.19354838709677"/>
+                                        <Item x="8.333333333333332"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="90.32258064516128"/>
+                                        <Item x="16.666666666666664"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="96.7741935483871"/>
+                                        <Item x="25.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="37.5"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="66.66666666666666"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="87.09677419354838"/>
+                                        <Item x="75.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="77.41935483870968"/>
+                                        <Item x="87.5"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="58.06451612903226"/>
+                                        <Item x="91.66666666666666"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="38.70967741935484"/>
+                                        <Item x="95.83333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="25.806451612903224"/>
+                                        <Item x="95.83333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="91.66666666666666"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(128,128,128)"
+                                         stroke-width="0.0"
+                                         points="1822.25,931.0 1805.25,931.0 1804.25,935.0 1802.25,942.0 1800.25,946.0 1798.25,949.0 1798.25,953.0 1800.25,958.0 1802.25,960.0 1804.25,961.0 1807.25,961.0 1814.25,957.0 1816.25,954.0 1819.25,948.0 1820.25,942.0 1821.25,938.0 1821.25,930.0 1820.25,931.0 "
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                        <g type="MetaContainer">
+                            <Object m_layer="1" m_mode="true" xmlns=""
+                                    class="nc2000.ncpaint.CMetaContainer"
+                                    xt="0.0" yt="0.0" m_disp="true"
+                                    m_rotate="0.0">
+                                <Dynamics/>
+                                <m_rect width="13.259668508287293"
+                                        x="55.24861878453039" height="25.0"
+                                        y="70.16129032258065"
+                                        class="nc2000.ncpaint.SRectangle"/>
+                                <m_rect1 width="24.0" x="1124.0" height="31.0"
+                                         y="784.0"
+                                         class="nc2000.ncpaint.SRectangle"/>
+                            </Object>
+                            <g type="Meta">
+                                <Object m_lineStyle="0" m_lineWidth="0"
+                                        nofind="false" m_mode="true"
+                                        m_fillColor="-8355712"
+                                        m_closePath="true" m_rotatex="0.0"
+                                        m_scale="1.0" m_rotatey="0.0"
+                                        m_quality="true" m_filltype="1"
+                                        manual="false" m_lineColor="-1"
+                                        m_rotate="0.0" m_backcolor="-16777216"
+                                        xmlns="" class="nc2000.ncpaint.CPolygon"
+                                        m_fillGradient="0">
+                                    <m_points>
+                                        <Item x="0.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                        <Item x="70.83333333333333"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                        <Item x="75.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="16.129032258064516"/>
+                                        <Item x="83.33333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="38.70967741935484"/>
+                                        <Item x="91.66666666666667"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="51.61290322580645"/>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="61.29032258064516"/>
+                                        <Item x="100.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="74.19354838709677"/>
+                                        <Item x="91.66666666666667"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="90.32258064516128"/>
+                                        <Item x="83.33333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="96.7741935483871"/>
+                                        <Item x="75.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="62.5"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="100.0"/>
+                                        <Item x="33.33333333333334"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="87.09677419354838"/>
+                                        <Item x="25.0"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="77.41935483870968"/>
+                                        <Item x="12.5"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="58.06451612903226"/>
+                                        <Item x="8.333333333333343"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="38.70967741935484"/>
+                                        <Item x="4.166666666666657"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="25.806451612903224"/>
+                                        <Item x="4.166666666666657"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="0.0"/>
+                                        <Item x="8.333333333333343"
+                                              class="nc2000.ncpaint.SPoint"
+                                              y="3.225806451612903"/>
+                                    </m_points>
+                                </Object>
+                            </g>
+                            <g>
+                                <polygon fill="rgb(128,128,128)"
+                                         stroke-width="0.0"
+                                         points="1838.25,931.0 1855.25,931.0 1856.25,935.0 1858.25,942.0 1860.25,946.0 1862.25,949.0 1862.25,953.0 1860.25,958.0 1858.25,960.0 1856.25,961.0 1853.25,961.0 1846.25,957.0 1844.25,954.0 1841.25,948.0 1840.25,942.0 1839.25,938.0 1839.25,930.0 1840.25,931.0 "
+                                         stroke="rgb(255,255,255)"/>
+                            </g>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="49.863760217983646"
+                                    x="25.068119891008173"
+                                    height="4.682779456193353"
+                                    y="4.078549848942599"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="183.0" x="645.0" height="31.0"
+                                     y="273.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true"
+                                    m_fillColor="-8355712" m_closePath="true"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_rotatey="0.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-1" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CPolygon"
+                                    m_fillGradient="0">
+                                <m_points>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="13.661202185792352"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="28.415300546448087"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="71.03825136612022"
+                                          class="nc2000.ncpaint.SPoint" y="0.0"/>
+                                    <Item x="86.33879781420765"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="45.16129032258064"/>
+                                    <Item x="100.0"
+                                          class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                    <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                          y="100.0"/>
+                                </m_points>
+                            </Object>
+                        </g>
+                        <g>
+                            <polygon fill="rgb(128,128,128)" stroke-width="0.0"
+                                     points="1737.25,410.0 1762.25,410.0 1789.25,396.0 1867.25,396.0 1895.25,410.0 1920.25,410.0 1920.25,427.0 1737.25,427.0 1737.25,427.0 "
+                                     stroke="rgb(255,255,255)"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="20.435967302452315"
+                                    x="39.782016348773844"
+                                    height="5.8912386706948645"
+                                    y="23.413897280966765"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="75.0" x="694.0" height="39.0"
+                                     y="401.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-14336" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-1" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="1791.25" y="524.0" fill="rgb(255,200,0)"
+                                  width="75.0" height="39.00000000000001"
+                                  stroke="rgb(255,255,255)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="8.991825613079019"
+                                    x="45.50408719346049"
+                                    height="68.12688821752266"
+                                    y="4.984894259818732"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="33.0" x="714.0" height="451.0"
+                                     y="279.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-3092272" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16777216" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="1812.25" y="402.0" width="33.0"
+                                  style="fill:url(#Gradient32)" height="451.0"
+                                  stroke="rgb(0,0,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient32"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,0,0)"/>
+                                    <stop offset="50%"
+                                          stop-color="rgb(208,208,208)"/>
+                                    <stop offset="100%" stop-color="rgb(0,0,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="2.2883295194508007" x="86.95652173913044"
+                                height="35.294117647058826"
+                                y="17.92717086834734"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="17.0" x="2050.0" height="390.0"
+                                 y="201.0" class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="5"/>
+                    </g>
+                    <g>
+                        <rect x="2025.25" y="497.0" width="9.999999999999998"
+                              style="fill:url(#Gradient33)" height="252.0"
+                              stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        <defs>
+                            <linearGradient x1="0%"
+                                            xmlns:xlink="http://www.w3.org/1999/xlink"
+                                            x2="100%" y1="0%"
+                                            gradientUnits="objectBoundingBox"
+                                            y2="0%" xlink:type="simple"
+                                            xlink:actuate="onLoad"
+                                            id="Gradient33" xlink:show="other">
+                                <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                <stop offset="100%" stop-color="rgb(0,128,0)"/>
+                            </linearGradient>
+                        </defs>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132722" x="84.66819221967964"
+                                height="5.742296918767507"
+                                y="13.165266106442578"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="34.0" x="668.0" height="41.0" y="437.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="69.23076923076923"
+                                    x="15.384615384615538"
+                                    height="65.85365853658536"
+                                    y="19.51219512195122"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="27.0" x="2016.0" height="27.0"
+                                     y="271.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="2020.4807692307693" y="471.0"
+                                  width="23.538461538461533"
+                                  style="fill:url(#Gradient34)"
+                                  height="26.999999999999996"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient34"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="21.951219512195124"
+                                    y="78.04878048780488"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="265.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="2015.25" y="495.0" fill="rgb(0,255,0)"
+                                  width="33.99999999999999"
+                                  height="9.000000000000002"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="100.0" x="0.0"
+                                    height="21.951219512195124" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="297.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="2015.25" y="463.0" fill="rgb(0,255,0)"
+                                  width="33.99999999999999"
+                                  height="9.000000000000002"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="1.9949539400340308"
+                                x="15.936161473918908"
+                                height="35.324129651860744"
+                                y="64.67587034813927"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="17.0" x="2024.0" height="390.0"
+                                 y="295.0" class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="5"/>
+                    </g>
+                    <g>
+                        <rect x="1714.8910256410256" y="830.7857142857144"
+                              width="8.717948717948715"
+                              style="fill:url(#Gradient35)"
+                              height="252.21428571428572" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                        <defs>
+                            <linearGradient x1="0%"
+                                            xmlns:xlink="http://www.w3.org/1999/xlink"
+                                            x2="100%" y1="0%"
+                                            gradientUnits="objectBoundingBox"
+                                            y2="0%" xlink:type="simple"
+                                            xlink:actuate="onLoad"
+                                            id="Gradient35" xlink:show="other">
+                                <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                <stop offset="100%" stop-color="rgb(0,128,0)"/>
+                            </linearGradient>
+                        </defs>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="5.3863756380918835"
+                                x="14.240450624889982"
+                                height="3.502400960384153" y="61.56262505002"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="27.0" x="2016.0" height="27.0" y="271.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="5"/>
+                    </g>
+                    <g>
+                        <rect x="1707.4807692307693" y="808.5571428571428"
+                              width="23.53846153846153"
+                              style="fill:url(#Gradient36)"
+                              height="25.007142857142853" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                        <defs>
+                            <linearGradient x1="0%"
+                                            xmlns:xlink="http://www.w3.org/1999/xlink"
+                                            x2="100%" y1="0%"
+                                            gradientUnits="objectBoundingBox"
+                                            y2="0%" xlink:type="simple"
+                                            xlink:actuate="onLoad"
+                                            id="Gradient36" xlink:show="other">
+                                <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                <stop offset="100%" stop-color="rgb(0,128,0)"/>
+                            </linearGradient>
+                        </defs>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132722" x="13.043478260869565"
+                                height="1.1674669867947178"
+                                y="60.78431372549019"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="31.0" x="2009.0" height="5.0" y="265.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="0"/>
+                    </g>
+                    <g>
+                        <rect x="1702.25" y="803.0" fill="rgb(0,255,0)"
+                              width="33.99999999999999"
+                              height="8.335714285714285" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132722" x="13.043478260869565"
+                                height="1.1674669867947178"
+                                y="64.93530745631585"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="31.0" x="2009.0" height="5.0" y="297.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="0"/>
+                    </g>
+                    <g>
+                        <rect x="1702.25" y="832.6380952380953"
+                              fill="rgb(0,255,0)" width="33.99999999999999"
+                              height="8.335714285714285" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="28.832951945080094" x="59.7254004576659"
+                                height="1.5468874116810905"
+                                y="52.280613738032535"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="27.0" x="329.0" height="27.0" y="160.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="0" nofind="false"
+                                m_mode="true" m_3d="false"
+                                m_fillColor="-16711936" m_round="false"
+                                m_rotatex="0.0" m_scale="1.0" m_arcHeight="30.0"
+                                m_rotatey="0.0" m_arcWidth="30.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16744448" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CRectangle"
+                                m_lower="false" m_fillGradient="7"/>
+                    </g>
+                    <g>
+                        <rect x="1906.25" y="742.2835820895523"
+                              width="126.00000000000001"
+                              style="fill:url(#Gradient37)"
+                              height="11.044776119402986" stroke="rgb(0,128,0)"
+                              stroke-width="0.0"/>
+                        <defs>
+                            <linearGradient x1="0%"
+                                            xmlns:xlink="http://www.w3.org/1999/xlink"
+                                            x2="0%" y1="0%"
+                                            gradientUnits="objectBoundingBox"
+                                            y2="100%" xlink:type="simple"
+                                            xlink:actuate="onLoad"
+                                            id="Gradient37" xlink:show="other">
+                                <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                <stop offset="100%" stop-color="rgb(0,128,0)"/>
+                            </linearGradient>
+                        </defs>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132723" x="65.21739130434783"
+                                height="39.21568627450981" y="60.78431372549019"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="34.0" x="583.0" height="280.0" y="777.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="25.64102564102563"
+                                    x="37.17948717948716"
+                                    height="90.0765306122449"
+                                    y="9.92346938775512"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="17.0" x="2024.0" height="390.0"
+                                     y="295.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="1942.8910256410256" y="830.7857142857143"
+                                  width="8.717948717948715"
+                                  style="fill:url(#Gradient38)"
+                                  height="252.21428571428575"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient38"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="69.23076923076921"
+                                    x="15.384615384615538"
+                                    height="8.931122448979592"
+                                    y="1.9846938775510077"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="27.0" x="2016.0" height="27.0"
+                                     y="271.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="1935.4807692307693" y="808.5571428571428"
+                                  width="23.538461538461533"
+                                  style="fill:url(#Gradient39)"
+                                  height="25.007142857142863"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient39"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="99.99999999999997" x="0.0"
+                                    height="2.9770408163265305" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="265.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="1930.25" y="803.0" fill="rgb(0,255,0)"
+                                  width="33.99999999999999"
+                                  height="8.335714285714287"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="99.99999999999997" x="0.0"
+                                    height="2.9770408163265305"
+                                    y="10.585034013605457"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="297.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="1930.25" y="832.6380952380953"
+                                  fill="rgb(0,255,0)" width="33.99999999999999"
+                                  height="8.335714285714287"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="7.780320366132723" x="92.21967963386729"
+                                height="39.21568627450981"
+                                y="20.448179271708682"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="34.0" x="701.0" height="280.0" y="489.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="25.64102564102563"
+                                    x="37.17948717948716"
+                                    height="90.0765306122449"
+                                    y="9.92346938775512"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="17.0" x="2024.0" height="390.0"
+                                     y="295.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="2060.8910256410254" y="542.7857142857143"
+                                  width="8.717948717948715"
+                                  style="fill:url(#Gradient40)"
+                                  height="252.21428571428575"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient40"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="69.23076923076921"
+                                    x="15.384615384615538"
+                                    height="8.931122448979592"
+                                    y="1.9846938775510077"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="27.0" x="2016.0" height="27.0"
+                                     y="271.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="5"/>
+                        </g>
+                        <g>
+                            <rect x="2053.4807692307695" y="520.5571428571428"
+                                  width="23.538461538461533"
+                                  style="fill:url(#Gradient41)"
+                                  height="25.007142857142863"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                            <defs>
+                                <linearGradient x1="0%"
+                                                xmlns:xlink="http://www.w3.org/1999/xlink"
+                                                x2="100%" y1="0%"
+                                                gradientUnits="objectBoundingBox"
+                                                y2="0%" xlink:type="simple"
+                                                xlink:actuate="onLoad"
+                                                id="Gradient41"
+                                                xlink:show="other">
+                                    <stop offset="0%" stop-color="rgb(0,128,0)"/>
+                                    <stop offset="50%" stop-color="rgb(0,255,0)"/>
+                                    <stop offset="100%"
+                                          stop-color="rgb(0,128,0)"/>
+                                </linearGradient>
+                            </defs>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="99.99999999999997" x="0.0"
+                                    height="2.9770408163265305" y="0.0"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="265.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="2048.25" y="515.0" fill="rgb(0,255,0)"
+                                  width="33.99999999999999"
+                                  height="8.335714285714287"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                    <g type="MetaContainer">
+                        <Object m_layer="1" m_mode="true" xmlns=""
+                                class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                                yt="0.0" m_disp="true" m_rotate="0.0">
+                            <Dynamics/>
+                            <m_rect width="99.99999999999997" x="0.0"
+                                    height="2.9770408163265305"
+                                    y="10.585034013605457"
+                                    class="nc2000.ncpaint.SRectangle"/>
+                            <m_rect1 width="31.0" x="2009.0" height="5.0"
+                                     y="297.0" class="nc2000.ncpaint.SRectangle"/>
+                        </Object>
+                        <g type="Meta">
+                            <Object m_lineStyle="0" m_lineWidth="0"
+                                    nofind="false" m_mode="true" m_3d="false"
+                                    m_fillColor="-16711936" m_round="false"
+                                    m_rotatex="0.0" m_scale="1.0"
+                                    m_arcHeight="30.0" m_rotatey="0.0"
+                                    m_arcWidth="30.0" m_quality="true"
+                                    m_filltype="1" manual="false"
+                                    m_lineColor="-16744448" m_rotate="0.0"
+                                    m_backcolor="-16777216" xmlns=""
+                                    class="nc2000.ncpaint.CRectangle"
+                                    m_lower="false" m_fillGradient="0"/>
+                        </g>
+                        <g>
+                            <rect x="2048.25" y="544.6380952380953"
+                                  fill="rgb(0,255,0)" width="33.99999999999999"
+                                  height="8.335714285714287"
+                                  stroke="rgb(0,128,0)" stroke-width="0.0"/>
+                        </g>
+                    </g>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="179.0" x="2166.0" height="1.0" y="363.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="33.0" x="2166.0" height="1.0" y="362.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                            m_mode="true" m_fillColor="-16727872"
+                            m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16711936" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CPolyLine" m_fillGradient="0">
+                        <m_points>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint" y="0.0"/>
+                            <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                  y="0.0"/>
+                        </m_points>
+                    </Object>
+                </g>
+                <g>
+                    <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                              points="2166.0,363.0 2345.0,363.0 "
+                              stroke="rgb(0,255,0)"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="1.0" x="2198.0" height="164.0" y="188.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="1.0" x="2198.0" height="164.0" y="188.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                            m_mode="true" m_fillColor="-16727872"
+                            m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16711936" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CPolyLine" m_fillGradient="0">
+                        <m_points>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint" y="0.0"/>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                  y="100.0"/>
+                        </m_points>
+                    </Object>
+                </g>
+                <g>
+                    <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                              points="2198.0,188.0 2198.0,352.0 "
+                              stroke="rgb(0,255,0)"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="1.0" x="2165.0" height="176.0" y="187.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="1.0" x="2164.0" height="164.0" y="199.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                            m_mode="true" m_fillColor="-16727872"
+                            m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16711936" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CPolyLine" m_fillGradient="0">
+                        <m_points>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                  y="100.0"/>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint" y="0.0"/>
+                        </m_points>
+                    </Object>
+                </g>
+                <g>
+                    <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                              points="2165.0,363.0 2165.0,187.0 "
+                              stroke="rgb(0,255,0)"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="85.0" x="2113.0" height="2.0" y="183.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="33.0" x="2113.0" height="1.0" y="183.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                            m_mode="true" m_fillColor="-16727872"
+                            m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16711936" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CPolyLine" m_fillGradient="0">
+                        <m_points>
+                            <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                  y="0.0"/>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint" y="0.0"/>
+                        </m_points>
+                    </Object>
+                </g>
+                <g>
+                    <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                              points="2198.0,183.0 2113.0,183.0 "
+                              stroke="rgb(0,255,0)"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="51.0" x="2260.0" height="1.0" y="351.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="33.0" x="2260.0" height="1.0" y="351.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                            m_mode="true" m_fillColor="-16727872"
+                            m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16711936" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CPolyLine" m_fillGradient="0">
+                        <m_points>
+                            <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                  y="0.0"/>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint" y="0.0"/>
+                        </m_points>
+                    </Object>
+                </g>
+                <g>
+                    <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                              points="2311.0,351.0 2260.0,351.0 "
+                              stroke="rgb(0,255,0)"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="64.0" x="2316.0" height="2.0" y="196.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="33.0" x="2316.0" height="1.0" y="196.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                            m_mode="true" m_fillColor="-16727872"
+                            m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16711936" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CPolyLine" m_fillGradient="0">
+                        <m_points>
+                            <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                  y="0.0"/>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint" y="0.0"/>
+                        </m_points>
+                    </Object>
+                </g>
+                <g>
+                    <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                              points="2380.0,196.0 2316.0,196.0 "
+                              stroke="rgb(0,255,0)"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="83.0" x="2413.0" height="2.0" y="241.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="33.0" x="2413.0" height="1.0" y="241.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                            m_mode="true" m_fillColor="-16727872"
+                            m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16711936" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CPolyLine" m_fillGradient="0">
+                        <m_points>
+                            <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                  y="0.0"/>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint" y="0.0"/>
+                        </m_points>
+                    </Object>
+                </g>
+                <g>
+                    <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                              points="2496.0,241.0 2413.0,241.0 "
+                              stroke="rgb(0,255,0)"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="1.0" x="2269.0" height="81.0" y="211.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="1.0" x="2268.0" height="164.0" y="234.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                            m_mode="true" m_fillColor="-16727872"
+                            m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16711936" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CPolyLine" m_fillGradient="0">
+                        <m_points>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                  y="100.0"/>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint" y="0.0"/>
+                        </m_points>
+                    </Object>
+                </g>
+                <g>
+                    <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                              points="2269.0,292.0 2269.0,211.0 "
+                              stroke="rgb(0,255,0)"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="46.0" x="2269.0" height="2.0" y="293.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="33.0" x="2269.0" height="1.0" y="293.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                            m_mode="true" m_fillColor="-16727872"
+                            m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16711936" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CPolyLine" m_fillGradient="0">
+                        <m_points>
+                            <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                  y="0.0"/>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint" y="0.0"/>
+                        </m_points>
+                    </Object>
+                </g>
+                <g>
+                    <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                              points="2315.0,293.0 2269.0,293.0 "
+                              stroke="rgb(0,255,0)"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="38.0" x="2250.0" height="38.0" y="176.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="38.0" x="422.0" height="38.0" y="496.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="100.0" x="0.0" height="100.0" y="0.0"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="38.0" x="1415.0" height="38.0" y="362.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_startAngle="0.0"
+                                m_lineWidth="2" nofind="false" m_mode="true"
+                                m_type="3" m_fillColor="-1" m_rotatex="0.0"
+                                m_Angle="360.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-1" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CEllipse"
+                                m_fillGradient="0"/>
+                    </g>
+                    <g>
+                        <ellipse rx="18.0" fill="rgb(255,255,255)" ry="18.0"
+                                 stroke-width="2.0"
+                                 transform="translate(2269.0,195.0)"
+                                 stroke="rgb(255,255,255)"/>
+                        <path/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="63.1578947368421" x="15.789473684210526"
+                                height="2.631578947368421" y="50.0"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="24.0" x="1421.0" height="1.0" y="381.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="2" nofind="false"
+                                m_mode="true" m_fillColor="-16776961"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="0" manual="false"
+                                m_lineColor="-10040065" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                                <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(0,0,255)" stroke-width="2.0"
+                                  points="2256.0,196.0 2280.0,195.0 "
+                                  stroke="rgb(102,204,255)"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="34.21052631578947" x="55.26315789473685"
+                                height="36.84210526315789" y="31.57894736842105"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="13.0" x="1436.0" height="14.0" y="374.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="2" nofind="false"
+                                m_mode="true" m_fillColor="-10040065"
+                                m_closePath="true" m_rotatex="0.0" m_scale="1.0"
+                                m_rotatey="0.0" m_quality="true" m_filltype="1"
+                                manual="false" m_lineColor="-10040065"
+                                m_rotate="0.0" m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolygon"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                      y="57.14285714285714"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                                <Item x="15.384615384615385"
+                                      class="nc2000.ncpaint.SPoint"
+                                      y="57.14285714285714"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polygon fill="rgb(102,204,255)" stroke-width="2.0"
+                                 points="2284.0,196.0 2271.0,188.0 2273.0,196.0 2271.0,202.0 2271.0,202.0 "
+                                 stroke="rgb(102,204,255)"/>
+                    </g>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="1.0" x="2485.0" height="64.0" y="287.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="1.0" x="2484.0" height="164.0" y="310.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                            m_mode="true" m_fillColor="-16727872"
+                            m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                            m_quality="true" m_filltype="1" manual="false"
+                            m_lineColor="-16711936" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CPolyLine" m_fillGradient="0">
+                        <m_points>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                  y="100.0"/>
+                            <Item x="0.0" class="nc2000.ncpaint.SPoint" y="0.0"/>
+                        </m_points>
+                    </Object>
+                </g>
+                <g>
+                    <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                              points="2485.0,351.0 2485.0,287.0 "
+                              stroke="rgb(0,255,0)"/>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="38.0" x="2466.0" height="38.0" y="252.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="38.0" x="638.0" height="38.0" y="572.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="100.0" x="0.0" height="100.0" y="0.0"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="38.0" x="1415.0" height="38.0" y="362.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_startAngle="0.0"
+                                m_lineWidth="2" nofind="false" m_mode="true"
+                                m_type="3" m_fillColor="-1" m_rotatex="0.0"
+                                m_Angle="360.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-1" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CEllipse"
+                                m_fillGradient="0"/>
+                    </g>
+                    <g>
+                        <ellipse rx="18.0" fill="rgb(255,255,255)" ry="18.0"
+                                 stroke-width="2.0"
+                                 transform="translate(2485.0,271.0)"
+                                 stroke="rgb(255,255,255)"/>
+                        <path/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="63.1578947368421" x="15.789473684210526"
+                                height="2.631578947368421" y="50.0"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="24.0" x="1421.0" height="1.0" y="381.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="2" nofind="false"
+                                m_mode="true" m_fillColor="-16776961"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="0" manual="false"
+                                m_lineColor="-10040065" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                                <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(0,0,255)" stroke-width="2.0"
+                                  points="2472.0,272.0 2496.0,271.0 "
+                                  stroke="rgb(102,204,255)"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="34.21052631578947" x="55.26315789473685"
+                                height="36.84210526315789" y="31.57894736842105"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="13.0" x="1436.0" height="14.0" y="374.0"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="2" nofind="false"
+                                m_mode="true" m_fillColor="-10040065"
+                                m_closePath="true" m_rotatex="0.0" m_scale="1.0"
+                                m_rotatey="0.0" m_quality="true" m_filltype="1"
+                                manual="false" m_lineColor="-10040065"
+                                m_rotate="0.0" m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolygon"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                      y="57.14285714285714"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                                <Item x="15.384615384615385"
+                                      class="nc2000.ncpaint.SPoint"
+                                      y="57.14285714285714"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polygon fill="rgb(102,204,255)" stroke-width="2.0"
+                                 points="2500.0,272.0 2487.0,264.0 2489.0,272.0 2487.0,278.0 2487.0,278.0 "
+                                 stroke="rgb(102,204,255)"/>
+                    </g>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="42.0" x="2078.0" height="19.0" y="208.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="42.0" x="2078.0" height="19.0" y="208.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_startAngle="0.0" m_lineWidth="1"
+                            nofind="false" m_strText="0237" m_mode="true"
+                            m_fillColor="-4144960" m_rotatex="0.0" m_scale="1.0"
+                            m_rotatey="0.0" m_quality="true" m_filltype="0"
+                            manual="false" m_lineColor="-1" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CText" m_fillGradient="0"
+                            fontname="黑体" font_size="16" fontstyle="0"/>
+                </g>
+                <g>
+                    <g font-size="16" fill="rgb(255,255,255)" type="TextGroup">
+                        <text x="2078.0" y="224.0" stroke="none">
+                            0237
+                        </text>
+                    </g>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="42.0" x="2215.0" height="19.0" y="209.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="42.0" x="2215.0" height="19.0" y="209.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_startAngle="0.0" m_lineWidth="1"
+                            nofind="false" m_strText="0235" m_mode="true"
+                            m_fillColor="-4144960" m_rotatex="0.0" m_scale="1.0"
+                            m_rotatey="0.0" m_quality="true" m_filltype="0"
+                            manual="false" m_lineColor="-1" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CText" m_fillGradient="0"
+                            fontname="黑体" font_size="16" fontstyle="0"/>
+                </g>
+                <g>
+                    <g font-size="16" fill="rgb(255,255,255)" type="TextGroup">
+                        <text x="2215.0" y="225.0" stroke="none">
+                            0235
+                        </text>
+                    </g>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="42.0" x="2330.0" height="19.0" y="242.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="42.0" x="2330.0" height="19.0" y="242.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_startAngle="0.0" m_lineWidth="1"
+                            nofind="false" m_strText="0238" m_mode="true"
+                            m_fillColor="-4144960" m_rotatex="0.0" m_scale="1.0"
+                            m_rotatey="0.0" m_quality="true" m_filltype="0"
+                            manual="false" m_lineColor="-1" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CText" m_fillGradient="0"
+                            fontname="黑体" font_size="16" fontstyle="0"/>
+                </g>
+                <g>
+                    <g font-size="16" fill="rgb(255,255,255)" type="TextGroup">
+                        <text x="2330.0" y="258.0" stroke="none">
+                            0238
+                        </text>
+                    </g>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="42.0" x="2366.0" height="19.0" y="278.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="42.0" x="2366.0" height="19.0" y="278.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="Meta">
+                    <Object m_lineStyle="0" m_startAngle="0.0" m_lineWidth="1"
+                            nofind="false" m_strText="0236" m_mode="true"
+                            m_fillColor="-4144960" m_rotatex="0.0" m_scale="1.0"
+                            m_rotatey="0.0" m_quality="true" m_filltype="0"
+                            manual="false" m_lineColor="-1" m_rotate="0.0"
+                            m_backcolor="-16777216" xmlns=""
+                            class="nc2000.ncpaint.CText" m_fillGradient="0"
+                            fontname="黑体" font_size="16" fontstyle="0"/>
+                </g>
+                <g>
+                    <g font-size="16" fill="rgb(255,255,255)" type="TextGroup">
+                        <text x="2366.0" y="294.0" stroke="none">
+                            0236
+                        </text>
+                    </g>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="172.0" x="307.0" height="310.0" y="276.0"
+                            class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="172.0" x="307.0" height="310.0" y="276.0"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="88.95348837209302" x="1.1627906976743196"
+                                height="49.67741935483871"
+                                y="0.21505376344088467"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="33.0" x="308.99999999999983"
+                                 height="1.0" y="276.66666666666674"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                                m_mode="true" m_fillColor="-16727872"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16711936" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                                  points="461.99999999999983,276.66666666666674 308.99999999999983,276.66666666666674 "
+                                  stroke="rgb(0,255,0)"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="52.90697674418605" x="0.5813953488371102"
+                                height="98.38709677419355"
+                                y="0.8602150537634653"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="1.0" x="306.99999999999983"
+                                 height="164.0" y="301.6666666666667"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                                m_mode="true" m_fillColor="-16727872"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16711936" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                                  points="307.99999999999983,583.6666666666667 307.99999999999983,278.66666666666674 "
+                                  stroke="rgb(0,255,0)"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="52.90697674418605" x="46.70542635658904"
+                                height="98.38709677419355"
+                                y="1.5053763440860644"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="1.0" x="386.33333333333314"
+                                 height="164.0" y="303.6666666666667"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                                m_mode="true" m_fillColor="-16727872"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16711936" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                                  points="387.33333333333314,585.6666666666667 387.33333333333314,280.6666666666668 "
+                                  stroke="rgb(0,255,0)"/>
+                    </g>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="172.0" x="799.6666666666666" height="310.0"
+                            y="276.0" class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="172.0" x="799.6666666666666" height="310.0"
+                             y="287.33333333333326"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="88.95348837209302" x="1.1627906976743196"
+                                height="49.67741935483871"
+                                y="0.21505376344088467"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="33.0" x="308.99999999999983"
+                                 height="1.0" y="276.66666666666674"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                                m_mode="true" m_fillColor="-16727872"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16711936" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                                  points="954.6666666666665,276.66666666666674 801.6666666666665,276.66666666666674 "
+                                  stroke="rgb(0,255,0)"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="52.90697674418605" x="0.5813953488371102"
+                                height="98.38709677419355"
+                                y="0.8602150537634653"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="1.0" x="306.99999999999983"
+                                 height="164.0" y="301.6666666666667"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                                m_mode="true" m_fillColor="-16727872"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16711936" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                                  points="800.6666666666665,583.6666666666667 800.6666666666665,278.66666666666674 "
+                                  stroke="rgb(0,255,0)"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="52.90697674418605" x="46.70542635658904"
+                                height="98.38709677419355"
+                                y="1.5053763440860644"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="1.0" x="386.33333333333314"
+                                 height="164.0" y="303.6666666666667"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                                m_mode="true" m_fillColor="-16727872"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16711936" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                                  points="879.9999999999998,585.6666666666667 879.9999999999998,280.6666666666668 "
+                                  stroke="rgb(0,255,0)"/>
+                    </g>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="172.0" x="1293.6666666666665" height="310.0"
+                            y="276.0" class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="172.0" x="1293.6666666666665" height="310.0"
+                             y="299.99999999999994"
+                             class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="88.95348837209302" x="1.1627906976743196"
+                                height="49.67741935483871"
+                                y="0.21505376344088467"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="33.0" x="308.99999999999983"
+                                 height="1.0" y="276.66666666666674"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                                m_mode="true" m_fillColor="-16727872"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16711936" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                                  points="1448.6666666666663,276.66666666666674 1295.6666666666663,276.66666666666674 "
+                                  stroke="rgb(0,255,0)"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="52.90697674418605" x="0.5813953488371102"
+                                height="98.38709677419355"
+                                y="0.8602150537634653"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="1.0" x="306.99999999999983"
+                                 height="164.0" y="301.6666666666667"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                                m_mode="true" m_fillColor="-16727872"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16711936" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                                  points="1294.6666666666663,583.6666666666667 1294.6666666666663,278.66666666666674 "
+                                  stroke="rgb(0,255,0)"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="52.90697674418605" x="46.70542635658904"
+                                height="98.38709677419355"
+                                y="1.5053763440860644"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="1.0" x="386.33333333333314"
+                                 height="164.0" y="303.6666666666667"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                                m_mode="true" m_fillColor="-16727872"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16711936" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                                  points="1373.9999999999995,585.6666666666667 1373.9999999999995,280.6666666666668 "
+                                  stroke="rgb(0,255,0)"/>
+                    </g>
+                </g>
+            </g>
+            <g type="MetaContainer">
+                <Object m_layer="1" m_mode="true" xmlns=""
+                        class="nc2000.ncpaint.CMetaContainer" xt="0.0" yt="0.0"
+                        m_disp="true" m_rotate="0.0">
+                    <Dynamics/>
+                    <m_rect width="172.0" x="1787.6666666666667" height="310.0"
+                            y="276.0" class="nc2000.ncpaint.SRectangle"/>
+                    <m_rect1 width="172.0" x="1787.6666666666667" height="310.0"
+                             y="302.0" class="nc2000.ncpaint.SRectangle"/>
+                </Object>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="88.95348837209302" x="1.1627906976743196"
+                                height="49.67741935483871"
+                                y="0.21505376344088467"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="33.0" x="308.99999999999983"
+                                 height="1.0" y="276.66666666666674"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                                m_mode="true" m_fillColor="-16727872"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16711936" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="100.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                                  points="1942.6666666666665,276.66666666666674 1789.6666666666665,276.66666666666674 "
+                                  stroke="rgb(0,255,0)"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="52.90697674418605" x="0.5813953488371102"
+                                height="98.38709677419355"
+                                y="0.8602150537634653"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="1.0" x="306.99999999999983"
+                                 height="164.0" y="301.6666666666667"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                                m_mode="true" m_fillColor="-16727872"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16711936" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                                  points="1788.6666666666665,583.6666666666667 1788.6666666666665,278.66666666666674 "
+                                  stroke="rgb(0,255,0)"/>
+                    </g>
+                </g>
+                <g type="MetaContainer">
+                    <Object m_layer="1" m_mode="true" xmlns=""
+                            class="nc2000.ncpaint.CMetaContainer" xt="0.0"
+                            yt="0.0" m_disp="true" m_rotate="0.0">
+                        <Dynamics/>
+                        <m_rect width="52.90697674418605" x="46.70542635658904"
+                                height="98.38709677419355"
+                                y="1.5053763440860644"
+                                class="nc2000.ncpaint.SRectangle"/>
+                        <m_rect1 width="1.0" x="386.33333333333314"
+                                 height="164.0" y="303.6666666666667"
+                                 class="nc2000.ncpaint.SRectangle"/>
+                    </Object>
+                    <g type="Meta">
+                        <Object m_lineStyle="0" m_lineWidth="6" nofind="false"
+                                m_mode="true" m_fillColor="-16727872"
+                                m_rotatex="0.0" m_scale="1.0" m_rotatey="0.0"
+                                m_quality="true" m_filltype="1" manual="false"
+                                m_lineColor="-16711936" m_rotate="0.0"
+                                m_backcolor="-16777216" xmlns=""
+                                class="nc2000.ncpaint.CPolyLine"
+                                m_fillGradient="0">
+                            <m_points>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="100.0"/>
+                                <Item x="0.0" class="nc2000.ncpaint.SPoint"
+                                      y="0.0"/>
+                            </m_points>
+                        </Object>
+                    </g>
+                    <g>
+                        <polyline fill="rgb(0,192,192)" stroke-width="6.0"
+                                  points="1868.0,585.6666666666667 1868.0,280.6666666666668 "
+                                  stroke="rgb(0,255,0)"/>
+                    </g>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/100x100-mm.svg b/svg-example/res/com/kitfox/svg/example/100x100-mm.svg
new file mode 100644
index 0000000..148116e
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/100x100-mm.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1">
+  <g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
+  <rect x="10mm" y="10mm" width="100mm" height="100mm" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1mm"/>
+  </g>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/PseudoColor.svg b/svg-example/res/com/kitfox/svg/example/PseudoColor.svg
new file mode 100644
index 0000000..adf7bb9
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/PseudoColor.svg
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="48px" height="48px" viewBox="0 0 48 48" enable-background="new 0 0 48 48" xml:space="preserve">
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="14.3193" y1="3.7041" x2="14.1811" y2="27.4422">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#171717"/>
+</linearGradient>
+<rect x="1.688" y="2.938" fill="url(#SVGID_1_)" stroke="#535453" width="25.125" height="25.125"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="25.2715" y1="20.0786" x2="25.1655" y2="45.1509">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#F47821"/>
+</linearGradient>
+<rect x="18.938" y="19.938" fill="url(#SVGID_2_)" stroke="#535453" width="12.563" height="25.125"/>
+<g>
+	<g>
+		<path fill="none" stroke="#BF2026" stroke-width="2" stroke-linecap="round" d="M4.906,23.563c0,15.176-1.463,15.906,8.596,15.707
+			"/>
+		<g>
+			<polygon fill="#BF2026" points="11.973,44.73 21.396,39.116 11.822,33.763 			"/>
+		</g>
+	</g>
+</g>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="40.084" y1="20.0786" x2="39.978" y2="45.1504">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#BF2026"/>
+</linearGradient>
+<rect x="33.75" y="19.938" fill="url(#SVGID_3_)" stroke="#535453" width="12.563" height="25.125"/>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/Z.svg b/svg-example/res/com/kitfox/svg/example/Z.svg
new file mode 100644
index 0000000..426844f
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/Z.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" id="svg" version="1.0" width="400px" preserveAspectRatio="xMidYMid meet"  viewBox="0 0 400.0 400.0" height="400px" xmlns="http://www.w3.org/2000/svg">
+
+    <rect x="40" y="56" 
+          transform="matrix( 1, 0, 0, 1, 0, 0)" 
+          width="172" 
+          style="visibility:visible;fill:#ccccff;level-visibility:visible;"
+          height="127" 
+          id="rect0" />
+
+    <use id="use0" 
+         transform="matrix( 1, 0, 0, 1, 0, 0)" 
+         xlink:show="embed" 
+         xlink:type="simple" 
+         preserveAspectRatio="none meet" 
+         x="183" 
+         y="215" 
+         xlink:href="ZZ.svg#svg" 
+         xlink:actuate="onLoad"/>
+
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/ZZ.svg b/svg-example/res/com/kitfox/svg/example/ZZ.svg
new file mode 100644
index 0000000..d3464c9
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/ZZ.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+
+<svg 
+    contentScriptType="text/ecmascript" 
+    zoomAndPan="magnify" 
+    xmlns:xlink="http://www.w3.org/1999/xlink" 
+    contentStyleType="text/css" 
+    id="svg" 
+    version="1.0" 
+    width="200" 
+    preserveAspectRatio="xMidYMid meet" 
+    viewBox="0 0 200 200" 
+    height="200" 
+    xmlns="http://www.w3.org/2000/svg">
+
+    <circle transform="matrix( 1, 0, 0, 1, 0, 0)" 
+            style="fill:#ccccff;" 
+            r="64.5" cx="101.0" id="circle0" cy="95.0" />
+
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/animTranslate.svg b/svg-example/res/com/kitfox/svg/example/animTranslate.svg
new file mode 100644
index 0000000..c790dd4
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/animTranslate.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" id="svg" version="1.0" width="400px" preserveAspectRatio="xMidYMid meet" viewBox="0 0 400.0 400.0" height="400px" xmlns="http://www.w3.org/2000/svg">
+<rect x="50.0" y="50.0" transform="matrix( 1, 0, 0, 1, 0, 0)" width="50.0" style="fill:#0000ff;" id="rect0" height="50.0">
+<animateTransform dur="2s" attributeName="transform" from="0 0" repeatCount="indefinite" type="translate" to="100 100"/>
+</rect>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/areaCrash.svg b/svg-example/res/com/kitfox/svg/example/areaCrash.svg
new file mode 100644
index 0000000..7eac9bc
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/areaCrash.svg
@@ -0,0 +1,28 @@
+<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="3000" height="3000" id="svg2" version="1.1" inkscape:version="0.48.2 r9819" sodipodi:docname="shipColor.svg">
+<defs id="defs4">
+<filter inkscape:collect="always" id="filter3821" x="-1.4860984" width="3.9721968" y="-0.0060243227" height="1.0120486">
+<feGaussianBlur inkscape:collect="always" stdDeviation="1.8578088" id="feGaussianBlur3823" />
+</filter>
+<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3831">
+<path style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumu [...]
+</clipPath>
+</defs>
+<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1.69" inkscape:cx="827.06905" inkscape:cy="1367.7742" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1280" inkscape:window-height="750" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:window- [...]
+<metadata id="metadata7">
+<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 inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(114.28571,1416.2092)">
+<path style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter3821); [...]
+<path clip-path="url(#clipPath3831)" inkscape:connector-curvature="0" id="path3835" d="m 13.78125,411.3125 a 1.50015,1.50015 0 0 0 -1.34375,1.5 l 0,737.0937 a 1.50015,1.50015 0 1 0 3,0 l 0,-737.0937 a 1.50015,1.50015 0 0 0 -1.65625,-1.5 z" style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;bloc [...]
+<path transform="translate(-8.75,0)" style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:v [...]
+<path clip-path="url(#clipPath3831)" inkscape:connector-curvature="0" id="path3839" d="m 13.78125,411.3125 a 1.50015,1.50015 0 0 0 -1.34375,1.5 l 0,737.0937 a 1.50015,1.50015 0 1 0 3,0 l 0,-737.0937 a 1.50015,1.50015 0 0 0 -1.65625,-1.5 z" style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;bloc [...]
+</g>
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/bigMarkers.svg b/svg-example/res/com/kitfox/svg/example/bigMarkers.svg
new file mode 100644
index 0000000..cb48257
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/bigMarkers.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1">
+<defs>
+<marker
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="TriangleOutS"
+       style="overflow:visible">
+      <path
+         id="path3911"
+         d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
+         transform="scale(0.2)" />
+    </marker>
+</defs>
+
+<path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutS)"
+       d="m 40,67.362183 100,0"
+       id="path4391"
+       />
+       
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/boundingBoxPicking.svg b/svg-example/res/com/kitfox/svg/example/boundingBoxPicking.svg
new file mode 100644
index 0000000..fd7bfbe
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/boundingBoxPicking.svg
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.31.20130325.0445 (20130325.0445)
+ -->
+<!-- Title: G Pages: 1 -->
+<svg width="170pt" height="188pt"
+ viewBox="0.00 0.00 170.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">
+<title>G</title>
+<polygon id="polyBackground" fill="white" stroke="white" points="-4,5 -4,-184 167,-184 167,5 -4,5"/>
+<!-- ee228fdc-73ce-4208-9f2a-e611d2a64b5d -->
+<g id="node1" class="node"><title>ee228fdc-73ce-4208-9f2a-e611d2a64b5d</title>
+<ellipse id="ellipseSeq" fill="none" stroke="black" cx="63" cy="-162" rx="27" ry="18"/>
+<text id="textSeq" text-anchor="middle" x="63" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">seq</text>
+</g>
+<!-- b7b10d5b-d3c0-44e2-8a67-10d31e3d171f -->
+<g id="node2" class="node"><title>b7b10d5b-d3c0-44e2-8a67-10d31e3d171f</title>
+<ellipse id="ellipseA" fill="none" stroke="black" cx="27" cy="-90" rx="27" ry="18"/>
+<text id="textA" text-anchor="middle" x="27" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">a</text>
+</g>
+<!-- ee228fdc-73ce-4208-9f2a-e611d2a64b5d->b7b10d5b-d3c0-44e2-8a67-10d31e3d171f -->
+<g id="edge1" class="edge"><title>ee228fdc-73ce-4208-9f2a-e611d2a64b5d->b7b10d5b-d3c0-44e2-8a67-10d31e3d171f</title>
+<path id="pathEdge1" fill="none" stroke="black" d="M54.6504,-144.765C48.8345,-133.456 41.1103,-118.437 35.3043,-107.147"/>
+</g>
+<!-- 5b59e0a9-18bb-4f8e-8f52-941f3b5b9418 -->
+<g id="node3" class="node"><title>5b59e0a9-18bb-4f8e-8f52-941f3b5b9418</title>
+<ellipse id="ellipseXor" fill="none" stroke="black" cx="99" cy="-90" rx="27" ry="18"/>
+<text id="textXor" text-anchor="middle" x="99" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">xor</text>
+</g>
+<!-- ee228fdc-73ce-4208-9f2a-e611d2a64b5d->5b59e0a9-18bb-4f8e-8f52-941f3b5b9418 -->
+<g id="edge2" class="edge"><title>ee228fdc-73ce-4208-9f2a-e611d2a64b5d->5b59e0a9-18bb-4f8e-8f52-941f3b5b9418</title>
+<path id="pathEdge2" fill="none" stroke="black" d="M71.3496,-144.765C77.1655,-133.456 84.8897,-118.437 90.6957,-107.147"/>
+</g>
+<!-- de410c60-f104-407a-b8bb-706829137599 -->
+<g id="node4" class="node"><title>de410c60-f104-407a-b8bb-706829137599</title>
+<ellipse id="ellipseB" fill="none" stroke="black" cx="63" cy="-18" rx="27" ry="18"/>
+<text id="textB" text-anchor="middle" x="63" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">b</text>
+</g>
+<!-- 5b59e0a9-18bb-4f8e-8f52-941f3b5b9418->de410c60-f104-407a-b8bb-706829137599 -->
+<g id="edge3" class="edge"><title>5b59e0a9-18bb-4f8e-8f52-941f3b5b9418->de410c60-f104-407a-b8bb-706829137599</title>
+<path id="pathEdge3" fill="none" stroke="black" d="M90.6504,-72.7646C84.8345,-61.456 77.1103,-46.4367 71.3043,-35.1473"/>
+</g>
+<!-- 2a7b2f4b-2da4-432a-a474-c50ef9ab33c8 -->
+<g id="node5" class="node"><title>2a7b2f4b-2da4-432a-a474-c50ef9ab33c8</title>
+<ellipse id="ellipseC" fill="none" stroke="black" cx="135" cy="-18" rx="27" ry="18"/>
+<text id="textC" text-anchor="middle" x="135" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">c</text>
+</g>
+<!-- 5b59e0a9-18bb-4f8e-8f52-941f3b5b9418->2a7b2f4b-2da4-432a-a474-c50ef9ab33c8 -->
+<g id="edge4" class="edge"><title>5b59e0a9-18bb-4f8e-8f52-941f3b5b9418->2a7b2f4b-2da4-432a-a474-c50ef9ab33c8</title>
+<path id="pathEdge4" fill="none" stroke="black" d="M107.35,-72.7646C113.165,-61.456 120.89,-46.4367 126.696,-35.1473"/>
+</g>
+</g>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/bug-30-animate.svg b/svg-example/res/com/kitfox/svg/example/bug-30-animate.svg
new file mode 100644
index 0000000..c0b4547
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/bug-30-animate.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+					 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg height="1052.3622" id="svg2" version="1.1" width="744.09448"
+	xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+	<defs id="defs4">
+		<linearGradient id="linearGradient3044">
+			<stop id="stop3046" offset="0" style="stop-color:#000000;stop-opacity:1"/>
+			<stop id="stop3048" offset="1" style="stop-color:#000000;stop-opacity:0">
+				<animate attributeName="stop-opacity"
+					attributeType="CSS" begin="0s" dur="5s"
+					fill="freeze" to="1"/>
+			</stop>
+		</linearGradient>
+		<linearGradient gradientUnits="userSpaceOnUse"
+			id="linearGradient3050" x1="396" x2="244"
+			xlink:href="#linearGradient3044" y1="145.36218" y2="208.36218"/>
+	</defs>
+	<path
+		d="m 99,154.36218 c 254,7 207,-127.999997 207,-127.999997 L 523,160.36218 c -233,33.66667 23,97.33333 -186,149 z"
+		id="path2985" style="stroke:#000000;stroke-linecap:butt;fill:url(#linearGradient3050);fill-opacity:1;stroke-linejoin:miter;stroke-opacity:1;stroke-width:1px"/>
+</svg>
+
diff --git a/svg-example/res/com/kitfox/svg/example/bug-31-path.svg b/svg-example/res/com/kitfox/svg/example/bug-31-path.svg
new file mode 100644
index 0000000..9a23cf6
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/bug-31-path.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+					 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg height="1052.3622" id="svg2" version="1.1" width="744.09448"
+	xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+	<defs id="defs4">
+		<linearGradient id="linearGradient3044">
+			<stop id="stop3046" offset="0" style="stop-color:#000000;stop-opacity:1"/>
+			<stop id="stop3048" offset="1" style="stop-color:#000000;stop-opacity:0"/>
+		</linearGradient>
+		<linearGradient gradientUnits="userSpaceOnUse"
+			id="linearGradient3050" x1="396" x2="244"
+			xlink:href="#linearGradient3044" y1="145.36218" y2="208.36218"/>
+	</defs>
+	<path
+		d="m 99,154.36218 c 254,7 207,-127.999997 207,-127.999997 L 523,160.36218 c -233,33.66667 23,97.33333 -186,149 z"
+		id="path2985" style="stroke:#000000;stroke-linecap:butt;fill:url(#linearGradient3050);fill-opacity:1;stroke-linejoin:miter;stroke-opacity:1;stroke-width:1px">
+		<animate attributeName="d" attributeType="XML" begin="0s"
+			dur="5s" fill="freeze"
+			from="m  99,154.36218 c 254,7 207,-127.999997 207,-127.999997 L 523,160.36218 c -233,33.66667 23,97.33333 -186,149 z"
+			to=  "m 295,754.36218 c 254,7 207,-128        207,-128        l 217,134       c -233,33.66667 23,97.33333 -186,149 z"/>
+	</path>
+</svg>
+
diff --git a/svg-example/res/com/kitfox/svg/example/bulb.svg b/svg-example/res/com/kitfox/svg/example/bulb.svg
new file mode 100644
index 0000000..6b8304d
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/bulb.svg
@@ -0,0 +1,967 @@
+<?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"
+   version="1.1"
+   width="48"
+   height="48"
+   id="svg19655">
+  <defs
+     id="defs3">
+    <linearGradient
+       id="linearGradient3300">
+      <stop
+         id="stop3302"
+         style="stop-color:#4c4c28;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3304"
+         style="stop-color:#4c4c28;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3311">
+      <stop
+         id="stop3313"
+         style="stop-color:#d6d7a5;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3315"
+         style="stop-color:#8e8f6d;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3265">
+      <stop
+         id="stop3267"
+         style="stop-color:#929470;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3269"
+         style="stop-color:#60614a;stop-opacity:1"
+         offset="0.2647059" />
+      <stop
+         id="stop3271"
+         style="stop-color:#f3f5ba;stop-opacity:1"
+         offset="0.63235295" />
+      <stop
+         id="stop3273"
+         style="stop-color:#929470;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3175">
+      <stop
+         id="stop3177"
+         style="stop-color:#f1f3ff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3179"
+         style="stop-color:#f1f3ff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2399">
+      <stop
+         id="stop2401"
+         style="stop-color:#929470;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop2407"
+         style="stop-color:#fcffc1;stop-opacity:1"
+         offset="0.2647059" />
+      <stop
+         id="stop2409"
+         style="stop-color:#f3f5ba;stop-opacity:1"
+         offset="0.63235295" />
+      <stop
+         id="stop2403"
+         style="stop-color:#929470;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6339">
+      <stop
+         id="stop6341"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6343"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient20428">
+      <stop
+         id="stop20430"
+         style="stop-color:#a3a3a3;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop20432"
+         style="stop-color:#b5b5b5;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient20393">
+      <stop
+         id="stop20395"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop2427"
+         style="stop-color:#ffffff;stop-opacity:0.44117647"
+         offset="0.41176471" />
+      <stop
+         id="stop20397"
+         style="stop-color:#000000;stop-opacity:0.48039216"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient20210">
+      <stop
+         id="stop20212"
+         style="stop-color:#000000;stop-opacity:0.51546389"
+         offset="0" />
+      <stop
+         id="stop20218"
+         style="stop-color:#000000;stop-opacity:0.14432989"
+         offset="0.55172414" />
+      <stop
+         id="stop20214"
+         style="stop-color:#000000;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       cx="17.8335"
+       cy="11.4873"
+       r="22.709299"
+       fx="17.8335"
+       fy="11.4873"
+       id="aigrd7"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         id="stop19512"
+         style="stop-color:#ffffff;stop-opacity:0.17525773"
+         offset="0" />
+      <stop
+         id="stop19514"
+         style="stop-color:#709ac8;stop-opacity:1"
+         offset="0.88200003" />
+      <stop
+         id="stop19516"
+         style="stop-color:#6f96dd;stop-opacity:1"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       x1="23.124001"
+       y1="43.165001"
+       x2="26.4785"
+       y2="43.165001"
+       id="aigrd1"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         id="stop19415"
+         style="stop-color:#686868;stop-opacity:1"
+         offset="0.005618" />
+      <stop
+         id="stop19417"
+         style="stop-color:#777777;stop-opacity:1"
+         offset="0.03012137" />
+      <stop
+         id="stop19419"
+         style="stop-color:#929292;stop-opacity:1"
+         offset="0.08366583" />
+      <stop
+         id="stop19421"
+         style="stop-color:#a7a7a7;stop-opacity:1"
+         offset="0.14219999" />
+      <stop
+         id="stop19423"
+         style="stop-color:#b6b6b6;stop-opacity:1"
+         offset="0.20739999" />
+      <stop
+         id="stop19425"
+         style="stop-color:#bebebe;stop-opacity:1"
+         offset="0.28459999" />
+      <stop
+         id="stop19427"
+         style="stop-color:#c1c1c1;stop-opacity:1"
+         offset="0.40450001" />
+      <stop
+         id="stop19429"
+         style="stop-color:#bcbcbc;stop-opacity:1"
+         offset="0.4962" />
+      <stop
+         id="stop19431"
+         style="stop-color:#adadad;stop-opacity:1"
+         offset="0.60570002" />
+      <stop
+         id="stop19433"
+         style="stop-color:#959595;stop-opacity:1"
+         offset="0.7245" />
+      <stop
+         id="stop19435"
+         style="stop-color:#747474;stop-opacity:1"
+         offset="0.84969997" />
+      <stop
+         id="stop19437"
+         style="stop-color:#494949;stop-opacity:1"
+         offset="0.97890002" />
+      <stop
+         id="stop19439"
+         style="stop-color:#414141;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="18.9951"
+       y1="37.226601"
+       x2="30.169901"
+       y2="37.226601"
+       id="linearGradient19894"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         id="stop19896"
+         style="stop-color:#a3a349;stop-opacity:1"
+         offset="0.005618" />
+      <stop
+         id="stop19898"
+         style="stop-color:#acac54;stop-opacity:1"
+         offset="0.02078677" />
+      <stop
+         id="stop19900"
+         style="stop-color:#c1c172;stop-opacity:1"
+         offset="0.06600059" />
+      <stop
+         id="stop19902"
+         style="stop-color:#d4d68e;stop-opacity:1"
+         offset="0.1148" />
+      <stop
+         id="stop19904"
+         style="stop-color:#e2e4a6;stop-opacity:1"
+         offset="0.16769999" />
+      <stop
+         id="stop19906"
+         style="stop-color:#edf0b8;stop-opacity:1"
+         offset="0.2265" />
+      <stop
+         id="stop19908"
+         style="stop-color:#f3f6c3;stop-opacity:1"
+         offset="0.29629999" />
+      <stop
+         id="stop19910"
+         style="stop-color:#f5f8c7;stop-opacity:1"
+         offset="0.40450001" />
+      <stop
+         id="stop19912"
+         style="stop-color:#eef0be;stop-opacity:1"
+         offset="0.52389997" />
+      <stop
+         id="stop19914"
+         style="stop-color:#dbdda9;stop-opacity:1"
+         offset="0.66659999" />
+      <stop
+         id="stop19916"
+         style="stop-color:#bebd88;stop-opacity:1"
+         offset="0.8211" />
+      <stop
+         id="stop19918"
+         style="stop-color:#989564;stop-opacity:1"
+         offset="0.98320001" />
+      <stop
+         id="stop19920"
+         style="stop-color:#949160;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="23.124001"
+       y1="43.165001"
+       x2="26.4785"
+       y2="43.165001"
+       id="linearGradient20109"
+       xlink:href="#aigrd1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.639127,0,0,1.639127,-15.97035,-29.79355)" />
+    <radialGradient
+       cx="14.772334"
+       cy="74.20993"
+       r="7.8289828"
+       fx="14.772334"
+       fy="74.20993"
+       id="radialGradient20216"
+       xlink:href="#linearGradient20210"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.764278,0.566804)" />
+    <linearGradient
+       x1="16.998856"
+       y1="10.061084"
+       x2="32.096882"
+       y2="36.726292"
+       id="linearGradient7708"
+       xlink:href="#linearGradient6339"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.140494,0,0,0.926002,0.27233,-3.24717)" />
+    <radialGradient
+       cx="68.137589"
+       cy="29.869318"
+       r="33.93409"
+       fx="68.137589"
+       fy="29.869318"
+       id="radialGradient7720"
+       xlink:href="#aigrd7"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.55129,0,0,0.766034,-10.48701,3.514312)" />
+    <linearGradient
+       x1="37.940434"
+       y1="16.651863"
+       x2="-5.2517161"
+       y2="3.8557322"
+       id="linearGradient3181"
+       xlink:href="#linearGradient3175"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.894129,0,0,0.98523,1.515981,0.024498)" />
+    <linearGradient
+       x1="30.620375"
+       y1="10.313651"
+       x2="32.16608"
+       y2="18.162935"
+       id="linearGradient1700"
+       xlink:href="#linearGradient20393"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.6293,0,0,1.589068,50.68808,3.804378)" />
+    <linearGradient
+       x1="30.620375"
+       y1="10.313651"
+       x2="32.16608"
+       y2="18.162935"
+       id="linearGradient1702"
+       xlink:href="#linearGradient20393"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.6293,0,0,1.589068,1.411612,3.929378)" />
+    <linearGradient
+       x1="14.637301"
+       y1="31.504122"
+       x2="9.3648205"
+       y2="32.25098"
+       id="linearGradient1704"
+       xlink:href="#linearGradient20428"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.985083,0,0,0.503757,1.786612,4.554378)" />
+    <linearGradient
+       x1="-22.87417"
+       y1="38.675991"
+       x2="-4.3908315"
+       y2="38.675991"
+       id="linearGradient1725"
+       xlink:href="#linearGradient19894"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.02645,0.974232)" />
+    <linearGradient
+       x1="-10.480865"
+       y1="39.033951"
+       x2="-23.851389"
+       y2="39.142845"
+       id="linearGradient1727"
+       xlink:href="#linearGradient2399"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.02645,0.974232)" />
+    <linearGradient
+       x1="-22.87417"
+       y1="38.675991"
+       x2="-4.3908315"
+       y2="38.675991"
+       id="linearGradient1729"
+       xlink:href="#linearGradient19894"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.02645,0.974232)" />
+    <linearGradient
+       x1="-10.480865"
+       y1="39.033951"
+       x2="-23.851389"
+       y2="39.142845"
+       id="linearGradient1731"
+       xlink:href="#linearGradient2399"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.02645,0.974232)" />
+    <linearGradient
+       x1="17.879995"
+       y1="55.362793"
+       x2="11.906206"
+       y2="54.863026"
+       id="linearGradient2516"
+       xlink:href="#linearGradient3311"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.60344,0,0,0.549396,0.614167,0.024498)" />
+    <linearGradient
+       x1="-29.007195"
+       y1="-29.799353"
+       x2="-37.641232"
+       y2="-29.598314"
+       id="linearGradient2518"
+       xlink:href="#linearGradient3265"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.905728,-0.04386156,0.18951,-0.963437,0.614167,0.024498)" />
+    <linearGradient
+       x1="-22.87417"
+       y1="38.675991"
+       x2="-4.3908315"
+       y2="38.675991"
+       id="linearGradient2522"
+       xlink:href="#linearGradient19894"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.618682,-0.132027,0.06262726,0.741184,31.12021,8.30041)" />
+    <linearGradient
+       x1="-10.480865"
+       y1="39.033951"
+       x2="-23.851389"
+       y2="39.142845"
+       id="linearGradient2524"
+       xlink:href="#linearGradient2399"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.618682,-0.132027,0.06262726,0.741184,31.12021,8.30041)" />
+    <linearGradient
+       x1="-22.87417"
+       y1="38.675991"
+       x2="-4.3908315"
+       y2="38.675991"
+       id="linearGradient2529"
+       xlink:href="#linearGradient19894"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.566621,0.02988977,-0.118557,0.656541,36.18544,20.08311)" />
+    <linearGradient
+       x1="-10.480865"
+       y1="39.033951"
+       x2="-23.851389"
+       y2="39.142845"
+       id="linearGradient2531"
+       xlink:href="#linearGradient2399"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.566621,0.02988977,-0.118557,0.656541,36.18544,20.08311)" />
+    <linearGradient
+       x1="24.613028"
+       y1="31.146202"
+       x2="24.613028"
+       y2="26.739624"
+       id="linearGradient3306"
+       xlink:href="#linearGradient3300"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.002656,0.997352)" />
+    <linearGradient
+       x1="17.879995"
+       y1="55.362793"
+       x2="11.906206"
+       y2="54.863026"
+       id="linearGradient3127"
+       xlink:href="#linearGradient3311"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.60344,0,0,0.549396,0.614167,0.024498)" />
+    <linearGradient
+       x1="-29.007195"
+       y1="-29.799353"
+       x2="-37.641232"
+       y2="-29.598314"
+       id="linearGradient3129"
+       xlink:href="#linearGradient3265"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.905728,-0.04386156,0.18951,-0.963437,0.614167,0.024498)" />
+    <radialGradient
+       cx="68.137589"
+       cy="29.869318"
+       r="33.93409"
+       fx="68.137589"
+       fy="29.869318"
+       id="radialGradient3131"
+       xlink:href="#aigrd7"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.55129,0,0,0.766034,-10.48701,3.514312)" />
+    <linearGradient
+       x1="16.998856"
+       y1="10.061084"
+       x2="32.096882"
+       y2="36.726292"
+       id="linearGradient3133"
+       xlink:href="#linearGradient6339"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.140494,0,0,0.926002,0.27233,-3.24717)" />
+    <linearGradient
+       x1="37.940434"
+       y1="16.651863"
+       x2="-5.2517161"
+       y2="3.8557322"
+       id="linearGradient3135"
+       xlink:href="#linearGradient3175"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.894129,0,0,0.98523,1.515981,0.024498)" />
+    <linearGradient
+       x1="17.879995"
+       y1="55.362793"
+       x2="11.906206"
+       y2="54.863026"
+       id="linearGradient3157"
+       xlink:href="#linearGradient3311"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.60344,0,0,0.549396,0.614167,0.024498)" />
+    <linearGradient
+       x1="-29.007195"
+       y1="-29.799353"
+       x2="-37.641232"
+       y2="-29.598314"
+       id="linearGradient3159"
+       xlink:href="#linearGradient3265"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.905728,-0.04386156,0.18951,-0.963437,0.614167,0.024498)" />
+    <radialGradient
+       cx="68.137589"
+       cy="29.869318"
+       r="33.93409"
+       fx="68.137589"
+       fy="29.869318"
+       id="radialGradient3161"
+       xlink:href="#aigrd7"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.55129,0,0,0.766034,-10.48701,3.514312)" />
+    <linearGradient
+       x1="37.940434"
+       y1="16.651863"
+       x2="-5.2517161"
+       y2="3.8557322"
+       id="linearGradient3163"
+       xlink:href="#linearGradient3175"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.894129,0,0,0.98523,1.515981,0.024498)" />
+    <linearGradient
+       x1="30.620375"
+       y1="10.313651"
+       x2="32.16608"
+       y2="18.162935"
+       id="linearGradient3165"
+       xlink:href="#linearGradient20393"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.6293,0,0,1.589068,50.68808,3.804378)" />
+    <linearGradient
+       x1="30.620375"
+       y1="10.313651"
+       x2="32.16608"
+       y2="18.162935"
+       id="linearGradient3167"
+       xlink:href="#linearGradient20393"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.6293,0,0,1.589068,1.411612,3.929378)" />
+    <linearGradient
+       x1="14.637301"
+       y1="31.504122"
+       x2="9.3648205"
+       y2="32.25098"
+       id="linearGradient3169"
+       xlink:href="#linearGradient20428"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.985083,0,0,0.503757,1.786612,4.554378)" />
+    <linearGradient
+       x1="16.998856"
+       y1="10.061084"
+       x2="32.096882"
+       y2="36.726292"
+       id="linearGradient3171"
+       xlink:href="#linearGradient6339"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.140494,0,0,0.926002,0.27233,-3.24717)" />
+    <linearGradient
+       x1="24.613028"
+       y1="31.146202"
+       x2="24.613028"
+       y2="26.739624"
+       id="linearGradient3185"
+       xlink:href="#linearGradient3300"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.002656,0.997352)" />
+    <linearGradient
+       x1="-22.87417"
+       y1="38.675991"
+       x2="-4.3908315"
+       y2="38.675991"
+       id="linearGradient3187"
+       xlink:href="#linearGradient19894"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.566621,0.02988977,-0.118557,0.656541,36.18544,20.08311)" />
+    <linearGradient
+       x1="-10.480865"
+       y1="39.033951"
+       x2="-23.851389"
+       y2="39.142845"
+       id="linearGradient3189"
+       xlink:href="#linearGradient2399"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.566621,0.02988977,-0.118557,0.656541,36.18544,20.08311)" />
+    <linearGradient
+       x1="-22.87417"
+       y1="38.675991"
+       x2="-4.3908315"
+       y2="38.675991"
+       id="linearGradient3191"
+       xlink:href="#linearGradient19894"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.02645,0.974232)" />
+    <linearGradient
+       x1="-10.480865"
+       y1="39.033951"
+       x2="-23.851389"
+       y2="39.142845"
+       id="linearGradient3193"
+       xlink:href="#linearGradient2399"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.02645,0.974232)" />
+    <linearGradient
+       x1="-22.87417"
+       y1="38.675991"
+       x2="-4.3908315"
+       y2="38.675991"
+       id="linearGradient3195"
+       xlink:href="#linearGradient19894"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.02645,0.974232)" />
+    <linearGradient
+       x1="-10.480865"
+       y1="39.033951"
+       x2="-23.851389"
+       y2="39.142845"
+       id="linearGradient3197"
+       xlink:href="#linearGradient2399"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.02645,0.974232)" />
+    <linearGradient
+       x1="-22.87417"
+       y1="38.675991"
+       x2="-4.3908315"
+       y2="38.675991"
+       id="linearGradient3199"
+       xlink:href="#linearGradient19894"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.618682,-0.132027,0.06262726,0.741184,31.12021,8.30041)" />
+    <linearGradient
+       x1="-10.480865"
+       y1="39.033951"
+       x2="-23.851389"
+       y2="39.142845"
+       id="linearGradient3201"
+       xlink:href="#linearGradient2399"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.618682,-0.132027,0.06262726,0.741184,31.12021,8.30041)" />
+    <linearGradient
+       x1="23.124001"
+       y1="43.165001"
+       x2="26.4785"
+       y2="43.165001"
+       id="linearGradient4100"
+       xlink:href="#aigrd1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.639127,0,0,1.639127,-15.97035,-29.79355)" />
+    <linearGradient
+       x1="24.613028"
+       y1="31.146202"
+       x2="24.613028"
+       y2="26.739624"
+       id="linearGradient4102"
+       xlink:href="#linearGradient3300"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.002656,0.997352)" />
+    <linearGradient
+       x1="-22.87417"
+       y1="38.675991"
+       x2="-4.3908315"
+       y2="38.675991"
+       id="linearGradient4104"
+       xlink:href="#linearGradient19894"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.566621,0.02988977,-0.118557,0.656541,36.18544,20.08311)" />
+    <linearGradient
+       x1="-10.480865"
+       y1="39.033951"
+       x2="-23.851389"
+       y2="39.142845"
+       id="linearGradient4106"
+       xlink:href="#linearGradient2399"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.566621,0.02988977,-0.118557,0.656541,36.18544,20.08311)" />
+    <linearGradient
+       x1="-22.87417"
+       y1="38.675991"
+       x2="-4.3908315"
+       y2="38.675991"
+       id="linearGradient4108"
+       xlink:href="#linearGradient19894"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.02645,0.974232)" />
+    <linearGradient
+       x1="-10.480865"
+       y1="39.033951"
+       x2="-23.851389"
+       y2="39.142845"
+       id="linearGradient4110"
+       xlink:href="#linearGradient2399"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.02645,0.974232)" />
+    <linearGradient
+       x1="-22.87417"
+       y1="38.675991"
+       x2="-4.3908315"
+       y2="38.675991"
+       id="linearGradient4112"
+       xlink:href="#linearGradient19894"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.02645,0.974232)" />
+    <linearGradient
+       x1="-10.480865"
+       y1="39.033951"
+       x2="-23.851389"
+       y2="39.142845"
+       id="linearGradient4114"
+       xlink:href="#linearGradient2399"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.02645,0.974232)" />
+    <linearGradient
+       x1="-22.87417"
+       y1="38.675991"
+       x2="-4.3908315"
+       y2="38.675991"
+       id="linearGradient4116"
+       xlink:href="#linearGradient19894"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.618682,-0.132027,0.06262726,0.741184,31.12021,8.30041)" />
+    <linearGradient
+       x1="-10.480865"
+       y1="39.033951"
+       x2="-23.851389"
+       y2="39.142845"
+       id="linearGradient4118"
+       xlink:href="#linearGradient2399"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.618682,-0.132027,0.06262726,0.741184,31.12021,8.30041)" />
+    <linearGradient
+       x1="17.879995"
+       y1="55.362793"
+       x2="11.906206"
+       y2="54.863026"
+       id="linearGradient4120"
+       xlink:href="#linearGradient3311"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.60344,0,0,0.549396,0.614167,0.024498)" />
+    <linearGradient
+       x1="-29.007195"
+       y1="-29.799353"
+       x2="-37.641232"
+       y2="-29.598314"
+       id="linearGradient4122"
+       xlink:href="#linearGradient3265"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.905728,-0.04386156,0.18951,-0.963437,0.614167,0.024498)" />
+    <radialGradient
+       cx="68.137589"
+       cy="29.869318"
+       r="33.93409"
+       fx="68.137589"
+       fy="29.869318"
+       id="radialGradient4124"
+       xlink:href="#aigrd7"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.55129,0,0,0.766034,-10.48701,3.514312)" />
+    <linearGradient
+       x1="37.940434"
+       y1="16.651863"
+       x2="-5.2517161"
+       y2="3.8557322"
+       id="linearGradient4126"
+       xlink:href="#linearGradient3175"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.894129,0,0,0.98523,1.515981,0.024498)" />
+    <linearGradient
+       x1="30.620375"
+       y1="10.313651"
+       x2="32.16608"
+       y2="18.162935"
+       id="linearGradient4128"
+       xlink:href="#linearGradient20393"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.6293,0,0,1.589068,50.68808,3.804378)" />
+    <linearGradient
+       x1="30.620375"
+       y1="10.313651"
+       x2="32.16608"
+       y2="18.162935"
+       id="linearGradient4130"
+       xlink:href="#linearGradient20393"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.6293,0,0,1.589068,1.411612,3.929378)" />
+    <linearGradient
+       x1="14.637301"
+       y1="31.504122"
+       x2="9.3648205"
+       y2="32.25098"
+       id="linearGradient4132"
+       xlink:href="#linearGradient20428"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.985083,0,0,0.503757,1.786612,4.554378)" />
+    <linearGradient
+       x1="16.998856"
+       y1="10.061084"
+       x2="32.096882"
+       y2="36.726292"
+       id="linearGradient4134"
+       xlink:href="#linearGradient6339"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.140494,0,0,0.926002,0.27233,-3.24717)" />
+  </defs>
+  <metadata
+     id="metadata4">
+    <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>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Jakub Steiner</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:subject>
+          <rdf:Bag>
+            <rdf:li>dialog</rdf:li>
+            <rdf:li>info</rdf:li>
+          </rdf:Bag>
+        </dc:subject>
+        <dc:source>http://jimmac.musichall.cz</dc:source>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title>Garrett LeSage</dc:title>
+          </cc:Agent>
+        </dc:contributor>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Reproduction" />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Distribution" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/Notice" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/Attribution" />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/ShareAlike" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1">
+    <g
+       transform="translate(0,1)"
+       id="g4076">
+      <path
+         d="m 21.893504,38.885945 0,1.475215 c 0,1.475215 1.311303,2.786519 2.786518,2.786519 1.475215,0 2.786517,-1.311304 2.786517,-2.786519 l 0,-1.475215 -5.573035,0 z"
+         transform="matrix(1.075823,0,0,0.937493,-2.551335,3.047213)"
+         id="path19509"
+         style="fill:url(#linearGradient4100);fill-rule:nonzero;stroke:#565656;stroke-miterlimit:4;stroke-opacity:1" />
+      <g
+         transform="matrix(0.989073,0,0,0.993556,-0.408739,0.00792048)"
+         id="g3173">
+        <path
+           d="m 24.511725,27.668867 c -3.302881,-0.008 -7.04845,0.963187 -5.018812,2.799064 -0.503223,0.203003 -1.222542,0.656382 -1.137746,1.717291 0.04682,0.554064 0.634076,0.894172 1.437193,1.143888 -0.910452,0.638612 -1.489779,1.313447 -1.437193,1.935811 0.04627,0.547604 0.621167,0.92261 1.407863,1.173219 -0.887511,0.631263 -1.459729,1.321981 -1.407863,1.935811 0.07927,0.938137 2.102576,1.988977 6.483761,1.867949 3.154401,-0.08599 5.937985,-0.651386 6.157671,-1.867949 0.08626,-0.4777 [...]
+           id="path3209"
+           style="color:#000000;fill:#aeae57;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4102);stroke-width:2.01752925;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+        <path
+           d="m 30.920208,38.329767 c -0.219686,1.216564 -3.328786,1.903094 -8.305076,1.653906 -3.151625,-0.157817 -3.331969,-1.039618 -3.112284,-2.256182 0.219686,-1.216565 2.95547,-2.069011 6.106661,-1.902783 3.151191,0.166228 5.530384,1.288495 5.310699,2.505059 z"
+           id="path3183"
+           style="color:#000000;fill:url(#linearGradient4104);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4106);stroke-width:0.08906282;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+        <path
+           d="m -3.5355339,27.228739 a 10.341436,3.2703688 0 1 1 -20.6828731,0 10.341436,3.2703688 0 1 1 20.6828731,0 z"
+           transform="matrix(0.60274,-0.128625,0.06428372,0.760788,31.12021,14.49141)"
+           id="path1603"
+           style="color:#000000;fill:url(#linearGradient4108);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4110);stroke-width:0.13035245;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+        <path
+           d="m -3.5355339,27.228739 a 10.341436,3.2703688 0 1 1 -20.6828731,0 10.341436,3.2703688 0 1 1 20.6828731,0 z"
+           transform="matrix(0.60274,-0.128625,0.06428372,0.760788,31.12021,11.39591)"
+           id="path2364"
+           style="color:#000000;fill:url(#linearGradient4112);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4114);stroke-width:0.13035245;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+        <path
+           d="m 30.698087,29.636386 c 0,1.378302 -2.540761,2.918054 -5.981486,3.652307 -3.440725,0.734252 -6.327381,0.215517 -6.443429,-1.157891 -0.116048,-1.373407 2.236507,-2.975336 5.679216,-3.161975 3.469991,-0.188116 6.745699,-0.04393 6.745699,0.667559 z"
+           id="path2366"
+           style="color:#000000;fill:url(#linearGradient4116);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4118);stroke-width:0.08906286;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+        <path
+           d="m 31,22.375 a 3.25,3.25 0 1 1 -6.5,0 3.25,3.25 0 1 1 6.5,0 z"
+           transform="matrix(0.335464,0,0,0.335464,11.74678,27.2261)"
+           id="path20372"
+           style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible" />
+        <path
+           d="m 19.342183,33.378865 c 3.394409,0.504668 6.978809,-0.03267 9.872132,-1.908058 0.811267,-0.525845 0.933289,-1.126862 1.306606,-1.596963 -1.424131,1.126861 -5.025939,4.161781 -11.178738,3.505021 z"
+           id="path3241"
+           style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none" />
+        <path
+           d="m 31,22.375 a 3.25,3.25 0 1 1 -6.5,0 3.25,3.25 0 1 1 6.5,0 z"
+           transform="matrix(0.335464,0,0,0.335464,11.74678,30.23376)"
+           id="path2435"
+           style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible" />
+        <path
+           d="m 19.466621,39.517838 c 3.394409,0.504668 6.978809,-0.03267 9.872132,-1.908058 0.811267,-0.525845 0.93329,-1.126861 1.306606,-1.596963 -1.424131,1.126861 -5.025939,4.161781 -11.178738,3.505021 z"
+           id="path3237"
+           style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none" />
+        <path
+           d="m 19.487361,36.406872 c 3.394409,0.504668 6.978809,-0.03267 9.872131,-1.908058 0.811268,-0.525845 0.93329,-1.126861 1.306607,-1.596963 -1.424131,1.126861 -5.025939,4.161781 -11.178738,3.505021 z"
+           id="path3239"
+           style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none" />
+      </g>
+      <g
+         transform="translate(-0.988797,0)"
+         id="g3146">
+        <g
+           id="g3141">
+          <path
+             d="m 18.87103,29.628128 c 0,-0.791433 1.574105,-1.73814 5.548204,-1.685156 3.68192,0.04909 6.107374,0.895688 6.107374,2.162432 0,1.239877 -3.219366,2.069012 -6.651931,1.902784 -3.432564,-0.166228 -5.003647,-1.140183 -5.003647,-2.38006 z"
+             transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)"
+             id="path3243"
+             style="color:#000000;fill:url(#linearGradient4120);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4122);stroke-width:0.09083303;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+          <path
+             d="m 24.680021,0.8622936 c -7.822016,0 -14.17376,5.9749692 -14.17376,13.3329944 0,7.542563 5.741565,8.377929 5.741565,11.157707 0,3.266066 3.366277,6.969692 8.901483,6.836 5.88585,-0.14216 8.314873,-3.36334 8.314873,-6.836 0,-2.968931 5.389599,-3.048106 5.389599,-11.157707 0,-7.3580252 -6.351743,-13.3329944 -14.17376,-13.3329944 z"
+             transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)"
+             id="path6305"
+             style="color:#000000;fill:url(#radialGradient4124);fill-opacity:1;fill-rule:nonzero;stroke:#616471;stroke-width:1.01595449;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+          <path
+             d="m 24.680021,1.9277146 c -7.290022,0 -13.209769,5.5685977 -13.209769,12.4261864 0,7.029575 5.351068,7.808126 5.351068,10.398845 0,3.043934 3.137328,6.495667 8.296072,6.371067 5.485539,-0.132492 7.749359,-3.134591 7.749359,-6.371067 0,-2.767006 5.02304,-2.840798 5.02304,-10.398845 0,-6.8575887 -5.919747,-12.4261864 -13.20977,-12.4261864 z"
+             transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)"
+             id="path2429"
+             style="color:#000000;fill:none;stroke:url(#linearGradient4126);stroke-width:0.94685698;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+        </g>
+        <g
+           transform="matrix(0.9375,0,0,0.926938,0.569221,0.25176)"
+           id="g1695">
+          <path
+             d="m 31.947292,19.22274 c 0.312742,0.104248 0.521237,0.41699 0.416989,0.729731 l -3.857147,11.571442 c -0.104247,0.312742 -0.416989,0.521236 -0.729731,0.416989 -0.312741,-0.104247 -0.521235,-0.416989 -0.416988,-0.72973 L 31.217562,19.63973 c 0.104247,-0.312742 0.416989,-0.521237 0.72973,-0.41699 z"
+             id="path1691"
+             style="fill:url(#linearGradient4128);fill-opacity:1;fill-rule:nonzero;stroke:none" />
+          <path
+             d="m 20.152404,19.34774 c -0.312742,0.104248 -0.521237,0.41699 -0.416989,0.729731 l 3.857147,11.571442 c 0.104247,0.312742 0.416989,0.521236 0.729731,0.416989 0.312741,-0.104247 0.521235,-0.416989 0.416988,-0.72973 L 20.882134,19.76473 c -0.104247,-0.312742 -0.416989,-0.521237 -0.72973,-0.41699 z"
+             id="path19612"
+             style="fill:url(#linearGradient4130);fill-opacity:1;fill-rule:nonzero;stroke:none" />
+          <path
+             d="m 20.255362,19.273128 c -0.24591,0.04207 -0.438556,0.234644 -0.480709,0.480539 -0.04215,0.245895 0.07535,0.491642 0.293209,0.613211 0,0 1.842222,1.080869 4.25,1.625 2.407778,0.544131 5.488901,0.579427 7.8125,-1.6875 0.175246,-0.139033 0.256492,-0.365415 0.209645,-0.584154 -0.04685,-0.218739 -0.213682,-0.391991 -0.430498,-0.447056 -0.216816,-0.05506 -0.446103,0.01758 -0.591647,0.18746 -1.950536,1.902962 -4.544838,1.904592 -6.75,1.40625 -2.205162,-0.498342 -3.90625,-1.5 -3. [...]
+             id="path19614"
+             style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4132);stroke-width:0.21454535;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+        </g>
+        <path
+           d="m 25.001158,3.5644322 c -6.26355,0 -11.345799,4.0256007 -11.345799,8.9834108 0,1.980113 0.977559,3.713915 2.350649,5.199192 1.552664,0.63186 3.243819,1.085906 5.108744,1.085906 6.26355,0 11.345797,-4.0256 11.345799,-8.983413 0,-1.992052 -0.993807,-3.7420651 -2.381991,-5.2320949 -1.545421,-0.624373 -3.224319,-1.053001 -5.077402,-1.0530009 z"
+           transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)"
+           id="path6334"
+           style="opacity:0.5977654;color:#000000;fill:url(#linearGradient4134);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.98750001;marker:none;visibility:visible;display:inline;overflow:visible" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/casing2-opt.svg b/svg-example/res/com/kitfox/svg/example/casing2-opt.svg
new file mode 100644
index 0000000..1055782
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/casing2-opt.svg
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="450" width="566.93" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<metadata id="metadata7">
+		<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/>
+			</cc:Work>
+		</rdf:RDF>
+	</metadata>
+	<g id="layer2" style="photonsaw-power:80;photonsaw-speed:32;photonsaw-assistair:1;photonsaw-passes:1;" transform="translate(0,-116.92918)">
+		<text id="text4018" style="letter-spacing:0px;word-spacing:0px;" font-weight="500" transform="matrix(0,-1,1,0,0,0)" font-style="normal" font-stretch="normal" xml:space="preserve" line-height="125%" font-size="12px" font-variant="normal" y="203.78191" x="-529.70911" font-family="Century Schoolbook L" fill="#000000"><tspan id="tspan4020" y="203.78191" x="-529.70911"/></text>
+		<path id="path4034" stroke-linejoin="miter" d="m109.84,531.5,5.315,0,0-35.433-5.315,0" stroke="#000" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.35433072" fill="none"/>
+		<path id="path4034-9" stroke-linejoin="miter" d="m109.84,492.08,5.315,0,0-35.433-5.315,0" stroke="#000" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.35433072" fill="none"/>
+		<path id="path4034-7" stroke-linejoin="miter" d="m109.84,452.66,5.315,0,0-35.433-5.315,0" stroke="#000" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.35433072" fill="none"/>
+		<path id="path4034-6" stroke-linejoin="miter" d="m109.84,413.24,5.315,0,0-35.433-5.315,0" stroke="#000" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.35433072" fill="none"/>
+		<path id="path4034-3" stroke-linejoin="miter" d="m109.84,373.82,5.315,0,0-35.433-5.315,0" stroke="#000" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.35433072" fill="none"/>
+		<path id="path4034-96" stroke-linejoin="miter" d="m109.84,333.07,5.315,0,0-26.575-5.315,0" stroke="#000" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.35433072" fill="none"/>
+		<path id="path4127" stroke-linejoin="miter" d="m115.16,313.58-5.315-0.00007" stroke="#000" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.35433072" fill="none"/>
+		<path id="path5326" d="m218.43,231.96v-18.27c-2.8258,0.13983-5.7436-0.28677-8.5089,0.22629-1.6971,0.26378-3.0466,1.341-3.5478,3.0072-0.66107,2.1678,0.854,4.8478,3.2008,5.1246,2.5462,0.74015,5.3073,0.15585,7.9434,0.34198h0.91249m-6.09,0c-2.03,3.19-4.06,6.38-6.09,9.57" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path5328" d="m200.16,231.96v-18.27h-11.31m11.31,8.7h-6.96" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path5330" d="m185.37,213.69h-12.18c2.9,6.09,5.8,12.18,8.7,18.27" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path5332" d="m154.92,225.87h13.05c-2.9-4.06-5.8-8.12-8.7-12.18v18.27" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path5334" d="m150.57,219.78c-3.19,4.06-6.38,8.12-9.57,12.18m0-12.18c3.19,4.06,6.38,8.12,9.57,12.18" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path5336" d="m135.78,219.78c-3.19,4.06-6.38,8.12-9.57,12.18m0-12.18c3.19,4.06,6.38,8.12,9.57,12.18" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path5338" d="m120.12,213.69v18.27" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path5340" d="m107.07,231.96c-1.6067-0.42278-3.1334-0.97499-4.128-2.388-1.4786-2.1555-2.233-4.8118-1.962-7.4344-0.0972-2.1892,0.82934-4.4247,2.0773-6.1749,1.4592-1.9823,4.0754-2.4453,6.398-2.2727,1.1127,0.36076,3.7407-0.79386,3.7046,0.7156v17.554h-6.09z" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path5506" d="m201.97,253.42c-1.3666-0.0117-2.7409,0.0235-4.1027-0.0176-0.45011-0.18412-0.97041-0.25466-1.3759-0.51103-0.41983-0.33266-0.63072-0.84945-0.82139-1.327,0.0143-0.42632-0.0853-0.87951,0.19886-1.2421,0.20303-0.49672,0.56458-0.99332,1.123-1.0929,0.50224-0.17058,0.99727-0.38563,1.5396-0.30939h3.4386v9.45m-3.15-4.95c-1.05,1.65-2.1,3.3-3.15,4.95" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433069" fill="none"/>
+		<path id="path5508" d="m193.87,258.37c-1.2-3.15-2.4-6.3-3.6-9.45-1.2,3.15-2.4,6.3-3.6,9.45m5.85-3.15h-4.5" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433069" fill="none"/>
+		<path id="path5510" d="m176.32,248.92c0.75,3.15,1.5,6.3,2.25,9.45,0.75-3.15,1.5-6.3,2.25-9.45,0.75,3.15,1.5,6.3,2.25,9.45,0.75-3.15,1.5-6.3,2.25-9.45" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433069" fill="none"/>
+		<path id="path5682" d="m145.28,258.37v-9.45c-1.3649,0.0106-2.7366-0.0211-4.0972,0.0157-0.44998,0.18073-0.96317,0.25918-1.3732,0.50461-0.42473,0.31975-0.59153,0.82541-0.82966,1.2797,0.0157,0.46287-0.0309,0.94044,0.0222,1.3945,0.22824,0.44533,0.39878,0.93225,0.81462,1.2424,0.42848,0.23993,0.94886,0.33115,1.4131,0.51314h4.05" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433069" fill="none"/>
+		<path id="path5684" d="m135.83,248.92v9.45h-5.4" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433069" fill="none"/>
+		<path id="path5686" d="m128.18,248.92v9.45h-5.4" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433069" fill="none"/>
+		<path id="path5866" d="m181.03,299.63h7.3125v11.812h-7.3125m7.3125-6.1875h-4.5" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path5868" d="m177.66,303.56v7.875m0-5.625c-1.0516-1.0202-2.1168-2.5228-3.7776-2.25-0.71763-0.0578-1.7564,0.21449-1.9782,0.95489-0.76415,1.7098-0.31022,3.6172-0.4317,5.4313v1.4888" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path5870" d="m160.78,305.25c0.84705-0.97336,1.9667-1.9453,3.353-1.6875,1.213-0.0702,2.2057,0.92791,2.8781,1.8183,0.50503,1.184,0.78956,2.5256,0.17011,3.7281-0.31918,1.1394-1.42,1.8778-2.4637,2.3286-0.93403,0.0164-1.8879,0.11671-2.674-0.49327-0.4768-0.30892-0.83474-0.81604-1.2635-1.1942" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path5872" d="m154.59,303.56c1.198,0.48937,2.3554,1.4013,2.5988,2.7339,0.50798,1.1964,0.10023,2.6114-0.54377,3.6486-0.77947,0.92835-1.8867,1.7197-3.158,1.4925-1.213,0.0702-2.2057-0.92791-2.8781-1.8183-0.50503-1.184-0.78956-2.5256-0.17011-3.7281,0.31918-1.1394,1.42-1.8778,2.4637-2.3286h1.6875z" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path5874" d="m139.97,299.63v11.812m0-6.1875c0.84705-0.97336,1.9667-1.9453,3.353-1.6875,1.213-0.0702,2.2057,0.92791,2.8781,1.8183,0.50503,1.184,0.78956,2.5256,0.17011,3.7281-0.31918,1.1394-1.42,1.8778-2.4637,2.3286-0.93403,0.0164-1.8879,0.11671-2.674-0.49327-0.4768-0.30892-0.83474-0.81604-1.2635-1.1942" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path5876" d="m136.03,306.94h-6.75c-0.22234-1.3863,0.65122-2.8065,1.9882-3.2441,0.70748-0.20946,1.6306-0.25445,2.3192,0.0541,1.1219,0.48036,2.0515,1.4566,2.2724,2.6797,0.44423,1.1639,0.029,2.519-0.58737,3.5178-0.77947,0.92835-1.8867,1.7197-3.158,1.4925-1.1877,0.102-2.0833-0.908-2.8345-1.6875" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path5878" d="m125.34,303.56v7.875m0-4.5c-0.28684-0.97433-0.55959-1.9574-1.4399-2.5649-0.75695-0.78834-1.851-0.90997-2.8892-0.81008h-0.13788-0.033" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9065" d="m201.96,351.28v11.812" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9067" d="m193.53,363.1c-1.3788-0.27695-2.6492-1.0738-3.1804-2.4232-0.86368-1.5458-0.85772-3.3393-0.7051-5.0453,0.47132-1.8016,1.403-3.8682,3.4466-4.1976,1.4138-0.32574,2.9237-0.0602,4.3764-0.1463v11.812h-3.9375z" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9071" d="m173.84,351.28c1.0251,0.26545,2.0144,0.57788,2.4176,1.6576,0.73479,1.0665,0.73596,2.4889,0.95743,3.7339,0.0524,1.4996-0.21922,3.0647-0.74502,4.4447-0.50094,0.91034-1.0724,1.7283-2.1911,1.8299-1.1052,0.39968-2.4009,0.002-3.3426-0.55309-0.80126-0.96823-1.2839-2.0684-1.3886-3.3252-0.50283-1.8808-0.0679-3.8614,0.44617-5.6748,0.55434-0.84043,0.98496-1.8428,2.1263-1.9148,0.54705-0.27391,1.1305-0.18867,1.72-0.19832z" stroke="#000" stroke-dasharray="none" stroke-miterlim [...]
+		<path id="path9073" d="m162.59,351.28c1.0251,0.26545,2.0144,0.57788,2.4176,1.6576,0.73479,1.0665,0.73596,2.4889,0.95743,3.7339,0.0524,1.4996-0.21922,3.0647-0.74502,4.4447-0.50094,0.91034-1.0724,1.7283-2.1911,1.8299-1.1052,0.39968-2.4009,0.002-3.3426-0.55309-0.80126-0.96823-1.2839-2.0684-1.3886-3.3252-0.50283-1.8808-0.0679-3.8614,0.44617-5.6748,0.55434-0.84043,0.98496-1.8428,2.1263-1.9148,0.54705-0.27391,1.1305-0.18867,1.72-0.19832z" stroke="#000" stroke-dasharray="none" stroke-miterlim [...]
+		<path id="path9075" d="m154.15,358.03h-10.125" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9077" d="m136.71,351.28c1.0251,0.26545,2.0144,0.57788,2.4176,1.6576,0.73479,1.0665,0.73596,2.4889,0.95743,3.7339,0.0524,1.4996-0.21922,3.0647-0.74501,4.4447-0.50095,0.91034-1.0725,1.7283-2.1911,1.8299-1.1052,0.39968-2.4009,0.002-3.3427-0.55309-0.80126-0.96823-1.2839-2.0684-1.3886-3.3252-0.50283-1.8808-0.0679-3.8614,0.44617-5.6748,0.55434-0.84043,0.98496-1.8428,2.1263-1.9148,0.54706-0.27391,1.1305-0.18867,1.72-0.19832z" stroke="#000" stroke-dasharray="none" stroke-miterlim [...]
+		<path id="path9079" d="m128.84,351.28h-7.875c1.875,3.9375,3.75,7.875,5.625,11.812" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9293" d="m201.98,388.88v11.812" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9295" d="m197.48,388.88c-1.9575,0.11971-4.1764-0.42688-5.8577,0.79516-1.5561,1.3357-2.1816,3.516-2.0173,5.5145-0.0573,1.4808,0.54126,3.0353,1.474,4.1643,1.3333,1.6956,3.6798,1.3039,5.5894,1.3385,1.4043,0.36597,0.60399-1.4726,0.81165-2.3032v-9.5092z" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9299" d="m173.85,388.88c1.0251,0.26545,2.0144,0.57788,2.4176,1.6576,0.73479,1.0665,0.73596,2.4889,0.95743,3.7339,0.0524,1.4996-0.21922,3.0647-0.74502,4.4447-0.50094,0.91034-1.0724,1.7283-2.1911,1.8299-1.1052,0.39968-2.4009,0.002-3.3426-0.55309-0.80126-0.96823-1.2839-2.0684-1.3886-3.3252-0.50283-1.8808-0.0679-3.8614,0.44617-5.6748,0.55434-0.84043,0.98496-1.8428,2.1263-1.9148,0.54705-0.27391,1.1305-0.18867,1.72-0.19832z" stroke="#000" stroke-dasharray="none" stroke-miterlim [...]
+		<path id="path9301" d="m163.17,388.88c1.0049,0.26858,2.015,0.53114,2.25,1.6875,0.17745,1.1769-0.36226,2.4632-1.5926,2.765-1.7442,0.60064-3.9098,0.5898-5.0794,2.2195-1.0743,1.3574-0.89164,3.6969,0.64057,4.63,1.7632,0.75231,3.904,0.76129,5.5852-0.16836,1.4586-1.2547,1.3797-3.7807-0.13549-4.9653-1.3995-1.4173-3.7181-1.0776-5.3637-2.1098-1.0723-0.79893-1.0833-2.6998-0.086-3.5481,1.2306-0.58738,2.4488-0.54462,3.7814-0.51047z" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" strok [...]
+		<path id="path9303" d="m154.17,395.63h-10.125" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9305" d="m138.42,391.13c-1.192-0.39686-1.9377-1.413-2.8125-2.25v11.812" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9307" d="m122.1,388.88h5.625c0.1875,1.6875,0.375,3.375,0.5625,5.0625-1.0387-1.118-2.8147-1.3122-4.2496-1.021-1.4533,0.25379-2.6682,1.3564-2.9166,2.8321-0.46791,1.5455,0.18885,3.3288,1.4632,4.2984,1.6392,0.87767,3.8297,0.93314,5.3732-0.15465,0.46563-0.36525,0.60491-0.96093,0.89234-1.4548" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9539" d="m201.99,429.18v11.812" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9541" d="m197.49,429.18c-1.9575,0.11971-4.1764-0.42688-5.8577,0.79516-1.5561,1.3357-2.1816,3.516-2.0173,5.5145-0.0573,1.4808,0.54126,3.0353,1.474,4.1643,1.3333,1.6956,3.6798,1.3039,5.5894,1.3385,1.4043,0.36597,0.60399-1.4726,0.81165-2.3032v-9.5092z" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9545" d="m175.55,431.43c-1.192-0.39686-1.9377-1.413-2.8125-2.25v11.812" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9547" d="m158.68,430.87c0.23108-1.1608,1.2467-1.4171,2.25-1.6875,1.0249-0.0543,2.2608,0.13485,2.995,0.83627,0.89508,0.9876,1.1822,2.227,1.3619,3.5109,0.33332,1.9249,0.18965,3.9172-0.41944,5.7778-0.80189,1.0602-2.0505,1.684-3.375,1.6875-1.3343-0.29537-2.7538-1.0304-3.0726-2.4679-0.6044-1.1024-0.14325-2.4412,0.49279-3.3898,0.75859-0.98183,2.0802-1.54,3.2984-1.4028,1.4257,0.269,2.7628,1.2313,3.0206,2.728,0.0661,0.19832,0.13221,0.39665,0.19832,0.59497" stroke="#000" stroke-da [...]
+		<path id="path9549" d="m154.18,435.93h-10.125" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9551" d="m139.55,431.99c0.0408-1.7888-1.8526-3.1514-3.5661-2.8125-2.1697-0.34721-4.129,2.4167-2.7424,4.2579,1.4157,2.6319,3.9173,4.4036,5.8993,6.5829,1.379,0.98808,0.65234,1.104-0.67346,0.97172h-6.2298" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9553" d="m127.74,429.18h-6.1875c1.125,1.5,2.25,3,3.375,4.5-1.2919-0.15452-2.9223,0.1115-3.479,1.4372-0.70962,1.4092-0.57213,3.1627,0.33671,4.4205,1.0784,1.3943,3.1063,1.7363,4.7356,1.2988,1.2172-0.18389,1.9466-0.95673,2.3443-2.0939" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9803" d="m201.63,468.66v11.812" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9805" d="m197.13,468.66c-1.9224,0.10011-4.0137-0.36531-5.7366,0.67411-1.2723,0.99582-1.885,2.6029-2.1384,4.1416-0.0787,1.5859-0.0305,3.1911,0.77427,4.6078,0.50648,1.1714,1.5546,2.0566,2.8234,2.2757,1.3892,0.26284,2.8575,0.039,4.2773,0.11326v-11.812z" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9809" d="m176.31,471.47c0.0396-1.6857-1.7025-3.0966-3.3549-2.8125-1.8159-0.33204-3.6572,1.3532-3.3951,3.1971,0.88781,2.7402,3.3461,4.5265,5.2591,6.5621l2.0534,2.0534h-7.875" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9811" d="m157.19,476.53h8.4375c-1.875-2.625-3.75-5.25-5.625-7.875v11.812" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9813" d="m153.81,475.41h-10.125" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9815" d="m138.63,468.66h-6.1875c1.125,1.5,2.25,3,3.375,4.5-1.2593-0.13848-2.7466,0.086-3.4249,1.2748-0.55759,1.2269-0.75266,2.6211-0.11326,3.8607,0.36369,1.0565,1.3975,1.8047,2.4861,2.0139,1.3424,0.39723,2.9445,0.16333,4.0878-0.62255,0.47962-0.36332,0.60796-0.9664,0.90177-1.4643" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path9817" d="m126.81,470.91c-1.1897-0.40014-1.9387-1.4116-2.8125-2.25v11.812" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path10085" d="m183.31,508.5c-1.5,3.9375-3,7.875-4.5,11.812-1.5-3.9375-3-7.875-4.5-11.812" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path10087" d="m172.06,515.81h-6.75c-0.16574-1.0955,0.32986-2.2385,1.2357-2.8678,0.70942-0.51798,1.5273-0.57639,2.3754-0.50717,1.0969,0.0896,1.9809,0.97586,2.6156,1.8049,0.47673,1.1521,0.80995,2.4576,0.21035,3.6342-0.17656,0.91204-0.97117,1.5596-1.7065,2.0394-0.75055,0.55536-1.7329,0.42811-2.5912,0.34117-0.90587-0.31205-1.4948-0.95514-2.1393-1.6322" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path10089" d="m161.37,512.43v7.875m0-4.5c-0.30825-0.86537-0.43885-1.8405-1.2624-2.3874-0.66862-0.74197-1.6676-1.137-2.6636-0.98757h-0.57392" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path10091" d="m148.44,514.12c0.2777-0.73625,0.63382-1.3821,1.5016-1.438,1.2402-0.48835,2.6397-0.28664,3.8445,0.22005,0.53256,0.27293,1.0832,1.2187,0.56475,1.7713-0.29897,0.91622-1.4188,1.1315-2.2601,1.304-1.0742,0.23907-2.3087,0.30465-3.1435,1.0658-0.38813,0.64674-0.79658,1.4493-0.2305,2.1302,0.20316,0.90223,1.2941,0.78085,1.9733,1.1342,1.0692,0.0723,2.1119-0.018,3.0961-0.46953,0.5179-0.0889,0.55194-0.85092,0.84142-1.218" stroke="#000" stroke-dasharray="none" stroke-miterlimi [...]
+		<path id="path10093" d="m145.06,508.5c-0.32314,1.0221-1.638,0.0319-0.68754-0.43746,0.19919-0.32588,0.47718,0.35142,0.68754,0.43746zm-0.5625,3.9375v7.875" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path10095" d="m137.75,512.43c0.94972,0.37748,1.8316,1.0388,2.3282,1.9223,0.47464,1.1133,0.74146,2.3828,0.17123,3.5168-0.17656,0.91204-0.97117,1.5596-1.7065,2.0394-0.75055,0.55536-1.7329,0.42811-2.5912,0.34117-0.91365-0.35846-1.7381-1.0288-2.2176-1.8669-0.47464-1.1133-0.74146-2.3828-0.17123-3.5168,0.17656-0.91204,0.97117-1.5596,1.7065-2.0394,0.75229-0.57799,1.6014-0.36096,2.4805-0.3965z" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill [...]
+		<path id="path10097" d="m129.31,512.43v7.875m0-5.625c-1.0177-0.94782-1.9862-2.4205-3.5549-2.25-0.75955-0.10915-1.5943,0.16047-2.1092,0.67988-0.40709,0.98055-0.63809,1.9897-0.52337,3.0549v4.1402" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path12948" d="m470.5,358.56c-1.4949-2.33-2.2912-1.3685-2.8063,0.91842-2.6079,6.7805-5.2158,13.561-7.8236,20.341-3.5617-10.039-7.1234-20.079-10.685-30.118-39.181,0.028-78.361,0.0559-117.54,0.0839-0.54644,0.76206-1.0929,1.5241-1.6393,2.2862" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path12950" d="m431.95,357.87v14m0-11c1.5624-1.8849,3.7288-3.4911,6.3057-3,2.5023,0.27258,4.8208,2.4298,5.3323,4.914,1.2037,3.3282-0.63682,7.4113-3.927,8.7305-2.3736,0.99853-5.346,0.22015-6.9339-1.8673l-0.77719-0.77719" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path12952" d="m412.95,357.87c0.0615,5.4194-0.12246,10.879,0.0911,16.273,0.4392,1.9754,1.3271,3.9263,3.4556,4.4999,1.7879,0.5446,3.8832,0.32915,5.4533-0.77337m-9-17c1.5624-1.8849,3.7288-3.4911,6.3057-3,2.5023,0.27258,4.8208,2.4298,5.3323,4.914,1.2037,3.3282-0.63682,7.4113-3.927,8.7305-2.3736,0.99853-5.346,0.22015-6.9339-1.8673l-0.77719-0.77719" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path12954" d="m404.95,357.87v14m0-8c-0.49622-2.4421-1.8977-4.6973-4.289-5.6445-1.0842-0.68817-2.4898-0.21758-3.711-0.35552" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path12956" d="m392.95,363.87h-12c-0.59618-3.3713,2.6488-6.6029,6.0175-6,2.2492-0.01,4.3966,1.8471,5.2559,3.8203,1.4416,2.9342,0.68619,6.7931-1.9038,8.8101-2.4199,2.2425-6.616,1.7951-8.5924-0.85322l-0.77719-0.77719" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path12958" d="m362.95,357.87v14m0-11c1.5624-1.8849,3.7288-3.4911,6.3057-3,2.5023,0.27258,4.8208,2.4298,5.3323,4.914,1.2037,3.3282-0.63682,7.4113-3.927,8.7305-2.3736,0.99853-5.346,0.22015-6.9339-1.8673l-0.77719-0.77719" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path12960" d="m354.95,357.87v14m0-8c-0.49622-2.4421-1.8977-4.6973-4.289-5.6445-1.0842-0.68817-2.4898-0.21758-3.711-0.35552" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path12962" d="m330.95,357.87c0.0615,5.4194-0.12246,10.879,0.0911,16.273,0.4392,1.9754,1.3271,3.9263,3.4556,4.4999,1.7879,0.5446,3.8833,0.32915,5.4533-0.77337m-9-17c1.5624-1.8849,3.7288-3.4911,6.3057-3,2.5023,0.27258,4.8208,2.4298,5.3323,4.914,1.2037,3.3282-0.63682,7.4113-3.927,8.7305-2.3736,0.99853-5.346,0.22015-6.9339-1.8673l-0.77719-0.77719" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path13281" d="m466.07,347.44c-0.26647-0.15294-0.58603-0.23222-0.78241-0.48241l-0.71759-0.71759v6.3" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path13283" d="m460.37,346.24h-3.3c0.6,0.8,1.2,1.6,1.8,2.4-0.30612,0.007-0.61899-0.0142-0.92098,0.0105-0.26028,0.14832-0.57073,0.22705-0.76143,0.47192-0.19016,0.14265-0.18866,0.40376-0.28074,0.60703-0.0722,0.21853-0.1706,0.4328-0.13685,0.66852-0.0116,0.2097-0.002,0.41591,0.089,0.60901,0.0791,0.21451,0.13309,0.44459,0.22759,0.64961,0.20393,0.19365,0.39225,0.41255,0.60567,0.59084,0.30903,0.0925,0.6116,0.22481,0.92465,0.29258,0.29838-0.01,0.60324,0.0199,0.8976-0.0148,0.28872-0.10 [...]
+		<path id="path13616" d="m196.14,323.69c-1.7784,0.0655-3.5992-0.13027-5.3514,0.0963-1.0514,0.21848-2.0614,0.73351-2.3697,1.846-0.31508,0.94117-0.26749,2.1008,0.32288,2.9487,0.61337,1.017,1.9926,1.2734,3.0972,1.2965h4.301v-11.812c-1.7784,0.0655-3.5992-0.13027-5.3514,0.0963-1.0514,0.21848-2.0614,0.73351-2.3697,1.846-0.57527,1.3331,0.35201,3.1888,1.838,3.4092,0.27355,0.0912,0.5471,0.18237,0.82065,0.27355" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" [...]
+		<path id="path13618" d="m178.14,322v7.875m0-6.1875c0.8645-1.0244,2.0439-1.9615,3.4683-1.6875,1.189,0.0181,2.2611,1.0001,2.8155,1.9764,0.58124,1.2191,0.64063,2.6015,0.0327,3.8238-0.47471,1.0143-1.551,1.9246-2.6836,2.0747-1.2569,0.20928-2.4834-0.3183-3.2617-1.3163l-0.3712-0.3712" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path13620" d="m173.64,322c-0.0624,1.9664,0.12605,3.9735-0.0963,5.914-0.18281,0.95514-0.58374,1.7211-1.5912,1.961-1.1732,0.11336-2.4487-0.0171-3.2432-0.99324l-1.2568-1.2568m0-5.625v7.875" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path13622" d="m156.76,318.06v11.812m0-6.1875c0.8645-1.0244,2.0439-1.9615,3.4683-1.6875,1.189,0.0181,2.2611,1.0001,2.8155,1.9764,0.58124,1.2191,0.64063,2.6015,0.0327,3.8238-0.47471,1.0143-1.551,1.9246-2.6836,2.0747-1.2569,0.20928-2.4834-0.3183-3.2617-1.3163l-0.3712-0.3712" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path13624" d="m152.26,322v7.875m0-4.5c-0.27517-1.031-0.62302-2.0172-1.5317-2.6567-0.84133-0.78992-1.8829-0.77351-2.9683-0.71833" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path13626" d="m138.76,322v7.875m0-6.1875c0.8645-1.0244,2.0439-1.9615,3.4683-1.6875,1.189,0.0181,2.2611,1.0001,2.8155,1.9764,0.58124,1.2191,0.64063,2.6015,0.0327,3.8238-0.47471,1.0143-1.551,1.9246-2.6836,2.0747-1.2569,0.20928-2.4834-0.3183-3.2617-1.3163l-0.3712-0.3712" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path13628" d="m133.7,318.06c-0.0322,3.233,0.0644,6.487-0.0482,9.707-0.23304,0.95757-0.52774,1.8617-1.604,2.0879-0.37771,0.0418-0.77545,0.005-1.1603,0.0177m4.5-7.875h-3.9375" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+		<path id="path13630" d="m128.07,325.37h-6.75c-0.32263-1.7926,1.3404-3.6253,3.1637-3.375,1.3171-0.13874,2.5144,0.91681,3.1201,1.9764,0.58124,1.2191,0.64063,2.6015,0.0327,3.8238-0.47471,1.0143-1.551,1.9246-2.6836,2.0747-1.2569,0.20928-2.4834-0.3183-3.2617-1.3163-0.12371-0.12373-0.24745-0.24747-0.37118-0.3712" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.35433072" fill="none"/>
+	</g>
+	<g id="layer1" stroke-linejoin="round" style="photonsaw-power:80;photonsaw-speed:16;photonsaw-assistair:1;photonsaw-passes:2;" transform="translate(-148.64173,-173.79926)" stroke="#000" stroke-linecap="round" stroke-miterlimit="4" fill="none">
+		<path id="top_mount_1" d="m391.36,607.85-0.00001-7.0866-17.717,0,0.00001,7.0866z" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="top_mount_2" d="m405.53,600.77,0-17.717-7.0866,0.00007,0,17.717z" stroke-dashoffset="0" stroke-width="0.35433069"/>
+		<path id="top_mount_3" d="m405.53,430.69,0-17.717-7.0866,0.00007,0,17.717z" stroke-dashoffset="0" stroke-width="0.35433069"/>
+		<path id="top_mount_4" d="m405.53,260.61,0-17.717-7.0866,0.00007,0,17.717z" stroke-dashoffset="0" stroke-width="0.35433069"/>
+		<path id="top_mount_5" d="m391.36,242.89,0.00001-7.0867-17.717,0-0.00001,7.0867z" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="top_mount_6" d="m242.54,242.89,0.00001-7.0867-17.717,0-0.00001,7.0867z" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="top_mount_7" d="m217.74,260.61,0-17.717-7.0866-0.00007,0,17.717z" stroke-dashoffset="0" stroke-width="0.35433069"/>
+		<path id="top_mount_8" d="m217.74,430.69,0-17.717-7.0866-0.00007,0,17.717z" stroke-dashoffset="0" stroke-width="0.35433069"/>
+		<path id="top_mount_9" d="m217.74,600.77,0-17.717-7.0866-0.00007,0,17.717z" stroke-dashoffset="0" stroke-width="0.35433069"/>
+		<path id="top_mount_10" d="m242.54,607.85-0.00001-7.0866-17.717,0,0.00001,7.0866z" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="top_hole_left" d="m308.09,590.14c-2.4461,0-4.4291,1.983-4.4291,4.4291s1.983,4.4291,4.4291,4.4291,4.4291-1.983,4.4291-4.4291-1.983-4.4291-4.4291-4.4291z" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="top_hole_button" d="m382.68,294.09c-3.9138,0-7.0866,3.1728-7.0866,7.0866s3.1728,7.0866,7.0866,7.0866,7.0866-3.1728,7.0866-7.0866-3.1728-7.0866-7.0866-7.0866z" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="top_hole_slider" d="m299.41,306.05,0,8.8583c0.001,0.48948,0.39723,0.88583,0.88583,0.88583h15.945c0.48949-0.001,0.88583-0.39722,0.88583-0.88582v-8.8583c-0.001-0.48948-0.39722-0.88582-0.88583-0.88582h-15.945c-0.48949,0.001-0.88583,0.39722-0.88583,0.88583z" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="top_hole_right" d="m308.09,249.09c-2.4461,0-4.4291,1.983-4.4291,4.4291s1.983,4.4291,4.4291,4.4291,4.4291-1.983,4.4291-4.4291-1.983-4.4291-4.4291-4.4291z" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="top_hole_dip" d="m254.06,359.82c-0.002-0.97896-0.79446-1.7716-1.7717-1.7716h-19.488c-0.97898,0.002-1.7717,0.79444-1.7716,1.7716v234.3c0.002,0.97897,0.79444,1.7717,1.7716,1.7717h19.488c0.97897-0.002,1.7717-0.79446,1.7717-1.7717z" stroke-dashoffset="0" stroke-width="0.35433069"/>
+		<path id="bottom_mount_2" d="m451.59,600.77,0-17.717,7.0866,0.00007,0,17.717z" stroke-dashoffset="0" stroke-width="0.35433069"/>
+		<path id="bottom_mount_3" d="m453.37,430.69,0-17.717,7.0866,0.00007,0,17.717z" stroke-dashoffset="0" stroke-width="0.35433069"/>
+		<path id="bottom_mount_4" d="m451.59,260.61,0-17.717,7.0866,0.00007,0,17.717z" stroke-dashoffset="0" stroke-width="0.35433069"/>
+		<path id="bottom_mount_5" d="m465.77,242.89,0-7.0867,17.717,0,0,7.0867z" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="bottom_hole_power" d="m485.96,248.92-0.00001,8.8583c-0.001,0.48949-0.39722,0.88584-0.88583,0.88584l-17.717-0.00001c-0.48948-0.001-0.88583-0.39722-0.88583-0.88583v-8.8583c0.001-0.4895,0.39722-0.88584,0.88583-0.88583h17.717c0.48948,0.001,0.88583,0.39722,0.88583,0.88583z" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="bottom_hole_top" d="m520.69,299.14c2.2015,0,3.9862,1.7847,3.9862,3.9862s-1.7847,3.9862-3.9862,3.9862-3.9862-1.7847-3.9862-3.9862,1.7847-3.9862,3.9862-3.9862z" stroke-dashoffset="0" stroke-width="0.35433075"/>
+		<path id="hole_bottom_top" d="m552.14,253.52c0,1.7123-1.3881,3.1004-3.1004,3.1004s-3.1004-1.3881-3.1004-3.1004,1.3881-3.1004,3.1004-3.1004,3.1004,1.3881,3.1004,3.1004" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="bottom_hole_bottom" d="m577.38,299.14c2.2015,0,3.9862,1.7847,3.9862,3.9862s-1.7847,3.9862-3.9862,3.9862-3.9862-1.7847-3.9862-3.9862,1.7847-3.9862,3.9862-3.9862z" stroke-dashoffset="0" stroke-width="0.35433075"/>
+		<path id="bottom_mount_6" d="m614.59,242.89,0-7.0867,17.717,0,0.00001,7.0867z" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="bottom_mount_7" d="m639.39,260.61,0-17.717,7.0866-0.00007,0,17.717z" stroke-dashoffset="0" stroke-width="0.35433069"/>
+		<path id="bottom_mount_8" d="m641.16,430.69,0-17.717,7.0866-0.00007,0,17.717z" stroke-dashoffset="0" stroke-width="0.35433069"/>
+		<path id="bottom_mount_9" d="m639.39,600.77,0-17.717,7.0866-0.00007,0,17.717z" stroke-dashoffset="0" stroke-width="0.35433069"/>
+		<path id="bottom_mount_10" d="m614.59,607.85,0-7.0866,17.717,0-0.00001,7.0866z" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="hole_bottom_bot" d="m552.14,594.57c0,1.7123-1.3881,3.1004-3.1004,3.1004s-3.1004-1.3881-3.1004-3.1004,1.3881-3.1004,3.1004-3.1004,3.1004,1.3881,3.1004,3.1004" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="bottom_mount_1" d="m465.77,607.85,0-7.0866,17.717,0,0,7.0866z" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="side_top" d="m184.07,260.61,0-17.717-14.173,0.00007,0-5.315-7.0866,0,0,5.315-14.173,0,0,17.717,7.0866,0,0,152.36-7.0866,0,0,17.717,7.0866,0,0,152.36-7.0866,0,0,17.717,14.173,0,0,5.315,7.0866,0,0-5.315,14.173-0.00007,0-17.717-7.0866,0,0-152.36,7.0866,0,0-17.717-7.0866,0,0-152.36z" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="side_right" d="m242.54,186.2,0-7.0866-17.717,0,0,7.0866-12.402,0,0.00003,7.0866,5.3149,0,0,7.0867-5.315,0,0.00003,7.0866,12.402,0,0,7.0866,17.717,0-0.00001-7.0866,131.1,0,0,7.0866,17.717,0-0.00001-7.0866,12.402,0-0.00003-7.0866-5.315,0,0-7.0867,5.315,0-0.00003-7.0866-12.402,0,0-7.0866-17.717,0,0,7.0866-70.866,0,0,5.315-5.315,0,0-5.315z" stroke-dasharray="none" stroke-width="0.35433072"/>
+		<path id="side_left" d="m632.3,186.2,0-7.0866-17.717,0,0,7.0866-131.1,0,0-7.0866-17.717,0,0,7.0866-12.402,0,0,7.0866,5.315,0,0,7.0866-5.315,0,0.00003,7.0866,12.402,0,0,7.0866,17.717,0-0.00001-7.0866,131.1,0,0,7.0866,17.717,0,0-7.0866,12.402,0-0.00003-7.0866-5.315,0,0-7.0866,5.315,0,0-7.0866z" stroke-dashoffset="0" stroke-width="0.35433069"/>
+		<path id="side_bottom" d="m708.48,260.61,0-17.717-14.173,0,0-5.315-7.0866,0,0,5.315-14.173-0.00007,0,17.717,7.0866,0,0,152.36-7.0866,0,0,17.717,7.0866,0,0,152.36-7.0866,0,0,17.717,14.173,0.00007,0,5.315,7.0866,0,0-5.315,14.173,0,0-17.717-7.0866,0,0-152.36,7.0866,0,0-17.717-7.0866,0,0-152.36z" stroke-dashoffset="0" stroke-width="0.35433072"/>
+		<path id="contour_bottom" d="m657.11,232.26s7.0868,126.38,7.0866,189.57c-0.00016,63.189-7.0876,189.57-7.0876,189.57-0.2254,4.0043-3.0882,6.7592-7.0852,7.0866,0,0-67.323,3.5435-100.98,3.5433-33.661-0.00017-100.98-3.5443-100.98-3.5443-3.9968-0.33841-6.8478-3.082-7.0866-7.0852,0,0-7.087-126.38-7.087-189.57,0-63.189,7.088-189.57,7.088-189.57,0.23758-4.0037,3.0886-6.7462,7.085-7.0868,0,0,67.323-3.5433,100.98-3.5433,33.661,0,100.98,3.5433,100.98,3.5433,3.9973,0.32857,6.8337,3.0838,7.0866,7.0 [...]
+		<path id="contour_top" d="m409.08,225.18s-67.323-3.5433-100.98-3.5433c-33.661,0-100.98,3.5433-100.98,3.5433-3.9953,0.35166-6.8465,3.083-7.0866,7.0852,0,0-7.0868,126.38-7.0866,189.57,0.00016,63.189,7.0876,189.57,7.0876,189.57,0.22622,4.0043,3.0891,6.7484,7.0852,7.0866,0,0,67.323,3.5435,100.98,3.5433,33.661-0.00017,100.98-3.5443,100.98-3.5443,3.9966-0.34087,6.8314-3.083,7.0866-7.0852,0,0,7.087-126.38,7.087-189.57,0-63.189-7.088-189.57-7.088-189.57-0.23882-4.0036-3.0896-6.7358-7.085-7.086 [...]
+		<path id="contour_bottom" d="m657.11,232.26s7.0868,126.38,7.0866,189.57c-0.00016,63.189-7.0876,189.57-7.0876,189.57-0.2254,4.0043-3.0882,6.7592-7.0852,7.0866,0,0-67.323,3.5435-100.98,3.5433-33.661-0.00017-100.98-3.5443-100.98-3.5443-3.9968-0.33841-6.8478-3.082-7.0866-7.0852,0,0-7.087-126.38-7.087-189.57,0-63.189,7.088-189.57,7.088-189.57,0.23758-4.0037,3.0886-6.7462,7.085-7.0868,0,0,67.323-3.5433,100.98-3.5433,33.661,0,100.98,3.5433,100.98,3.5433,3.9973,0.32857,6.8337,3.0838,7.0866,7.0 [...]
+	</g>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/casing2.svg b/svg-example/res/com/kitfox/svg/example/casing2.svg
new file mode 100644
index 0000000..19b0f19
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/casing2.svg
@@ -0,0 +1,838 @@
+<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   sodipodi:docname="casing2.svg"
+   inkscape:version="0.48.1 r9760"
+   version="1.1"
+   id="svg2"
+   height="450"
+   width="566.92914">
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.8777778"
+     inkscape:cx="283.46457"
+     inkscape:cy="225"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     units="mm"
+     inkscape:window-width="1920"
+     inkscape:window-height="1026"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     fit-margin-top="5"
+     fit-margin-right="5"
+     fit-margin-left="5"
+     fit-margin-bottom="5"
+     inkscape:snap-global="true"
+     inkscape:snap-grids="true">
+    <inkscape:grid
+       spacingy="0.125mm"
+       spacingx="0.125mm"
+       snapvisiblegridlinesonly="true"
+       enabled="true"
+       visible="true"
+       empspacing="4"
+       units="mm"
+       id="grid2985"
+       type="xygrid" />
+  </sodipodi:namedview>
+  <defs
+     id="defs4" />
+  <metadata
+     id="metadata7">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     style="display:inline;photonsaw-power:80;photonsaw-speed:32;photonsaw-passes:1;photonsaw-assistair:1"
+     transform="translate(0,-116.92918)"
+     inkscape:label="Engraving"
+     id="layer2"
+     inkscape:groupmode="layer">
+    <text
+       transform="matrix(0,-1,1,0,0,0)"
+       sodipodi:linespacing="125%"
+       id="text4018"
+       y="203.78191"
+       x="-529.70911"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Century Schoolbook L;-inkscape-font-specification:Century Schoolbook L Medium"
+       xml:space="preserve"><tspan
+         y="203.78191"
+         x="-529.70911"
+         id="tspan4020"
+         sodipodi:role="line" /></text>
+    <path
+       inkscape:connector-curvature="0"
+       id="path4034"
+       d="m 109.8425,531.49604 5.31496,0 0,-35.43308 -5.31496,0"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4034-9"
+       d="m 109.8425,492.07674 5.31496,0 0,-35.43306 -5.31496,0"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4034-7"
+       d="m 109.8425,452.65746 5.31496,0 0,-35.43307 -5.31496,0"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4034-6"
+       d="m 109.8425,413.23817 5.31496,0 0,-35.43307 -5.31496,0"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4034-3"
+       d="m 109.8425,373.81887 5.31496,0 0,-35.43307 -5.31496,0"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       sodipodi:nodetypes="cccc"
+       inkscape:connector-curvature="0"
+       id="path4034-96"
+       d="m 109.8425,333.07085 5.31496,0 0,-26.57481 -5.31496,0"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path4127"
+       d="m 115.15748,313.58272 -5.31498,-7e-5"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <g
+       id="g5324"
+       transform="matrix(-0.87,0,0,0.87,221.91426,224.13005)"
+       inkscape:label="Hershey Text"
+       style="stroke-width:0.40727669;stroke-miterlimit:4;stroke-dasharray:none">
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.40727669;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 4,9 c 0,-7 0,-14 0,-21 3.2480957,0.160727 6.601847,-0.329626 9.780324,0.260108 1.950668,0.303193 3.501877,1.541411 4.077989,3.4565183 0.759844,2.491656 -0.981614,5.5721311 -3.67907,5.8902927 C 11.252569,-1.5423303 8.0788505,-2.213937 5.0488359,-2 4.6992239,-2 4.349612,-2 4,-2 m 7,0 c 2.333333,3.6666667 4.666667,7.3333333 7,11"
+         id="path5326"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.40727669;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 25,9 c 0,-7 0,-14 0,-21 4.333333,0 8.666667,0 13,0 M 25,-2 c 2.666667,0 5.333333,0 8,0"
+         id="path5328"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.40727669;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 42,-12 c 4.666667,0 9.333333,0 14,0 -3.333333,7 -6.666667,14 -10,21"
+         id="path5330"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.40727669;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 77,2 c -5,0 -10,0 -15,0 3.333333,-4.6666667 6.666667,-9.3333333 10,-14 0,7 0,14 0,21"
+         id="path5332"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.40727669;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 82,-5 c 3.666667,4.66666667 7.333333,9.3333333 11,14 M 93,-5 C 89.333333,-0.33333333 85.666667,4.3333333 82,9"
+         id="path5334"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.40727669;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 99,-5 c 3.66667,4.66666667 7.33333,9.3333333 11,14 m 0,-14 c -3.66667,4.66666667 -7.33333,9.3333333 -11,14"
+         id="path5336"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.40727669;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 117,-12 c 0,7 0,14 0,21"
+         id="path5338"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.40727669;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 132,9 c 1.84675,-0.485956 3.60156,-1.1206803 4.74486,-2.7448586 C 138.44434,3.7775711 139.3115,0.72434508 139,-2.2901369 139.11175,-4.8064983 138.04673,-7.375987 136.61225,-9.3877463 134.93504,-11.666293 131.92792,-12.198414 129.25822,-12 127.9793,-11.585335 124.95857,-12.912484 125,-11.177466 125,-4.4516439 125,2.2741781 125,9 c 2.33333,0 4.66667,0 7,0 z"
+         id="path5340"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       inkscape:label="Hershey Text"
+       transform="matrix(-0.45,0,0,0.45,203.76852,254.31737)"
+       id="g5504"
+       style="stroke-width:0.78740156;stroke-miterlimit:4;stroke-dasharray:none">
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.78740156;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 4,-2 c 3.0369412,-0.026072 6.090803,0.052123 9.117178,-0.039059 1.000239,-0.4091662 2.156472,-0.5659282 3.057501,-1.1356193 C 17.107636,-3.9139228 17.576292,-5.0623608 18,-6.1235164 17.968203,-7.0708818 18.189438,-8.0779799 17.558094,-8.8838114 17.106915,-9.9876376 16.303462,-11.091208 15.062576,-11.312475 13.946481,-11.691535 12.846424,-12.169431 11.64132,-12 9.0942131,-12 6.5471065,-12 4,-12 4,-5 4,2 4,9 m 7,-11 c 2.333333,3.6666667 4.666667,7.3333333 7,11"
+         id="path5506"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.78740156;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 22,9 c 2.666667,-7 5.333333,-14 8,-21 2.666667,7 5.333333,14 8,21 M 25,2 c 3.333333,0 6.666667,0 10,0"
+         id="path5508"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.78740156;stroke-miterlimit:4;stroke-dasharray:none"
+         d="M 61,-12 C 59.333333,-5 57.666667,2 56,9 54.333333,2 52.666667,-5 51,-12 49.333333,-5 47.666667,2 46,9 44.333333,2 42.666667,-5 41,-12"
+         id="path5510"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g5680"
+       transform="matrix(-0.45,0,0,0.45,147.0756,254.31737)"
+       inkscape:label="Hershey Text"
+       style="stroke-width:0.78740156;stroke-miterlimit:4;stroke-dasharray:none">
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.78740156;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 4,9 c 0,-7 0,-14 0,-21 3.0330353,0.02346 6.081282,-0.04682 9.104855,0.03495 0.999949,0.401619 2.140359,0.575969 3.051454,1.121357 C 17.100155,-10.133127 17.47082,-9.0094382 18,-8 c -0.03491,1.0286013 0.06859,2.0898757 -0.04943,3.0988583 -0.50719,0.9896406 -0.886178,2.0716842 -1.810269,2.7608396 C 15.18813,-1.6071431 14.031734,-1.404425 13,-1 10,-1 7,-1 4,-1"
+         id="path5682"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.78740156;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 25,-12 c 0,7 0,14 0,21 4,0 8,0 12,0"
+         id="path5684"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.78740156;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 42,-12 c 0,7 0,14 0,21 4,0 8,0 12,0"
+         id="path5686"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       inkscape:label="Hershey Text"
+       transform="matrix(-0.5625,0,0,0.5625,190.5945,306.37652)"
+       id="g5864"
+       style="stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none">
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 17,-12 c -4.333333,0 -8.6666667,0 -13,0 0,7 0,14 0,21 4.3333333,0 8.666667,0 13,0 M 4,-2 c 2.6666667,0 5.3333333,0 8,0"
+         id="path5866"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 23,-5 c 0,4.66666667 0,9.3333333 0,14 m 0,-10 c 1.869575,-1.813638 3.763224,-4.4849751 6.715753,-4 1.275778,-0.1026917 3.12256,0.3813187 3.516776,1.6975884 C 34.591031,-0.26280514 33.784027,3.1282145 34,6.3532277 34,7.2354852 34,8.1177426 34,9"
+         id="path5868"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="M 53,-2 C 51.494129,-3.7304232 49.503664,-5.4582928 47.039139,-5 44.882706,-5.1247852 43.117863,-3.3503887 41.92249,-1.7674705 41.02465,0.3373753 40.518819,2.7225401 41.620079,4.8602358 42.187505,6.8857471 44.144602,8.1984447 46,9 47.660503,9.0291557 49.356221,9.2074836 50.753847,8.1230764 51.601496,7.573884 52.237828,6.6723375 53,6"
+         id="path5870"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 64,-5 c -2.129692,0.8699861 -4.18739,2.491163 -4.620079,4.86023582 C 58.476856,1.9872486 59.201742,4.5027307 60.346634,6.3466345 61.732361,7.9970259 63.700734,9.4039031 65.960861,9 68.117294,9.1247852 69.882137,7.3503887 71.07751,5.7674705 71.97535,3.6626247 72.481181,1.2774599 71.379921,-0.86023582 70.812495,-2.8857471 68.855398,-4.1984447 67,-5 c -1,0 -2,0 -3,0 z"
+         id="path5872"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 90,-12 c 0,7 0,14 0,21 M 90,-2 C 88.494129,-3.7304232 86.503664,-5.4582928 84.039139,-5 81.882706,-5.1247852 80.117863,-3.3503887 78.92249,-1.7674705 78.02465,0.3373753 77.518819,2.7225401 78.620079,4.8602358 79.187505,6.8857471 81.144602,8.1984447 83,9 84.660503,9.0291557 86.356221,9.2074836 87.753847,8.1230764 88.601496,7.573884 89.237828,6.6723375 90,6"
+         id="path5874"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 97,1 c 4,0 8,0 12,0 0.39527,-2.4644989 -1.15773,-4.9893886 -3.53462,-5.7673081 -1.25773,-0.3723672 -2.89875,-0.4523588 -4.12307,0.096154 -1.994541,0.8539763 -3.647157,2.5895343 -4.039898,4.763919 -0.789729,2.0691674 -0.05152,4.4782887 1.044222,6.2538692 C 99.732361,7.9970259 101.70073,9.4039031 103.96086,9 106.07229,9.1813256 107.66444,7.3857859 109,6"
+         id="path5876"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 116,-5 c 0,4.66666667 0,9.3333333 0,14 m 0,-8 c 0.50994,-1.73214808 0.99482,-3.4797873 2.55986,-4.5598552 1.34568,-1.4014887 3.29063,-1.6177314 5.13632,-1.4401448 l 0.24511,0 0.0587,0"
+         id="path5878"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       inkscape:label="Hershey Text"
+       transform="matrix(-0.5625,0,0,0.5625,204.21377,358.03371)"
+       id="g9063"
+       style="stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none">
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="M 4,-12 C 4,-5 4,2 4,9"
+         id="path9065"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="M 19,9 C 21.451171,8.5076367 23.709662,7.091109 24.653998,4.692004 26.189431,1.9439297 26.178829,-1.2445197 25.907511,-4.2774679 25.069598,-7.480371 23.413296,-11.154218 19.780257,-11.739914 17.266742,-12.319002 14.58264,-11.846879 12,-12 c 0,7 0,14 0,21 2.333333,0 4.666667,0 7,0 z"
+         id="path9067"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d=""
+         id="path9069"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 54,-12 c -1.822448,0.471914 -3.581108,1.027342 -4.297896,2.9468433 C 48.395801,-7.157121 48.393731,-4.6284734 48,-2.4150464 c -0.09316,2.66596911 0.389733,5.4483371 1.324474,7.9017572 0.89057,1.6183821 1.906576,3.0725386 3.895269,3.2532035 1.96472,0.7105451 4.268246,0.00358 5.942494,-0.9832697 1.424471,-1.7212942 2.282431,-3.6772452 2.468717,-5.9114127 0.893915,-3.3436741 0.120691,-6.8646863 -0.793191,-10.0885873 -0.9855,-1.4940962 -1.75104,-3.2761746 -3.780038,-3.4040696 C [...]
+         id="path9071"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 74,-12 c -1.822448,0.471914 -3.581108,1.027342 -4.297895,2.9468433 C 68.395801,-7.157121 68.393731,-4.6284734 68,-2.4150464 c -0.09316,2.66596911 0.389733,5.4483371 1.324474,7.9017572 0.890571,1.6183821 1.906576,3.0725386 3.895269,3.2532035 1.96472,0.7105451 4.268246,0.00358 5.942494,-0.9832697 1.424471,-1.7212942 2.282431,-3.6772452 2.468717,-5.9114127 0.893915,-3.3436741 0.120691,-6.8646863 -0.793191,-10.0885873 C 79.852264,-9.7374516 79.086723,-11.51953 77.057725,-11.647 [...]
+         id="path9073"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 89,0 c 6,0 12,0 18,0"
+         id="path9075"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 120,-12 c -1.82245,0.471914 -3.58111,1.027342 -4.2979,2.9468433 -1.3063,1.8960357 -1.30837,4.4246833 -1.7021,6.6381103 -0.0932,2.66596911 0.38973,5.4483371 1.32447,7.9017572 0.89057,1.6183821 1.90658,3.0725386 3.89527,3.2532035 1.96472,0.7105451 4.26825,0.00358 5.9425,-0.9832697 1.42447,-1.7212942 2.28243,-3.6772452 2.46871,-5.9114127 0.89392,-3.3436741 0.12069,-6.8646863 -0.79319,-10.0885873 -0.9855,-1.4940962 -1.75104,-3.2761746 -3.78003,-3.4040696 C 122.08518,-12.134378  [...]
+         id="path9077"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 134,-12 c 4.66667,0 9.33333,0 14,0 -3.33333,7 -6.66667,14 -10,21"
+         id="path9079"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g9291"
+       transform="matrix(-0.5625,0,0,0.5625,204.22795,395.63174)"
+       inkscape:label="Hershey Text"
+       style="stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none">
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="M 4,-12 C 4,-5 4,2 4,9"
+         id="path9293"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 12,-12 c 3.479961,0.212814 7.424736,-0.758896 10.413625,1.413625 C 25.180016,-8.2118281 26.292012,-4.3357887 26,-0.7827552 26.101824,1.849718 25.037753,4.6134034 23.379563,6.620437 21.00932,9.6349418 16.837657,8.9385224 13.442941,9 10.946455,9.6506142 12.36917,6.3820268 12,4.9053248 12,-0.72978347 12,-6.3648917 12,-12 z"
+         id="path9295"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d=""
+         id="path9297"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 54,-12 c -1.822448,0.471914 -3.581108,1.027342 -4.297896,2.9468433 C 48.395801,-7.157121 48.393731,-4.6284734 48,-2.4150464 c -0.09316,2.66596911 0.389733,5.4483371 1.324474,7.9017572 0.89057,1.6183821 1.906576,3.0725386 3.895269,3.2532035 1.96472,0.7105451 4.268246,0.00358 5.942494,-0.9832697 1.424471,-1.7212942 2.282431,-3.6772452 2.468717,-5.9114127 0.893915,-3.3436741 0.120691,-6.8646863 -0.793191,-10.0885873 -0.9855,-1.4940962 -1.75104,-3.2761746 -3.780038,-3.4040696 C [...]
+         id="path9299"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 73,-12 c -1.786519,0.477472 -3.582309,0.944256 -4,3 -0.315461,2.0922356 0.64402,4.3789276 2.831194,4.9155972 3.100833,1.0677955 6.95074,1.0485207 9.030117,3.94571376 1.909864,2.41317874 1.58514,6.57228214 -1.138779,8.23117834 -3.13453,1.3374432 -6.940459,1.3534061 -9.929344,-0.2993016 -2.593055,-2.2306001 -2.452815,-6.7213048 0.240874,-8.8272493 2.487928,-2.5196499 6.609931,-1.9157675 9.535533,-3.750736 1.90635,-1.4203253 1.925914,-4.7995553 0.152937,-6.3076914 C 77.534875, [...]
+         id="path9301"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 89,0 c 6,0 12,0 18,0"
+         id="path9303"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 117,-8 c 2.11917,-0.705523 3.44486,-2.511929 5,-4 0,7 0,14 0,21"
+         id="path9305"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 146,-12 c -3.33333,0 -6.66667,0 -10,0 -0.33333,3 -0.66667,6 -1,9 1.8466,-1.9874734 5.00388,-2.3328399 7.55494,-1.8150214 2.58366,0.451185 4.74352,2.4114723 5.18497,5.03476424 0.83185,2.74750146 -0.33573,5.91792486 -2.60122,7.64156816 -2.91421,1.560305 -6.80831,1.6589123 -9.55231,-0.2749357 C 134.75859,6.9370436 134.51099,5.8780594 134,5"
+         id="path9307"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       inkscape:label="Hershey Text"
+       transform="matrix(-0.5625,0,0,0.5625,204.24212,435.92977)"
+       id="g9537"
+       style="stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none">
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="M 4,-12 C 4,-5 4,2 4,9"
+         id="path9539"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 12,-12 c 3.479961,0.212814 7.424736,-0.758896 10.413625,1.413625 C 25.180016,-8.2118281 26.292012,-4.3357887 26,-0.7827552 26.101824,1.849718 25.037753,4.6134034 23.379563,6.620437 21.00932,9.6349418 16.837657,8.9385224 13.442941,9 10.946455,9.6506142 12.36917,6.3820268 12,4.9053248 12,-0.72978347 12,-6.3648917 12,-12 z"
+         id="path9541"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d=""
+         id="path9543"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 51,-8 c 2.119167,-0.705523 3.444862,-2.511929 5,-4 0,7 0,14 0,21"
+         id="path9545"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 81,-9 c -0.410801,-2.063689 -2.216347,-2.519224 -4,-3 -1.82211,-0.09659 -4.019179,0.239741 -5.324474,1.486711 -1.591265,1.7557243 -2.101701,3.9591431 -2.421198,6.2416513 C 68.661766,-0.8496197 68.917182,2.6923533 70,6 c 1.425587,1.8847361 3.645358,2.9937476 6,3 2.372149,-0.5250954 4.895603,-1.8318719 5.462446,-4.3873393 1.074488,-1.9597974 0.254681,-4.33994448 -0.876071,-6.0262854 -1.348593,-1.7454658 -3.698192,-2.737838 -5.863843,-2.493886 -2.534633,0.4782334 -4.911718,2.1 [...]
+         id="path9547"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 89,0 c 6,0 12,0 18,0"
+         id="path9549"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 115,-7 c -0.0725,-3.180039 3.29344,-5.602409 6.33981,-5 3.8573,-0.617261 7.34047,4.2962862 4.87539,7.5695952 -2.51676,4.678995 -6.96408,7.8287225 -10.48769,11.7028979 C 113.27602,9.029076 114.56778,9.2351518 116.92477,9 120.61651,9 124.30826,9 128,9"
+         id="path9551"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 136,-12 c 3.66667,0 7.33333,0 11,0 -2,2.6666667 -4,5.3333333 -6,8 2.29672,-0.2747045 5.19527,0.1982284 6.18498,2.5549357 1.26154,2.5052843 1.01712,5.6225699 -0.5986,7.858689 -1.91709,2.478735 -5.52228,3.0867004 -8.41878,2.3089074 C 136.00366,8.3956138 134.70706,7.0216788 134,5"
+         id="path9553"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g9801"
+       transform="matrix(-0.5625,0,0,0.5625,203.87627,475.40576)"
+       inkscape:label="Hershey Text"
+       style="stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none">
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="M 4,-12 C 4,-5 4,2 4,9"
+         id="path9803"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 12,-12 c 3.417668,0.177977 7.135409,-0.649434 10.198424,1.198424 2.261907,1.7703473 3.35118,4.6273409 3.801576,7.3628048 0.139883,2.8194556 0.05417,5.6730374 -1.376484,8.1917386 C 23.723112,6.8353675 21.859719,8.4090532 19.604072,8.7986426 17.134317,9.2659134 14.524148,8.8679162 12,9 12,2 12,-5 12,-12 z"
+         id="path9805"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d=""
+         id="path9807"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 49,-7 c -0.07038,-2.9967783 3.026646,-5.505045 5.964301,-5 C 58.192568,-12.590288 61.466069,-9.5942295 61,-6.3163136 59.421667,-1.4449021 55.051345,1.7307713 51.650421,5.3495791 50.433614,6.566386 49.216807,7.783193 48,9 c 4.666667,0 9.333333,0 14,0"
+         id="path9809"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 83,2 c -5,0 -10,0 -15,0 3.333333,-4.6666667 6.666667,-9.3333333 10,-14 0,7 0,14 0,21"
+         id="path9811"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 89,0 c 6,0 12,0 18,0"
+         id="path9813"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 116,-12 c 3.66667,0 7.33333,0 11,0 -2,2.6666667 -4,5.3333333 -6,8 2.2388,-0.2461908 4.88282,0.1529303 6.08874,2.2662142 0.99127,2.18122737 1.33807,4.6597983 0.20136,6.8634994 -0.64656,1.8782522 -2.48444,3.2082757 -4.41981,3.5801909 -2.38657,0.706182 -5.23472,0.2903671 -7.26714,-1.1067532 C 114.75049,6.9572369 114.52233,5.8851085 114,5"
+         id="path9815"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 137,-8 c 2.11496,-0.71136 3.44659,-2.509536 5,-4 0,7 0,14 0,21"
+         id="path9817"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       inkscape:label="Hershey Text"
+       transform="matrix(-0.5625,0,0,0.5625,183.87298,515.24626)"
+       id="g10083"
+       style="stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none">
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="M 1,-12 C 3.6666667,-5 6.3333333,2 9,9 11.666667,2 14.333333,-5 17,-12"
+         id="path10085"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 21,1 c 4,0 8,0 12,0 0.294653,-1.94759022 -0.586411,-3.9795866 -2.196744,-5.098372 C 29.54206,-5.0192159 28.087995,-5.1230547 26.580369,-5 c -1.950005,0.1592915 -3.521596,1.7348573 -4.649929,3.2086785 -0.847524,2.04815161 -1.439921,4.3689742 -0.373964,6.4607498 0.313896,1.6213905 1.726526,2.7726423 3.033756,3.6256877 1.334321,0.9873037 3.080775,0.7610743 4.606512,0.606512 C 30.807179,8.3468712 31.854204,7.2036106 33,6"
+         id="path10087"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 40,-5 c 0,4.66666667 0,9.3333333 0,14 m 0,-8 c 0.548008,-1.53844043 0.780181,-3.2720775 2.244318,-4.2443184 C 43.432981,-4.5633798 45.20894,-5.2656101 46.979698,-5 47.319799,-5 47.6599,-5 48,-5"
+         id="path10089"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 63,-2 c -0.493682,-1.3088976 -1.126792,-2.4570337 -2.669428,-2.5564761 -2.204841,-0.86819 -4.692735,-0.5095789 -6.834714,0.3911902 -0.946767,0.4852161 -1.925692,2.1665418 -1.003998,3.149006 0.531504,1.62882665 2.522375,2.01161888 4.018004,2.3182527 1.909743,0.4250155 4.104319,0.5416071 5.588508,1.8947712 0.690001,1.1497575 1.41614,2.5765058 0.409768,3.7869761 C 62.146968,8.5876846 60.207526,8.3718892 59,9 57.099272,9.1285602 55.24546,8.9680089 53.495858,8.1652859 52.575139, [...]
+         id="path10091"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 69,-12 c 0.574476,1.816993 2.912002,0.05673 1.222301,-0.777699 C 69.868177,-13.357054 69.373977,-12.152957 69,-12 z m 1,7 c 0,4.66666667 0,9.3333333 0,14"
+         id="path10093"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 82,-5 c -1.68839,0.6710688 -3.256262,1.8466692 -4.139119,3.4173571 -0.843799,1.97925104 -1.318135,4.2361468 -0.304405,6.2520712 0.313896,1.6213905 1.726526,2.7726423 3.033756,3.6256877 1.334321,0.9873037 3.080775,0.7610743 4.606512,0.606512 1.624268,-0.637256 3.090031,-1.8290402 3.942375,-3.3189851 0.843799,-1.979251 1.318135,-4.2361468 0.304405,-6.2520712 C 89.129628,-2.2908188 87.716998,-3.4420706 86.409768,-4.295116 85.07235,-5.3226538 83.562806,-4.9368235 82,-5 z"
+         id="path10095"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 97,-5 c 0,4.66666667 0,9.3333333 0,14 m 0,-10 c 1.809212,-1.6850145 3.53103,-4.3030746 6.3198,-4 1.35031,-0.1940395 2.83426,0.2852871 3.74976,1.2086785 0.72372,1.743192 1.13438,3.53718737 0.93044,5.4309194 0,2.4534674 0,4.9069347 0,7.3604021"
+         id="path10097"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g12946"
+       transform="matrix(-1,0,0,1,464.95079,362.87406)"
+       inkscape:label="Hershey Text"
+       style="stroke-width:0.35433072;stroke-miterlimit:4;stroke-dasharray:none">
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m -5.5511816,-4.3149583 c 1.4948684,-2.3300454 2.2912158,-1.3685102 2.806296,0.9184166 2.60787507,6.7804752 5.2157502,13.5609507 7.8236253,20.3414257 3.5616798,-10.03937 7.1233593,-20.07874 10.6850393,-30.11811 39.180594,0.02797 78.361187,0.05594 117.541781,0.08391 0.54644,0.762057 1.09288,1.524114 1.63932,2.286171"
+         id="path12948"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 33,-5 c 0,4.66666667 0,9.3333333 0,14 m 0,-11 c -1.562352,-1.8849187 -3.728749,-3.4910716 -6.305744,-3 -2.502292,0.2725798 -4.820764,2.4298543 -5.332254,4.91399325 -1.20368,3.32819515 0.636816,7.41130215 3.926948,8.73048185 2.373583,0.9985324 5.346001,0.2201536 6.933855,-1.8672805 C 32.48187,6.5181297 32.740935,6.2590649 33,6"
+         id="path12950"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-miterlimit:4;stroke-dasharray:none"
+         d="M 52,-5 C 51.93855,0.41943378 52.122458,5.8786842 51.90886,11.273428 51.469662,13.248837 50.581774,15.199691 48.453263,15.77337 46.665357,16.317968 44.570035,16.102523 43,15 m 9,-17 c -1.562352,-1.8849187 -3.728749,-3.4910716 -6.305744,-3 -2.502292,0.2725798 -4.820764,2.4298543 -5.332254,4.91399325 -1.20368,3.32819515 0.636816,7.41130215 3.926948,8.73048185 2.373583,0.9985324 5.346001,0.2201536 6.933855,-1.8672805 C 51.48187,6.5181297 51.740935,6.2590649 52,6"
+         id="path12952"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 60,-5 c 0,4.66666667 0,9.3333333 0,14 m 0,-8 c 0.496222,-2.4421325 1.897723,-4.6973178 4.28895,-5.6444751 C 65.373181,-5.3326523 66.778705,-4.8620627 68,-5"
+         id="path12954"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 72,1 c 4,0 8,0 12,0 0.596175,-3.3712886 -2.648792,-6.6029177 -6.017526,-6 -2.249229,-0.00977 -4.396636,1.8470755 -5.255902,3.8202828 -1.441549,2.9341615 -0.686192,6.793095 1.903835,8.8101244 2.419889,2.2425007 6.616013,1.795077 8.592398,-0.8532126 C 83.48187,6.5181297 83.740935,6.2590649 84,6"
+         id="path12956"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 102,-5 c 0,4.66666667 0,9.3333333 0,14 m 0,-11 c -1.56235,-1.8849187 -3.728749,-3.4910716 -6.305744,-3 -2.502292,0.2725798 -4.820764,2.4298543 -5.332254,4.91399325 -1.20368,3.32819515 0.636816,7.41130215 3.926948,8.73048185 2.373583,0.9985324 5.346001,0.2201536 6.93386,-1.8672805 C 101.48187,6.5181297 101.74094,6.2590649 102,6"
+         id="path12958"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 110,-5 c 0,4.66666667 0,9.3333333 0,14 m 0,-8 c 0.49622,-2.4421325 1.89772,-4.6973178 4.28895,-5.6444751 C 115.37318,-5.3326523 116.77871,-4.8620627 118,-5"
+         id="path12960"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 134,-5 c -0.0615,5.41943378 0.12246,10.8786842 -0.0911,16.273428 -0.4392,1.975409 -1.32709,3.926263 -3.4556,4.499942 C 128.66536,16.317968 126.57003,16.102523 125,15 m 9,-17 c -1.56235,-1.8849187 -3.72875,-3.4910716 -6.30574,-3 -2.5023,0.2725798 -4.82077,2.4298543 -5.33226,4.91399325 -1.20368,3.32819515 0.63682,7.41130215 3.92695,8.73048185 2.37358,0.9985324 5.346,0.2201536 6.93386,-1.8672805 C 133.48187,6.5181297 133.74094,6.2590649 134,6"
+         id="path12962"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       inkscape:label="Hershey Text"
+       transform="matrix(-0.3,0,0,0.3,467.87054,349.83945)"
+       id="g13279"
+       style="stroke-width:1.1811024;stroke-miterlimit:4;stroke-dasharray:none">
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1.1811024;stroke-miterlimit:4;stroke-dasharray:none"
+         d="M 6,-8 C 6.8882341,-8.5097904 7.9534209,-8.7740721 8.6080174,-9.6080174 9.405345,-10.405345 10.202672,-11.202672 11,-12 c 0,7 0,14 0,21"
+         id="path13281"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1.1811024;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 25,-12 c 3.666667,0 7.333333,0 11,0 -2,2.6666667 -4,5.3333333 -6,8 1.020409,0.023921 2.063314,-0.04745 3.069917,0.034959 0.867609,0.4944186 1.902435,0.7568357 2.5381,1.5730589 0.633897,0.4755062 0.628868,1.3458896 0.93581,2.02346458 C 36.78452,0.35989324 37.112504,1.0741392 37,1.8598665 37.038775,2.558882 37.005734,3.2462434 36.703367,3.8898993 36.439572,4.6049455 36.25972,5.371871 35.944726,6.0552743 35.264983,6.7007831 34.637234,7.4304203 33.925842,8.0247194 32.895739,8.3 [...]
+         id="path13283"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none;display:inline"
+       id="g13614"
+       transform="matrix(-0.5625,0,0,0.5625,198.38533,324.81058)"
+       inkscape:label="Hershey Text">
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 4,-2 c 3.1616005,0.1164159 6.398568,-0.2315975 9.51369,0.17123 1.869122,0.3884193 3.664626,1.30401727 4.212777,3.2817044 0.56014,1.6731928 0.475542,3.7347249 -0.574012,5.2421557 C 16.062026,8.5030345 13.610022,8.9589517 11.646308,9 9.0975389,9 6.5487694,9 4,9 4,2 4,-5 4,-12 c 3.1616005,0.116416 6.398568,-0.231598 9.51369,0.17123 1.869122,0.388419 3.664626,1.304017 4.212777,3.2817044 1.0227,2.3700359 -0.625794,5.6689505 -3.267537,6.0607555 C 13.97262,-2.3242068 13.48631,-2.1 [...]
+         id="path13616"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 36,-5 c 0,4.66666667 0,9.3333333 0,14 M 36,-2 C 34.463115,-3.8210965 32.366372,-5.487163 29.834093,-5 27.720244,-4.967859 25.814408,-3.2219714 24.82877,-1.4863101 23.795445,0.68096209 23.689866,3.138637 24.770535,5.3116044 25.614474,7.1147311 27.527925,8.7330926 29.541477,9 31.775965,9.3720496 33.956365,8.4341371 35.340086,6.6599136 35.560058,6.4399424 35.780029,6.2199712 36,6"
+         id="path13618"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="M 44,-5 C 44.111013,-1.5041893 43.775917,2.0640147 44.17123,5.5136899 44.496226,7.2117183 45.208993,8.5734359 47,9 49.08571,9.2015285 51.353256,8.9696181 52.765764,7.2342364 53.510509,6.4894909 54.255254,5.7447455 55,5 m 0,-10 c 0,4.66666667 0,9.3333333 0,14"
+         id="path13620"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 74,-12 c 0,7 0,14 0,21 M 74,-2 C 72.463115,-3.8210965 70.366372,-5.487163 67.834093,-5 65.720244,-4.967859 63.814408,-3.2219714 62.82877,-1.4863101 61.795445,0.68096209 61.689866,3.138637 62.770535,5.3116044 63.614474,7.1147311 65.527925,8.7330926 67.541477,9 69.775965,9.3720496 71.956365,8.4341371 73.340086,6.6599136 73.560058,6.4399424 73.780029,6.2199712 74,6"
+         id="path13622"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 82,-5 c 0,4.66666667 0,9.3333333 0,14 m 0,-8 c 0.489185,-1.83295234 1.107599,-3.5860362 2.722968,-4.7229682 C 86.218665,-5.1272735 88.070388,-5.0981022 90,-5"
+         id="path13624"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 106,-5 c 0,4.66666667 0,9.3333333 0,14 m 0,-11 c -1.53689,-1.8210965 -3.63363,-3.487163 -6.165907,-3 -2.113849,0.032141 -4.019685,1.7780286 -5.005323,3.5136899 C 93.795445,0.68096209 93.689866,3.138637 94.770535,5.3116044 95.614474,7.1147311 97.527925,8.7330926 99.541477,9 101.77596,9.3720496 103.95637,8.4341371 105.34009,6.6599136 105.56006,6.4399424 105.78003,6.2199712 106,6"
+         id="path13626"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 115,-12 c 0.0573,5.7476199 -0.11441,11.53239173 0.0856,17.2568449 0.41429,1.7023513 0.93821,3.3096223 2.85164,3.711778 C 118.60873,9.0430119 119.31583,8.9781404 120,9 m -8,-14 c 2.33333,0 4.66667,0 7,0"
+         id="path13628"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.62992126;stroke-miterlimit:4;stroke-dasharray:none"
+         d="m 125,1 c 4,0 8,0 12,0 0.57356,-3.1867974 -2.38284,-6.4450497 -5.62443,-6 -2.3415,-0.2466444 -4.47004,1.6298921 -5.5468,3.5136899 -1.03332,2.16727219 -1.1389,4.6249471 -0.0582,6.7979145 C 126.61451,7.1147311 128.52796,8.7330926 130.54152,9 132.776,9.3720496 134.95641,8.4341371 136.34013,6.6599136 136.56006,6.4399424 136.78003,6.2199712 137,6"
+         id="path13630"
+         inkscape:connector-curvature="0" />
+    </g>
+  </g>
+  <g
+     style="display:inline;photonsaw-power:80;photonsaw-speed:16;photonsaw-passes:2;photonsaw-assistair:1"
+     transform="translate(-148.64173,-173.79926)"
+     id="layer1"
+     inkscape:groupmode="layer"
+     inkscape:label="Cutting">
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-3-1"
+       id="top_mount_1"
+       d="m 391.35828,607.85431 -10e-6,-7.08655 -17.71654,0 1e-5,7.08655 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876"
+       id="top_mount_2"
+       d="m 405.5315,600.76769 0,-17.71653 -7.08662,7e-5 0,17.71653 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433069;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-7"
+       id="top_mount_3"
+       d="m 405.5315,430.68895 0,-17.71653 -7.08662,7e-5 0,17.71653 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433069;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-6"
+       id="top_mount_4"
+       d="m 405.5315,260.61021 0,-17.71653 -7.08662,7e-5 0,17.71653 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433069;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-3"
+       id="top_mount_5"
+       d="m 391.35827,242.89375 10e-6,-7.08669 -17.71654,0 -1e-5,7.08669 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-3-2"
+       id="top_mount_6"
+       d="m 242.53937,242.89375 1e-5,-7.08669 -17.71654,0 -1e-5,7.08669 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-0"
+       id="top_mount_7"
+       d="m 217.73622,260.61028 0,-17.71653 -7.0866,-7e-5 0,17.71653 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433069;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-7-2"
+       id="top_mount_8"
+       d="m 217.73622,430.68902 0,-17.71653 -7.0866,-7e-5 0,17.71653 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433069;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-4"
+       id="top_mount_9"
+       d="m 217.73622,600.76776 0,-17.71653 -7.0866,-7e-5 0,17.71653 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433069;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-3-24"
+       id="top_mount_10"
+       d="m 242.53938,607.85431 -1e-5,-7.08655 -17.71654,0 1e-5,7.08655 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:label="#path3759-59-8"
+       id="top_hole_left"
+       d="m 308.09055,590.13784 c -2.44614,0 -4.42913,1.98299 -4.42913,4.42913 0,2.44614 1.98299,4.42913 4.42913,4.42913 2.44614,0 4.42913,-1.98299 4.42913,-4.42913 0,-2.44614 -1.98299,-4.42913 -4.42913,-4.42913 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:label="#path3759-3"
+       id="top_hole_button"
+       d="m 382.67716,294.09446 c -3.91382,0 -7.08661,3.17279 -7.08661,7.08662 0,3.91382 3.17279,7.08661 7.08661,7.08661 3.91383,0 7.08662,-3.17279 7.08662,-7.08661 0,-3.91383 -3.17279,-7.08662 -7.08662,-7.08662 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#path4241-2-14-7"
+       d="m 299.40944,306.05313 0,8.85826 c 10e-4,0.48948 0.39723,0.88583 0.88583,0.88583 l 15.94488,0 c 0.48949,-10e-4 0.88583,-0.39722 0.88583,-0.88582 l 0,-8.85828 c -0.001,-0.48948 -0.39722,-0.88582 -0.88583,-0.88582 l -15.94488,0 c -0.48949,10e-4 -0.88583,0.39722 -0.88583,0.88583 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
+       id="top_hole_slider" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:label="#path3759-59"
+       id="top_hole_right"
+       d="m 308.09055,249.09454 c -2.44614,0 -4.42913,1.98299 -4.42913,4.42913 0,2.44614 1.98299,4.42914 4.42913,4.42914 2.44614,0 4.42913,-1.983 4.42913,-4.42914 0,-2.44614 -1.98299,-4.42913 -4.42913,-4.42913 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#path4241-5"
+       d="m 254.05512,359.82288 c -0.002,-0.97896 -0.79446,-1.77165 -1.77166,-1.77165 l -19.48819,0 c -0.97898,0.002 -1.77166,0.79444 -1.77165,1.77165 l 0,234.30118 c 0.002,0.97897 0.79444,1.77166 1.77165,1.77166 l 19.48819,0 c 0.97897,-0.002 1.77167,-0.79446 1.77166,-1.77166 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433069;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
+       id="top_hole_dip" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-06"
+       id="bottom_mount_2"
+       d="m 451.59448,600.76769 0,-17.71653 7.08662,7e-5 0,17.71653 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433069;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-7-5"
+       id="bottom_mount_3"
+       d="m 453.36613,430.68895 0,-17.71653 7.08662,7e-5 0,17.71653 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433069;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-6-4"
+       id="bottom_mount_4"
+       d="m 451.59448,260.61021 0,-17.71653 7.08662,7e-5 0,17.71653 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433069;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-3-28"
+       id="bottom_mount_5"
+       d="m 465.76771,242.89375 0,-7.08669 17.71654,0 0,7.08669 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#path4241-2-14-7-6"
+       d="m 485.96458,248.9173 -1e-5,8.85826 c -10e-4,0.48949 -0.39722,0.88584 -0.88583,0.88584 l -17.71653,-1e-5 c -0.48948,-10e-4 -0.88583,-0.39722 -0.88583,-0.88583 l 0,-8.85826 c 10e-4,-0.4895 0.39722,-0.88584 0.88583,-0.88583 l 17.71654,0 c 0.48948,10e-4 0.88583,0.39722 0.88583,0.88583 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
+       id="bottom_hole_power" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:label="#path3986"
+       id="bottom_hole_top"
+       d="m 520.68897,299.14375 c 2.20152,0 3.9862,1.78469 3.9862,3.98621 0,2.20154 -1.78468,3.98623 -3.9862,3.98623 -2.20153,0 -3.98622,-1.78469 -3.98622,-3.98623 0,-2.20152 1.78469,-3.98621 3.98622,-3.98621 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433075;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;display:inline"
+       d="m 552.13583,253.52366 c 0,1.7123 -1.3881,3.1004 -3.1004,3.1004 -1.7123,0 -3.10039,-1.3881 -3.10039,-3.1004 0,-1.7123 1.38809,-3.10039 3.10039,-3.10039 1.7123,0 3.1004,1.38809 3.1004,3.10039"
+       id="hole_bottom_top"
+       inkscape:connector-curvature="0"
+       inkscape:label="#path14108-8" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:label="#path3986-2"
+       id="bottom_hole_bottom"
+       d="m 577.38189,299.14375 c 2.20153,0 3.98621,1.78469 3.98621,3.98621 0,2.20154 -1.78468,3.98623 -3.98621,3.98623 -2.20152,0 -3.98621,-1.78469 -3.98621,-3.98623 0,-2.20152 1.78469,-3.98621 3.98621,-3.98621 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433075;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-3-2-6"
+       id="bottom_mount_6"
+       d="m 614.58661,242.89375 0,-7.08669 17.71653,0 10e-6,7.08669 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-0-5"
+       id="bottom_mount_7"
+       d="m 639.38976,260.61028 0,-17.71653 7.08661,-7e-5 0,17.71653 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433069;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-7-2-2"
+       id="bottom_mount_8"
+       d="m 641.16142,430.68902 0,-17.71653 7.0866,-7e-5 0,17.71653 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433069;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-4-8"
+       id="bottom_mount_9"
+       d="m 639.38976,600.76776 0,-17.71653 7.08661,-7e-5 0,17.71653 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433069;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-3-24-4"
+       id="bottom_mount_10"
+       d="m 614.58661,607.85431 0,-7.08655 17.71654,0 -10e-6,7.08655 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;display:inline"
+       d="m 552.13583,594.56697 c 0,1.7123 -1.3881,3.1004 -3.1004,3.1004 -1.7123,0 -3.10039,-1.3881 -3.10039,-3.1004 0,-1.7123 1.38809,-3.10039 3.10039,-3.10039 1.7123,0 3.1004,1.38809 3.1004,3.10039"
+       id="hole_bottom_bot"
+       inkscape:connector-curvature="0"
+       inkscape:label="#path14108" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3876-3-1-0"
+       id="bottom_mount_1"
+       d="m 465.76771,607.85431 0,-7.08655 17.71654,0 0,7.08655 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+    <path
+       sodipodi:nodetypes="ccccccccccccccccccccccccccccc"
+       inkscape:label="#rect3935-4"
+       d="m 184.0748,260.61021 0,-17.71653 -14.17323,7e-5 0,-5.31496 -7.08661,0 0,5.31496 -14.17323,0 0,17.71653 7.08661,0 0,152.36221 -7.08661,0 0,17.71653 7.08661,0 0,152.36221 -7.08661,0 0,17.71653 14.17323,0 0,5.31496 7.08661,0 0,-5.31496 14.17323,-7e-5 0,-17.71653 -7.08661,0 0,-152.36221 7.08661,0 0,-17.71653 -7.08661,0 0,-152.36221 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
+       id="side_top"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:label="#path3982"
+       sodipodi:nodetypes="ccccccccccccccccccccccccccccccccc"
+       inkscape:connector-curvature="0"
+       d="m 242.53937,186.20083 0,-7.08661 -17.71654,0 0,7.08661 -12.40157,0 3e-5,7.08655 5.31493,0 0,7.08668 -5.31496,0 3e-5,7.08655 12.40154,0 0,7.08661 17.71654,0 -1e-5,-7.08661 131.10237,0 0,7.08661 17.71654,0 -1e-5,-7.08661 12.40161,0 -3e-5,-7.08655 -5.31496,0 0,-7.08668 5.31499,0 -3e-5,-7.08655 -12.40157,0 0,-7.08661 -17.71654,0 0,7.08661 -70.86614,0 0,5.31497 -5.31496,0 0,-5.31497 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       id="side_right" />
+    <path
+       sodipodi:nodetypes="ccccccccccccccccccccccccccccc"
+       inkscape:connector-curvature="0"
+       inkscape:label="#rect3935-7-6"
+       d="m 632.30315,186.20083 0,-7.08661 -17.71654,0 0,7.08661 -131.10236,0 0,-7.08661 -17.71654,0 0,7.08661 -12.40157,0 0,7.08662 5.31496,0 0,7.08661 -5.31496,0 3e-5,7.08655 12.40154,0 0,7.08661 17.71654,0 -10e-6,-7.08661 131.10237,0 0,7.08661 17.71653,0 0,-7.08661 12.40161,0 -3e-5,-7.08655 -5.31496,0 0,-7.08661 5.31496,0 0,-7.08662 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433069;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
+       id="side_left" />
+    <path
+       sodipodi:nodetypes="ccccccccccccccccccccccccccccc"
+       inkscape:label="#rect3935"
+       inkscape:connector-curvature="0"
+       d="m 708.48425,260.61028 0,-17.71653 -14.17323,0 0,-5.31496 -7.08661,0 0,5.31496 -14.17324,-7e-5 0,17.71653 7.08662,0 0,152.36221 -7.08662,0 0,17.71653 7.08662,0 0,152.36221 -7.08662,0 0,17.71653 14.17324,7e-5 0,5.31496 7.08661,0 0,-5.31496 14.17323,0 0,-17.71653 -7.08661,0 0,-152.36221 7.08661,0 0,-17.71653 -7.08661,0 0,-152.36221 z"
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
+       id="side_bottom" />
+    <path
+       inkscape:label="#path3039-6-1"
+       sodipodi:nodetypes="czcczcczcczcc"
+       inkscape:connector-curvature="0"
+       d="m 657.10588,232.26191 c 0,0 7.08678,126.37937 7.08661,189.56835 -1.6e-4,63.18897 -7.08761,189.56693 -7.08761,189.56693 -0.2254,4.0043 -3.08824,6.75923 -7.0852,7.08661 0,0 -67.32325,3.54347 -100.98467,3.54331 -33.66141,-1.7e-4 -100.98383,-3.54431 -100.98383,-3.54431 -3.99676,-0.33841 -6.84775,-3.08202 -7.08662,-7.08519 0,0 -7.08703,-126.37838 -7.08703,-189.56735 0,-63.18898 7.08803,-189.56673 7.08803,-189.56673 0.23758,-4.00367 3.08865,-6.74618 7.08498,-7.08682 0,0 67.32306,-3.5 [...]
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
+       id="contour_bottom" />
+    <path
+       inkscape:label="#path3039-6"
+       sodipodi:nodetypes="czcczcczcczcc"
+       inkscape:connector-curvature="0"
+       d="m 409.07502,225.17714 c 0,0 -67.32305,-3.5433 -100.98446,-3.5433 -33.66142,0 -100.98425,3.5433 -100.98425,3.5433 -3.99531,0.35166 -6.84646,3.08305 -7.08662,7.0852 0,0 -7.08678,126.37937 -7.08661,189.56835 1.6e-4,63.18897 7.08761,189.56692 7.08761,189.56692 0.22622,4.00426 3.08914,6.74843 7.0852,7.08662 0,0 67.32325,3.54347 100.98467,3.54331 33.66141,-1.7e-4 100.98382,-3.54431 100.98382,-3.54431 3.99655,-0.34087 6.83139,-3.08303 7.08663,-7.0852 0,0 7.08702,-126.37837 7.08702,-18 [...]
+       style="fill:none;stroke:#000000;stroke-width:0.35433072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
+       id="contour_top" />
+  </g>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/class.svg b/svg-example/res/com/kitfox/svg/example/class.svg
new file mode 100644
index 0000000..c61cda1
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/class.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" 
+     xmlns="http://www.w3.org/2000/svg"
+     xmlns:xlink="http://www.w3.org/1999/xlink"
+	 width="800px"
+     height="600px"
+     viewBox="0 0 800 600">
+
+    <rect class="alpha" x="10" y="10" width="90" height="90"/>
+    <rect class="beta" x="10" y="110" width="90" height="90"/>
+        
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/clipIssue.svg b/svg-example/res/com/kitfox/svg/example/clipIssue.svg
new file mode 100644
index 0000000..db9fee4
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/clipIssue.svg
@@ -0,0 +1,19 @@
+<svg>
+
+    <defs>
+    </defs>
+
+        <clipPath id="clipStuff">
+            <rect x="50" y="50" width="100" height="100"/>
+        </clipPath>
+
+    <g clip-path="url(#clipStuff)">
+
+        <circle cx="40" cy="60" r="30" style="stroke:black; fill:yellow"/>
+
+    </g>
+
+    <!-- Insert here other shapes -->
+    <circle cx="110" cy="60" r="30" style="stroke:black; fill:purple"/>
+
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/degrade.svg b/svg-example/res/com/kitfox/svg/example/degrade.svg
new file mode 100644
index 0000000..61225e0
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/degrade.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+
+<svg background="#ebebeb" contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" id="svg" version="1.0" width="1000" preserveAspectRatio="xMidYMid meet" viewBox="0 0 1000 700" height="700" xmlns="http://www.w3.org/2000/svg">
+<defs/>
+<rect x="189.0" y="114.0" transform="matrix( 1, 0, 0, 1, 0, 0)" width="177" style="visibility:visible;fill:url(lineaire0.svg#lineaire0);level-visibility:visible;" id="rect4" height="42"/>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/dor-32-gradient.svg b/svg-example/res/com/kitfox/svg/example/dor-32-gradient.svg
new file mode 100644
index 0000000..5c735bd
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/dor-32-gradient.svg
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="32px" height="32px" enable-background="new 0 0 32 32" xml:space="preserve">
+    <!--
+     viewBox="0 0 32 32"
+    -->
+<g>
+	<radialGradient id="SVGID_1_" cx="16" cy="16" r="15.0744" gradientUnits="userSpaceOnUse">
+		<stop  offset="0" style="stop-color:#D7FF8D"/>
+		<stop  offset="1" style="stop-color:#4A8200"/>
+	</radialGradient>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" d="M21.461,0.852c2.784-0.019,4.431,1.935,5.222,4.063
+		c0.235,1.01,0.573,2.688,0.708,3.031c0.238,0.612,0.641,0.965,1.135,1.165c0.335,0.136,0.529,0.056,1.136,0.509
+		c0.764,0.572,1.204,1.364,1.293,2.948c0.341,6.169-1.216,11.069-4.048,14.748c-1.218,1.58-2.963,3.002-5.034,3.655
+		c-1.372,0.433-3.598-0.036-4.874-0.264c-1.367-0.245-2.464-0.719-3.603-1.166c-2.962-1.163-6.292-3.619-7.385-5.359
+		c-0.555-0.883-0.905-1.488-1.04-2.534c-0.088-0.691,0.276-1.032-0.004-1.69c-0.256-0.522-1.047-1.034-1.724-1.5
+		c-1.686-1.159-2.995-3.911-1.749-6.869c0.817-1.946,2.924-3.485,6.494-2.986c0.848,0.119,1.321,0.559,2.065,0.295
+		c1.026-0.625,1.359-0.909,2.432-1.376c0.825-0.358,1.279-0.332,2.223-0.654c0.464-0.254,1.142-2.2,1.963-3.285
+		c0.748-0.989,2.277-2.191,3.593-2.548C20.662,0.973,21.061,0.913,21.461,0.852z"/>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="#213D00" d="M6.729,22.748c0.217-0.355,1.264-0.164,2.708-0.452
+		c1.445-0.29,4.24-2.918,6.841-3.424c2.602-0.506,6.521-1.922,8.399-3.295c1.878-1.372,3.582-3.733,4.288-3.602
+		c0.706,0.133-1.485,6.11-3.507,8.856c-2.023,2.745-5.971,6.711-11.027,5.988C9.376,26.097,6.513,23.104,6.729,22.748z"/>
+	<g>
+		<g>
+			<path fill-rule="evenodd" clip-rule="evenodd" fill="#F0FF96" d="M6.809,10.665c-1.54-0.447-3.787,0.139-4.307,1.808
+				c-0.518,1.668,0.311,3.7,1.731,4.323c0.692,0.303,1.585,0.415,2.222-0.467c0.656-0.908,1.745-2.379,2.079-3.799
+				C8.695,11.845,8.218,11.073,6.809,10.665z M24.531,5.687c-0.075-1.005-0.979-2.437-2.485-2.94
+				c-1.506-0.503-3.39,0.588-4.066,2.099c-0.679,1.512-0.456,2.537,0.297,3.125c0.753,0.587,3.763,1.229,4.817,0.894
+				C24.148,8.529,24.683,7.701,24.531,5.687z"/>
+		</g>
+	</g>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="#AFD46A" d="M28.966,11.975c0.434-0.143,0.548,0.856-0.341,5.256
+		c-0.521,2.577-2.736,5.574-4.864,7.742c-2.009,2.046-4.664,3.857-7.986,3.134c-3.322-0.722-5.235-1.25-7.258-3.056
+		c-2.022-1.805-2.229-2.528-1.508-2.384c0.722,0.145,2.049,2.25,4.512,3.146c1.702,0.619,5.188,1.22,7.501,0.279
+		c2.311-0.939,3.749-2.407,5.933-4.813c1.099-1.512,2.553-4.023,2.981-6.069C28.44,12.799,28.533,12.121,28.966,11.975z"/>
+	<g>
+		<g>
+			<path fill-rule="evenodd" clip-rule="evenodd" fill="#213D00" d="M6.128,11.864c-1.195,0-2.164,0.849-2.164,1.896
+				c0,1.047,1.036,1.78,1.898,1.896C6.8,15.785,7.2,15.23,7.629,14.382c0.481-0.95,0.075-1.658-0.236-1.981
+				C7.14,12.136,6.496,11.864,6.128,11.864z M21.005,4.226c-1.04,0-1.884,0.94-1.884,2.099s0.844,2.1,1.884,2.1
+				s1.883-0.94,1.883-2.1S22.045,4.226,21.005,4.226z"/>
+		</g>
+	</g>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="#172900" d="M8.917,16.603c-0.048-0.625,1.344-0.717,1.165,0
+		C9.903,17.318,9.008,17.767,8.917,16.603z"/>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="#172900" d="M18.624,13.235c-0.737,0.149-1.026-1.213,0-1.12
+		C19.651,12.208,19.091,13.143,18.624,13.235z"/>
+</g>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/gradient.svg b/svg-example/res/com/kitfox/svg/example/gradient.svg
new file mode 100644
index 0000000..caf6f17
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/gradient.svg
@@ -0,0 +1,120 @@
+<?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="400"
+   height="200"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   sodipodi:docname="sample.svg">
+  <defs
+     id="defs4">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3765">
+      <stop
+         style="stop-color:#d41620;stop-opacity:1;"
+         offset="0"
+         id="stop3767" />
+      <stop
+         style="stop-color:#d41620;stop-opacity:0;"
+         offset="1"
+         id="stop3769" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3755">
+      <stop
+         style="stop-color:#d41620;stop-opacity:1;"
+         offset="0"
+         id="stop3757" />
+      <stop
+         style="stop-color:#d41620;stop-opacity:0;"
+         offset="1"
+         id="stop3759" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3755"
+       id="radialGradient3761"
+       cx="136.42857"
+       cy="133.57143"
+       fx="136.42857"
+       fy="133.57143"
+       r="43.57143"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3765"
+       id="linearGradient3771"
+       x1="215.71428"
+       y1="955.2193"
+       x2="335.71428"
+       y2="955.2193"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.7"
+     inkscape:cx="138.65617"
+     inkscape:cy="106.57875"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="954"
+     inkscape:window-height="758"
+     inkscape:window-x="576"
+     inkscape:window-y="173"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata7">
+    <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
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-852.36218)">
+    <path
+       sodipodi:type="arc"
+       style="fill:url(#radialGradient3761);fill-opacity:1;fill-rule:nonzero;stroke:none"
+       id="path2985"
+       sodipodi:cx="136.42857"
+       sodipodi:cy="133.57143"
+       sodipodi:rx="43.57143"
+       sodipodi:ry="43.57143"
+       d="m 180,133.57143 c 0,24.06383 -19.50759,43.57143 -43.57143,43.57143 -24.06383,0 -43.571427,-19.5076 -43.571427,-43.57143 0,-24.06384 19.507597,-43.571434 43.571427,-43.571434 24.06384,0 43.57143,19.507594 43.57143,43.571434 z"
+       transform="matrix(1.3770491,0,0,1.3770491,-89.29742,771.28491)" />
+    <rect
+       style="fill:url(#linearGradient3771);fill-opacity:1;fill-rule:nonzero;stroke:none"
+       id="rect3763"
+       width="120"
+       height="120"
+       x="215.71428"
+       y="895.2193"
+       rx="0.075505108"
+       ry="0.075505108" />
+  </g>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/horse.jpg b/svg-example/res/com/kitfox/svg/example/horse.jpg
new file mode 100644
index 0000000..bc44119
Binary files /dev/null and b/svg-example/res/com/kitfox/svg/example/horse.jpg differ
diff --git a/svg-example/res/com/kitfox/svg/example/imageClip.svg b/svg-example/res/com/kitfox/svg/example/imageClip.svg
new file mode 100644
index 0000000..ba44333
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/imageClip.svg
@@ -0,0 +1,23 @@
+<svg xmlns="http://www.w3.org/2000/svg" 
+     xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"
+     width="100%" height="100%" 
+>
+    <!--
+     viewBox="0 0 1292 564"
+    -->
+    <clipPath id="1360314579789-6cp" clipPathUnits="userSpaceOnUse">
+        <path d="M 208 34.3447493940356 a 121.6552506059644 121.6552506059644 0 0,0 0,243.3105012119288 a 121.6552506059644 121.6552506059644 0 0,0 0, -243.3105012119288 z" fill="#FFFFFF" stroke="rgb(0,0,0)"
+              stroke-width="1" opacity="1" vector-effect="non-scaling-stroke" de_ele_type="circle" svgprocessed="true" cursor="move" />
+    </clipPath>
+    <g id="clipped1360314586816-8" clip-path="url(#1360314579789-6cp)">
+        <g transform="matrix(1,0,0,1,248.552734375,156)">
+            <g transform="matrix(1,0,0,1,-248.552734375,-156)">
+                <image x="86.34375" y="34.34375" width="324.4166666666667" height="243.3125" stroke="rgb(0,0,0)" stroke-width="1" opacity="1" vector-effect="non-scaling-stroke"
+                    xlink:href="horse.jpg" ratio="1.3333333333333333" pe_ed="1" id="1360314586816-8" cursor="move" de_clipped="1360314579789-6"
+                    svgprocessed="true" />
+            </g>
+        </g>
+    </g>
+    <path d="M 208 34.3447493940356 a 121.6552506059644 121.6552506059644 0 0,0 0,243.3105012119288 a 121.6552506059644 121.6552506059644 0 0,0 0, -243.3105012119288 z" fill="none" stroke="rgb(0,0,0)"
+          stroke-width="1" opacity="1" vector-effect="non-scaling-stroke" de_ele_type="circle" pe_ed="1" id="1360314579789-6" svgprocessed="true" cursor="move" de_ocolor="#FFFFFF" de_inscribed="1360314586816-8" />
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/issue.svg b/svg-example/res/com/kitfox/svg/example/issue.svg
new file mode 100644
index 0000000..1866957
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/issue.svg
@@ -0,0 +1,317 @@
+<?xml version="1.0" encoding="UTF-8"?><svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" contentScriptType="text/ecmascript" width="100%" baseProfile="basic" zoomAndPan="magnify" contentStyleType="text/css" viewBox="0 0 800 331" height="100%" preserveAspectRatio="xMidYMid meet" xml:space="preserve" version="1.1">
+  <defs/>
+  <g id="Background">
+    <rect width="800" fill="#000000" x="0" height="331" y="0" style="fill:#000000"/>
+  </g>
+  <g id="Timestamp">
+    <text style="fill:white;stroke:white;font-weight:normal;font-size:25;font-family:arial;" x="5" y="30">17:15</text>
+  </g>
+  <g id="Foreground"/>
+  <g id="Water"/>
+  <g id="Mark1"/>
+  <g id="RoadSign"/>
+  <g id="Road">
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R13">
+      <line x1="586.2019" links="42532040207" x2="619.0701" y1="213.0561" style="stroke:yellow" y2="180.1879" id="42532040207"/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R12">
+      <line x1="234.7649" links="42521740183" x2="273.4321" y1="259.1969" style="stroke:red" y2="297.8641" id="42521740183"/>
+      <line x1="272.0179" links="42521740184" x2="296.7751" y1="296.4499" style="stroke:lime" y2="321.2071" id="42521740184"/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R11">
+      <line x1="554.455" links="42532030248" x2="619.363" y1="184.395" style="stroke:lime" y2="184.395" id="42532030248"/>
+      <line x1="617.363" links="42532030249" x2="639.596" y1="184.395" style="stroke:lime" y2="184.395" id="42532030249"/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R11">
+      <line x1="639.596" links="42532030252" x2="617.363" y1="177.395" style="stroke:red" y2="177.395" id="42532030252"/>
+      <line x1="619.363" links="42532030252" x2="554.455" y1="177.395" style="stroke:red" y2="177.395" id="42532030252"/>
+    </g>
+    <g style="stroke-width:2;stroke:black;fill:none;" name="0731_105_002_R11_CL">
+      <polyline points="555.455,180.895 555.455,180.895 618.363,180.895 638.596,180.895 "/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R10">
+      <line x1="590.409" links="42531040042" x2="590.409" y1="247.437" style="stroke:lime" y2="237.6961" id="42531040042"/>
+      <line x1="590.409" links="42531040043" x2="590.409" y1="238.6961" style="stroke:lime" y2="222.4458" id="42531040043"/>
+      <line x1="590.409" links="42532040364" x2="590.409" y1="223.4458" style="stroke:lime" y2="209.8993" id="42532040364"/>
+      <line x1="591.1161" links="42532040365" x2="558.2479" y1="211.6064" style="stroke:yellow" y2="178.7382" id="42532040365"/>
+      <line x1="558.955" links="42532040002" x2="558.955" y1="180.4453" style="stroke:yellow" y2="109.289" id="42532040002"/>
+      <line x1="558.955" links="42532040003" x2="558.955" y1="111.289" style="stroke:lime" y2="29.3935" id="42532040003"/>
+      <line x1="558.955" links="42532040004" x2="558.955" y1="31.3935" style="stroke:lime" y2="9.9052" id="42532040004"/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R10">
+      <line x1="551.955" links="42532040007" x2="551.955" y1="9.9052" style="stroke:lime" y2="31.3935" id="42532040007"/>
+      <line x1="551.955" links="42532040008" x2="551.955" y1="29.3935" style="stroke:lime" y2="111.289" id="42532040008"/>
+      <line x1="551.955" links="42532040009" x2="551.955" y1="109.289" style="stroke:yellow" y2="183.3447" id="42532040009"/>
+      <line x1="551.2479" links="42532040366" x2="584.1161" y1="181.6376" style="stroke:lime" y2="214.5058" id="42532040366"/>
+      <line x1="583.409" links="42532040367" x2="583.409" y1="212.7987" style="stroke:lime" y2="227.9365" id="42532040367"/>
+      <line x1="583.409" links="42531040044" x2="583.409" y1="226.9365" style="stroke:lime" y2="243.1937" id="42531040044"/>
+      <line x1="583.409" links="42531040045" x2="583.409" y1="242.1937" style="stroke:lime" y2="247.437" id="42531040045"/>
+    </g>
+    <g style="stroke-width:2;stroke:black;fill:none;" name="0731_105_002_R10_CL">
+      <polyline points="586.909,246.437 586.909,246.437 586.909,212.349 586.909,212.349 555.455,180.895 555.455,180.895 555.455,110.289 555.455,30.3935 555.455,10.9052 "/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R9">
+      <line x1="302.6808" links="42522740364" x2="392.7141" y1="201.065" style="stroke:lime" y2="111.0317" id="42522740364"/>
+      <line x1="392.007" links="42522740365" x2="392.007" y1="112.7388" style="stroke:yellow" y2="29.3935" id="42522740365"/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R9">
+      <line x1="385.007" links="42522740366" x2="385.007" y1="29.3935" style="stroke:lime" y2="109.8392" id="42522740366"/>
+      <line x1="385.7141" links="42522740367" x2="297.731" y1="108.1321" style="stroke:yellow" y2="196.1152" id="42522740367"/>
+    </g>
+    <g style="stroke-width:2;stroke:black;fill:none;" name="0731_105_002_R9_CL">
+      <polyline points="300.913,197.883 300.913,197.883 388.507,110.289 388.507,110.289 388.507,30.3935 388.507,30.3935 "/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R8">
+      <line x1="607.138" links="42531040122" x2="557.0854" y1="293.657" style="stroke:lime" y2="293.657" id="42531040122"/>
+      <line x1="558.0854" links="42521740131" x2="457.069" y1="293.657" style="stroke:lime" y2="293.657" id="42521740131"/>
+      <line x1="459.069" links="42521740187" x2="271.725" y1="293.657" style="stroke:lime" y2="293.657" id="42521740187"/>
+      <line x1="273.725" links="42521740188" x2="234.472" y1="293.657" style="stroke:lime" y2="293.657" id="42521740188"/>
+      <polyline id="42521740133" style="stroke:lime" links="42521740133" points="236.472,293.657 188.162,293.657 188.162,240.415 "/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R8">
+      <polyline id="42521740128" style="stroke:lime" links="42521740128" points="181.162,240.415 181.162,300.657 236.472,300.657 "/>
+      <line x1="234.472" links="42521740185" x2="273.725" y1="300.657" style="stroke:red" y2="300.657" id="42521740185"/>
+      <line x1="271.725" links="42521740186" x2="459.069" y1="300.657" style="stroke:lime" y2="300.657" id="42521740186"/>
+      <line x1="457.069" links="42521740130" x2="559.846" y1="300.657" style="stroke:lime" y2="300.657" id="42521740130"/>
+      <line x1="558.846" links="42531040121" x2="607.138" y1="300.657" style="stroke:lime" y2="300.657" id="42531040121"/>
+    </g>
+    <g style="stroke-width:2;stroke:black;fill:none;" name="0731_105_002_R8_CL">
+      <polyline points="606.138,297.157 606.138,297.157 458.069,297.157 272.725,297.157 235.472,297.157 184.662,297.157 184.662,241.415 184.662,241.415 "/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R7">
+      <line x1="609.638" links="42531040123" x2="609.638" y1="321.095" style="stroke:lime" y2="296.157" id="42531040123"/>
+      <line x1="609.638" links="42531040124" x2="609.638" y1="298.157" style="stroke:yellow" y2="264.666" id="42531040124"/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R7">
+      <line x1="602.638" links="42531040125" x2="602.638" y1="264.666" style="stroke:lime" y2="298.157" id="42531040125"/>
+      <line x1="602.638" links="42531040126" x2="602.638" y1="296.157" style="stroke:lime" y2="321.095" id="42531040126"/>
+    </g>
+    <g style="stroke-width:2;stroke:black;fill:none;" name="0731_105_002_R7_CL">
+      <polyline points="606.138,320.095 606.138,297.157 606.138,265.666 606.138,265.666 "/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R6">
+      <line x1="160.404" links="42521740122" x2="185.662" y1="244.915" style="stroke:lime" y2="244.915" id="42521740122"/>
+      <line x1="183.662" links="42521740123" x2="236.472" y1="244.915" style="stroke:lime" y2="244.915" id="42521740123"/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R6">
+      <line x1="236.472" links="42521740272" x2="183.662" y1="237.915" style="stroke:lime" y2="237.915" id="42521740272"/>
+      <line x1="185.662" links="42521740272" x2="160.404" y1="237.915" style="stroke:lime" y2="237.915" id="42521740272"/>
+    </g>
+    <g style="stroke-width:2;stroke:black;fill:none;" name="0731_105_002_R6_CL">
+      <polyline points="161.404,241.415 184.662,241.415 235.472,241.415 235.472,241.415 "/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R5">
+      <line x1="160.404" links="42522740273" x2="236.472" y1="201.383" style="stroke:yellow" y2="201.383" id="42522740273"/>
+      <line x1="234.472" links="42522740275,42522740276" x2="301.913" y1="201.383" style="stroke:yellow" y2="201.383" id="42522740276"/>
+      <line x1="299.913" links="42522740276" x2="459.069" y1="201.383" style="stroke:yellow" y2="201.383" id="42522740276"/>
+      <polyline id="42522740278" style="stroke:lime" links="42522740277,42522740278" points="457.069,201.383 536.9053,201.383 540.1241,204.6019 "/>
+      <line x1="539.4171" links="42521740091,42531040048" x2="574.3394" y1="203.8948" style="stroke:lime" y2="238.8172" id="42531040048"/>
+      <line x1="573.6323" links="42531040049" x2="585.1412" y1="238.1101" style="stroke:lime" y2="249.619" id="42531040049"/>
+      <line x1="583.7271" links="42531040050" x2="604.3702" y1="248.2048" style="stroke:lime" y2="268.848" id="42531040050"/>
+      <line x1="602.9561" links="42531040138" x2="630.6793" y1="267.4338" style="stroke:lime" y2="295.157" id="42531040138"/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R5">
+      <line x1="635.629" links="42531040059" x2="607.9058" y1="290.2072" style="stroke:lime" y2="262.484" id="42531040059"/>
+      <line x1="609.3199" links="42531040060" x2="588.6768" y1="263.8982" style="stroke:yellow" y2="243.255" id="42531040060"/>
+      <line x1="590.0909" links="42531040061" x2="579.1707" y1="244.6692" style="stroke:lime" y2="233.749" id="42531040061"/>
+      <line x1="579.8778" links="42531040062" x2="543.7881" y1="234.4561" style="stroke:lime" y2="198.3665" id="42531040062"/>
+      <polyline id="42522740580" style="stroke:yellow" links="42532040074,42522740580" points="544.4952,199.0736 539.8047,194.383 458.4299,194.383 "/>
+      <line x1="459.4299" links="42522740581" x2="457.069" y1="194.383" style="stroke:yellow" y2="194.383" id="42522740581"/>
+      <line x1="459.069" links="42522740282" x2="450.0198" y1="194.383" style="stroke:yellow" y2="194.383" id="42522740282"/>
+      <line x1="451.0198" links="42522740283" x2="299.913" y1="194.383" style="stroke:yellow" y2="194.383" id="42522740283"/>
+      <line x1="301.913" links="42522740480" x2="293.727" y1="194.383" style="stroke:red" y2="194.383" id="42522740480"/>
+      <line x1="294.727" links="42522740284" x2="249.4253" y1="194.383" style="stroke:red" y2="194.383" id="42522740284"/>
+      <line x1="250.4253" links="42522740285" x2="234.472" y1="194.383" style="stroke:lime" y2="194.383" id="42522740285"/>
+      <line x1="236.472" links="42522740287" x2="160.404" y1="194.383" style="stroke:lime" y2="194.383" id="42522740287"/>
+    </g>
+    <g style="stroke-width:2;stroke:black;fill:none;" name="0731_105_002_R5_CL">
+      <polyline points="161.404,197.883 235.472,197.883 300.913,197.883 458.069,197.883 538.355,197.883 586.909,246.437 606.138,265.666 632.447,291.975 "/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R4">
+      <line x1="461.569" links="42521730145" x2="461.569" y1="321.095" style="stroke:lime" y2="296.157" id="42521730145"/>
+      <line x1="461.569" links="42521730146" x2="461.569" y1="298.157" style="stroke:yellow" y2="253.9029" id="42521730146"/>
+      <line x1="461.569" links="42521730047,42522730095" x2="461.569" y1="254.9029" style="stroke:lime" y2="196.883" id="42522730095"/>
+      <line x1="461.569" links="42522730096" x2="461.569" y1="198.883" style="stroke:red" y2="109.289" id="42522730096"/>
+      <line x1="461.569" links="42522730097" x2="461.569" y1="111.289" style="stroke:lime" y2="29.3935" id="42522730097"/>
+      <line x1="461.569" links="42522730098" x2="461.569" y1="31.3935" style="stroke:lime" y2="9.905206" id="42522730098"/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R4">
+      <line x1="454.569" links="42522730105" x2="454.569" y1="9.905194" style="stroke:lime" y2="31.3935" id="42522730105"/>
+      <line x1="454.569" links="42522730106" x2="454.569" y1="29.3935" style="stroke:lime" y2="111.289" id="42522730106"/>
+      <line x1="454.569" links="42522730107" x2="454.569" y1="109.289" style="stroke:lime" y2="198.883" id="42522730107"/>
+      <line x1="454.569" links="42522730108" x2="454.569" y1="196.883" style="stroke:lime" y2="256.6667" id="42522730108"/>
+      <line x1="454.569" links="42521730048,42521730147" x2="454.569" y1="255.6667" style="stroke:yellow" y2="298.157" id="42521730147"/>
+      <line x1="454.569" links="42521730148" x2="454.569" y1="296.157" style="stroke:red" y2="321.095" id="42521730148"/>
+    </g>
+    <g style="stroke-width:2;stroke:black;fill:none;" name="0731_105_002_R4_CL">
+      <polyline points="458.069,320.095 458.069,297.157 458.069,197.883 458.069,110.289 458.069,30.3935 458.069,10.9052 "/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R3">
+      <line x1="238.972" links="42521730131" x2="238.972" y1="321.095" style="stroke:red" y2="296.157" id="42521730131"/>
+      <line x1="238.972" links="42521730168" x2="238.972" y1="298.157" style="stroke:yellow" y2="258.904" id="42521730168"/>
+      <line x1="238.972" links="42521730169" x2="238.972" y1="260.904" style="stroke:yellow" y2="240.415" id="42521730169"/>
+      <line x1="238.972" links="42521730029,42522730053" x2="238.972" y1="242.415" style="stroke:lime" y2="222.4297" id="42522730053"/>
+      <line x1="238.972" links="42522730054" x2="238.972" y1="223.4297" style="stroke:lime" y2="196.883" id="42522730054"/>
+      <line x1="238.972" links="42522730191" x2="238.972" y1="198.883" style="stroke:yellow" y2="119.0452" id="42522730191"/>
+      <line x1="238.972" links="42522730192" x2="238.972" y1="120.0452" style="stroke:yellow" y2="109.289" id="42522730192"/>
+      <line x1="238.972" links="42522730193" x2="238.972" y1="111.289" style="stroke:yellow" y2="98.95211" id="42522730193"/>
+      <line x1="238.972" links="42522730194" x2="238.972" y1="99.95211" style="stroke:red" y2="29.3935" id="42522730194"/>
+      <line x1="238.972" links="42522730057" x2="238.972" y1="31.3935" style="stroke:red" y2="9.905203" id="42522730057"/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R3">
+      <line x1="231.972" links="42522730203" x2="231.972" y1="9.905197" style="stroke:red" y2="31.3935" id="42522730203"/>
+      <line x1="231.972" links="42522730204" x2="231.972" y1="29.3935" style="stroke:red" y2="96.86342" id="42522730204"/>
+      <line x1="231.972" links="42522730205" x2="231.972" y1="95.86342" style="stroke:red" y2="111.289" id="42522730205"/>
+      <line x1="231.972" links="42522730206,42522730207" x2="231.972" y1="109.289" style="stroke:lime" y2="198.883" id="42522730207"/>
+      <line x1="231.972" links="42522730077" x2="231.972" y1="196.883" style="stroke:lime" y2="224.5185" id="42522730077"/>
+      <line x1="231.972" links="42522730078" x2="231.972" y1="223.5185" style="stroke:lime" y2="240.0732" id="42522730078"/>
+      <line x1="231.972" links="42521730030" x2="231.972" y1="239.0732" style="stroke:yellow" y2="242.415" id="42521730030"/>
+      <line x1="231.972" links="42521730206" x2="231.972" y1="240.415" style="stroke:yellow" y2="260.904" id="42521730206"/>
+      <line x1="231.972" links="42521730207" x2="231.972" y1="258.904" style="stroke:yellow" y2="298.157" id="42521730207"/>
+      <line x1="231.972" links="42521730134" x2="231.972" y1="296.157" style="stroke:" y2="321.095" id="42521730134"/>
+    </g>
+    <g style="stroke-width:2;stroke:black;fill:none;" name="0731_105_002_R3_CL">
+      <polyline points="235.472,320.095 235.472,297.157 235.472,259.904 235.472,241.415 235.472,197.883 235.472,110.289 235.472,30.3935 235.472,10.9052 "/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R2">
+      <line x1="160.404" links="42522740291" x2="236.472" y1="113.789" style="stroke:lime" y2="113.789" id="42522740291"/>
+      <line x1="234.472" links="42522740295" x2="244.1013" y1="113.789" style="stroke:lime" y2="113.789" id="42522740295"/>
+      <line x1="243.1013" links="42522740296" x2="284.295" y1="113.789" style="stroke:lime" y2="113.789" id="42522740296"/>
+      <line x1="283.295" links="42522740478" x2="389.507" y1="113.789" style="stroke:red" y2="113.789" id="42522740478"/>
+      <line x1="387.507" links="42522740478" x2="454.9229" y1="113.789" style="stroke:red" y2="113.789" id="42522740478"/>
+      <line x1="453.9229" links="42522740479" x2="459.069" y1="113.789" style="stroke:red" y2="113.789" id="42522740479"/>
+      <line x1="457.069" links="42522740128" x2="531.6618" y1="113.789" style="stroke:lime" y2="113.789" id="42522740128"/>
+      <line x1="530.6618" links="42532040079" x2="556.455" y1="113.789" style="stroke:yellow" y2="113.789" id="42532040079"/>
+      <line x1="554.455" links="42532040080" x2="639.596" y1="113.789" style="stroke:yellow" y2="113.789" id="42532040080"/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R2">
+      <line x1="639.596" links="42532040081" x2="554.455" y1="106.789" style="stroke:lime" y2="106.789" id="42532040081"/>
+      <line x1="556.455" links="42532040082" x2="528.9438" y1="106.789" style="stroke:lime" y2="106.789" id="42532040082"/>
+      <line x1="529.9438" links="42522740129" x2="457.069" y1="106.789" style="stroke:yellow" y2="106.789" id="42522740129"/>
+      <line x1="459.069" links="42522740298,42522740299" x2="387.507" y1="106.789" style="stroke:lime" y2="106.789" id="42522740299"/>
+      <line x1="389.507" links="42522740299" x2="282.146" y1="106.789" style="stroke:lime" y2="106.789" id="42522740299"/>
+      <line x1="283.146" links="42522740300" x2="239.7488" y1="106.789" style="stroke:lime" y2="106.789" id="42522740300"/>
+      <line x1="240.7488" links="42522740301" x2="234.472" y1="106.789" style="stroke:yellow" y2="106.789" id="42522740301"/>
+      <line x1="236.472" links="42522740305" x2="160.404" y1="106.789" style="stroke:yellow" y2="106.789" id="42522740305"/>
+    </g>
+    <g style="stroke-width:2;stroke:black;fill:none;" name="0731_105_002_R2_CL">
+      <polyline points="161.404,110.289 235.472,110.289 388.507,110.289 458.069,110.289 555.455,110.289 638.596,110.289 "/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R1">
+      <line x1="160.404" links="42522730280" x2="236.472" y1="33.8935" style="stroke:yellow" y2="33.8935" id="42522730280"/>
+      <line x1="234.472" links="42522730281" x2="389.507" y1="33.8935" style="stroke:yellow" y2="33.8935" id="42522730281"/>
+      <line x1="387.507" links="42522730282" x2="459.069" y1="33.8935" style="stroke:red" y2="33.8935" id="42522730282"/>
+      <line x1="457.069" links="42522730283" x2="508.1836" y1="33.8935" style="stroke:red" y2="33.8935" id="42522730283"/>
+      <line x1="507.1836" links="42532030258" x2="556.455" y1="33.8935" style="stroke:red" y2="33.8935" id="42532030258"/>
+      <line x1="554.455" links="42532030259" x2="639.596" y1="33.8935" style="stroke:red" y2="33.8935" id="42532030259"/>
+    </g>
+    <g style="stroke-width:5;stroke:lime;fill:none;" name="0731_105_002_R1">
+      <line x1="639.596" links="42532030284" x2="554.455" y1="26.8935" style="stroke:red" y2="26.8935" id="42532030284"/>
+      <line x1="556.455" links="42532030285" x2="506.5014" y1="26.8935" style="stroke:lime" y2="26.8935" id="42532030285"/>
+      <line x1="507.5014" links="42522730284" x2="457.069" y1="26.8935" style="stroke:red" y2="26.8935" id="42522730284"/>
+      <line x1="459.069" links="42522730285" x2="387.507" y1="26.8935" style="stroke:yellow" y2="26.8935" id="42522730285"/>
+      <line x1="389.507" links="42522730286" x2="234.472" y1="26.8935" style="stroke:red" y2="26.8935" id="42522730286"/>
+      <line x1="236.472" links="42522730287" x2="160.404" y1="26.8935" style="stroke:yellow" y2="26.8935" id="42522730287"/>
+    </g>
+    <g style="stroke-width:2;stroke:black;fill:none;" name="0731_105_002_R1_CL">
+      <polyline points="161.404,30.3935 235.472,30.3935 388.507,30.3935 458.069,30.3935 555.455,30.3935 638.596,30.3935 "/>
+    </g>
+  </g>
+  <g id="Text">
+    <g transform="matrix(0.97975 0 0 1 -38.5914 20.3733)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">劳</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="422.507" y="165.5">动</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="445.014" y="165.5">西</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="467.522" y="165.5">路</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 -123.353 -67.2325)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">城</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="422.507" y="165.5">南</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="445.014" y="165.5">中</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="467.522" y="165.5">路</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 -51.38 -146.625)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">人</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="422.507" y="165.5">民</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="445.014" y="165.5">中</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="467.522" y="165.5">路</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 -65.7428 118.896)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">黄</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="422.507" y="165.5">土</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="445.014" y="165.5">岭</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="467.522" y="165.5">路</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 -229.042 64.9739)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">南</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="422.507" y="165.5">湖</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="445.014" y="165.5">路</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 -63.8887 -27.0461)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">路</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 -185.035 -32.502)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">芙</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 -185.14 -13.6633)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">蓉</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 -184.935 5.2803)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">中</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 -184.9 24.3255)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">路</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 75.6916 -32.3418)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">韶</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 75.9672 -13.8236)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">山</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 75.1837 5.1984)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">北</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 75.1437 24.3255)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">路</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 135.19 -32.6623)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">曙</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 135.345 -13.7025)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">光</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 136.012 5.2803)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">中</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 134.993 24.3255)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">路</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 177.557 4.2915)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">桂</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="422.507" y="165.5">花</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="445.014" y="165.5">路</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 96.8727 119.538)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">砂</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="422.507" y="165.5">子</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="445.014" y="165.5">塘</text>
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="467.522" y="165.5">路</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 -84.1953 -6.2557)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">园</text>
+    </g>
+    <g transform="matrix(0.97975 0 0 1 -104.5 14.3978)">
+      <text style="fill:white;font-size:20;font-family:黑体;font-weight:normal;" x="400" y="165.5">梓</text>
+    </g>
+  </g>
+  <g id="Point"/>
+  <g id="Mark">
+    <g id="Mark_1">
+      <polygon fill="white" stroke-width="0.0762" points="253.807,268.529 267.906,282.629 267.906,272.166 265.291,274.782 256.384,265.952 " stroke="white"/>
+    </g>
+    <g id="Mark_2">
+      <polygon fill="white" stroke-width="0.0762" points="600.542,208.235 614.641,194.135 614.641,204.597 612.025,201.982 603.118,210.812 " stroke="white"/>
+    </g>
+  </g>
+  <g id="Shadow"/>
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/jira40-textAnchor.svg b/svg-example/res/com/kitfox/svg/example/jira40-textAnchor.svg
new file mode 100644
index 0000000..39c2c70
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/jira40-textAnchor.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" id="svg" version="1.0" width="500" preserveAspectRatio="xMidYMid meet" 
+     height="150" xmlns="http://www.w3.org/2000/svg">
+    <line x1="250" x2="250" y1="10" y2="100" style="stroke:#000000;fill:#000000;" id="line0" />
+    <text x="250" y="15" style="fill:#000000;font-size:12pt;text-anchor:start;" id="text1" >
+        123456789
+    </text>
+    <text x="250" y="45" style="fill:#000000;font-size:12pt;text-anchor:middle;" id="text2" >
+        123456789
+    </text>
+    <text x="250" y="75" style="fill:#000000;font-size:12pt;text-anchor:end;" id="text3" >
+        123456789
+    </text>
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/jira42/Bandeau_hautjt.svg b/svg-example/res/com/kitfox/svg/example/jira42/Bandeau_hautjt.svg
new file mode 100644
index 0000000..facc92f
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/jira42/Bandeau_hautjt.svg
@@ -0,0 +1,11 @@
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" id="svg" version="1.0" width="1920" preserveAspectRatio="xMidYMid meet" viewBox="0 0 1920 130" height="130" xmlns="http://www.w3.org/2000/svg">
+    <rect x="15" y="3" width="519" style="stroke:#000000;fill:#000000;" height="87" id="rect1"/>
+    <line x1="950" x2="1050" y1="25" y2="75" style="stroke:#000000;" id="line0">
+        <animateTransform dur="10s" attributeName="transform" from="0 1000 50" repeatCount="indefinite" type="rotate" to="360 1000 50"/>
+    </line>
+    <circle style="fill:#000000;" r="33" cx="1797" id="circle0" cy="53" />
+    <rect x="0" y="125" width="1920.0" style="fill:#000000;" id="rect0" height="5.0" />
+    <use id="use0" transform="matrix( 0.3149606534604473, 0, 0, 0.5137254901960784, 1054.960623565679, 39.87450985020743)" xlink:show="embed" xlink:type="simple" preserveAspectRatio="none meet" x="270" y="-48" xlink:href="Bandeau_hautjt2.svg#svg" xlink:actuate="onLoad"/>
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/jira42/Bandeau_hautjt2.svg b/svg-example/res/com/kitfox/svg/example/jira42/Bandeau_hautjt2.svg
new file mode 100644
index 0000000..ef236bf
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/jira42/Bandeau_hautjt2.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:xlink="http://www.w3.org/1999/xlink" 
+     contentStyleType="text/css" id="svg" version="1.0" width="1300" preserveAspectRatio="xMidYMid meet"
+     viewBox="0 0 1300 130" height="130" xmlns="http://www.w3.org/2000/svg">
+    <rect x="15" y="3" width="519" style="stroke:#000000;fill:#000000;" id="rect1" height="87" />
+    <line x1="950" x2="1050" y1="25" y2="75" style="stroke:#000000;" id="line0">
+        <animateTransform dur="10s" from="0 1000 50" attributeName="transform" repeatCount="indefinite" type="rotate" to="360 1000 50"/>
+    </line>
+    <circle style="fill:#000000;" r="33" cx="1237" cy="43" id="circle0" />
+    <rect x="0" y="125" width="500" style="fill:#000000;" height="5.0" id="rect0"/>
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/jira42/alarmejt.svg b/svg-example/res/com/kitfox/svg/example/jira42/alarmejt.svg
new file mode 100644
index 0000000..dd7db65
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/jira42/alarmejt.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:xlink="http://www.w3.org/1999/xlink" 
+     contentStyleType="text/css" id="svg" version="1.0" width="1920" preserveAspectRatio="xMidYMid meet" 
+     height="1080" xmlns="http://www.w3.org/2000/svg">
+    <use id="use0" xlink:show="embed" xlink:type="simple" preserveAspectRatio="none meet" x="0" y="2" xlink:href="Bandeau_hautjt.svg#svg" xlink:actuate="onLoad"/>
+    <use id="use1" xlink:show="embed" xlink:type="simple" preserveAspectRatio="none meet" x="470" y="230" xlink:href="Bandeau_hautjt2.svg#svg" xlink:actuate="onLoad"/>
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/jira43-tspanVariableX.svg b/svg-example/res/com/kitfox/svg/example/jira43-tspanVariableX.svg
new file mode 100644
index 0000000..bb1efeb
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/jira43-tspanVariableX.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
+  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="10cm" height="3cm" 
+     viewBox="0 0 1000 300"
+     xmlns="http://www.w3.org/2000/svg" version="1.1">
+  <desc>Example tspan03 - using tspan's x and y attributes 
+        for multiline text and precise glyph positioning</desc>
+
+  <g font-family="Verdana" font-size="45" >
+    <text fill="rgb(255,164,0)" >
+      <tspan x="300 350 400 450 500 550 600 650" y="100">
+        Cute and
+      </tspan>
+      <tspan x="375 425 475 525 575" y="200">
+         fuzzy
+      </tspan>
+    </text>
+  </g>
+
+  <!-- Show outline of canvas using 'rect' element -->
+  <rect x="1" y="1" width="998" height="298"
+        fill="none" stroke="blue" stroke-width="2" />
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/jira50-display.svg b/svg-example/res/com/kitfox/svg/example/jira50-display.svg
new file mode 100644
index 0000000..98ee5f7
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/jira50-display.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" id="svg" version="1.0" width="500" preserveAspectRatio="xMidYMid meet" 
+     height="150" xmlns="http://www.w3.org/2000/svg">
+    
+    <g style="display:inline">
+        <rect width="140" height="50" x="200" y="100" style="display:inline"/>
+        <rect width="140" height="50" x="250" y="120"/>
+    </g>
+    
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/jira51-textLength.svg b/svg-example/res/com/kitfox/svg/example/jira51-textLength.svg
new file mode 100644
index 0000000..7c75b60
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/jira51-textLength.svg
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" 
+  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg10.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="210mm" height="270mm">
+<text x="1cm" y="7.6cm" font-family="Arial" font-size="10" font-weight="normal" textLength="12cm">
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum 
+	</text>
+        
+        
+        <g style="font-size: 14pt;">
+<path d="M 20 10 20 70 M 220 10 220 70" style="stroke: gray;"/>
+<text x="20" y="30" 
+    textLength="200" lengthAdjust="spacing">Two words</text>
+<text x="20" y="60" 
+    textLength="200" lengthAdjust="spacingAndGlyphs">Two words</text>
+    
+<text x="20" y="90">Two words 
+    <tspan style="font-size: 10pt;">(normal length)</tspan></text>
+
+<path d="M 20 100 20 170 M 100 100 100 170" style="stroke: gray;"/>
+<text x="20" y="120" 
+    textLength="80" lengthAdjust="spacing">Two words</text>
+<text x="20" y="160" 
+    textLength="80" lengthAdjust="spacingAndGlyphs">Two words</text>
+</g>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/jt10.svg b/svg-example/res/com/kitfox/svg/example/jt10.svg
new file mode 100644
index 0000000..e893cbf
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/jt10.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" id="svg" version="1.0" width="400" preserveAspectRatio="xMidYMid meet" viewBox="0 0 400 400" height="400" xmlns="http://www.w3.org/2000/svg">
+<rect x="100" y="100" transform="matrix( 1, 0, 0, 1, 0, 0)" width="100" style="fill:#ccccff;" id="rect0" height="100"/>
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/jt11.svg b/svg-example/res/com/kitfox/svg/example/jt11.svg
new file mode 100644
index 0000000..65dbae0
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/jt11.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" id="svg" version="1.0" width="800px" preserveAspectRatio="xMidYMid meet" viewBox="0 0 800.0 800.0" height="800px" xmlns="http://www.w3.org/2000/svg">
+<rect x="400" y="400" transform="matrix( 1, 0, 0, 1, 0, 0)" width="399" style="stroke:#000000;fill:none;" height="399" id="rect0"/>
+<use id="use0" transform="matrix( 1, 0, 0, 1, 0, 0)" xlink:show="embed" xlink:type="simple" preserveAspectRatio="none meet" x="400" y="400" xlink:href="jt10.svg#svg" xlink:actuate="onLoad"/>
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/lineaire0.svg b/svg-example/res/com/kitfox/svg/example/lineaire0.svg
new file mode 100644
index 0000000..80b2032
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/lineaire0.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<svg id="svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" contentScriptType="text/ecmascript">
+<defs><linearGradient xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" gradientTransform="" id="lineaire0" gradientUnits="objectBoundingBox" spreadMethod="pad" xlink:show="other" xlink:type="simple" x1="0%" y1="0%" x2="100%" y2="0%" xlink:actuate="onLoad">
+<stop style="stop-color:#999999;stop-opacity:1;" offset="0%"/>
+<stop style="stop-color:#3333ff;stop-opacity:1;" offset="15%"/>
+<stop style="stop-color:#ff33cc;stop-opacity:1;" offset="33%"/>
+<stop style="stop-color:#ff3333;stop-opacity:1;" offset="50%"/>
+<stop style="stop-color:#ffff33;stop-opacity:1;" offset="69%"/>
+<stop style="stop-color:#66ffcc;stop-opacity:1;" offset="88%"/>
+</linearGradient>
+</defs></svg>
diff --git a/svg-example/res/com/kitfox/svg/example/madame.svg b/svg-example/res/com/kitfox/svg/example/madame.svg
new file mode 100644
index 0000000..c82c3a8
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/madame.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="300px" height="300px" viewBox="0 0 389.885 1055.789" enable-background="new 0 0 389.885 1055.789" xml:space="preserve">
+<path d="M527x524S36d00479x476S20500472x485S20500517x486S2d608489x503S1f552469x500"/>
+</svg>
+
diff --git a/svg-example/res/com/kitfox/svg/example/madame2.svg b/svg-example/res/com/kitfox/svg/example/madame2.svg
new file mode 100644
index 0000000..114de6d
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/madame2.svg
@@ -0,0 +1,25 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="58" height="48">
+<metadata>M527x524S36d00479x476S20500472x485S20500517x486S2d608489x503S1f552469x500</metadata>
+<g transform="translate(10,0)" ><g>
+  <path id="rect2813" d="M 0,0 42,0 42,4 0,4 0,0 z" fill="#000000" />
+</g></g>
+<g transform="translate(3,9)" ><g transform="scale(0.909 1)">
+  <path id="rect2815" d="m 4.75,0 0,4.1875 L 1.125,2.09375 0.375,3.40625 4,5.5 0.375,7.59375 1.125,8.90625 4.75,6.8125 4.75,11 l 1.5,0 0,-4.1875 3.625,2.09375 0.75,-1.3125 L 7,5.5 10.625,3.40625 9.875,2.09375 6.25,4.1875 6.25,0 4.75,0 z" fill="#000000" />
+</g></g>
+<g transform="translate(48,10)" ><g transform="scale(0.909 1)">
+  <path id="rect2815" d="m 4.75,0 0,4.1875 L 1.125,2.09375 0.375,3.40625 4,5.5 0.375,7.59375 1.125,8.90625 4.75,6.8125 4.75,11 l 1.5,0 0,-4.1875 3.625,2.09375 0.75,-1.3125 L 7,5.5 10.625,3.40625 9.875,2.09375 6.25,4.1875 6.25,0 4.75,0 z" fill="#000000" />
+</g></g>
+<g transform="translate(20,27)" ><g>
+  <path id="path2814" d="M 29,1.0000003 18,12 29,12 29,1.0000003 z" fill="#000000" />
+  <path id="rect2819" d="m 13,0 c 3.589851,0 6.834963,1.4599627 9.1875,3.8125 l 2,2 -1.375,1.375 -2.03125,-1.96875 C 18.790641,3.2281415 16.037566,2 13,2 9.962434,2 7.209359,3.2281415 5.21875,5.21875 L 1.40625,9 0,7.59375 3.8125,3.8125 C 6.165037,1.4599627 9.410149,0 13,0 z" fill="#000000" />
+</g></g>
+<g transform="translate(0,24)" ><g transform="translate(0 24) rotate(270)">
+  <rect id="base" x="9" y="0" width="15" height="15" fill="#000000" />
+  <path id="fill" d="M 9,3 9,6 24,6 24,3 9,3 z" fill="#ffffff" />
+  <rect id="thumb" x="0" y="7" width="9" height="2" fill="#000000" />
+</g></g>
+</svg>
+
diff --git a/svg-example/res/com/kitfox/svg/example/map.svg b/svg-example/res/com/kitfox/svg/example/map.svg
new file mode 100644
index 0000000..a9ac726
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/map.svg
@@ -0,0 +1,800 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- 由 Microsoft Visio, SVG Export 產生 svg_test.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+		xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="11.6929in" height="8.26772in"
+		viewBox="0 0 841.89 595.276" xml:space="preserve" color-interpolation-filters="sRGB" class="st27">
+	<title>瘛勗??喟????孵?</title>
+	<v:documentProperties v:langID="1028" v:metric="true" v:viewMarkup="false">
+		<v:userDefs>
+			<v:ud v:nameU="msvConvertTheme"/>
+			<v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+		</v:userDefs>
+	</v:documentProperties>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#000000;font-family:標楷體;font-size:1.99999em}
+		.st2 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:4.08}
+		.st3 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {stroke:#000000;stroke-dasharray:8.4,6;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.2}
+		.st5 {marker-start:url(#mrkr13-28);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.16}
+		.st6 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.46153846153846}
+		.st7 {marker-end:url(#mrkr13-45);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.16}
+		.st8 {marker-end:url(#mrkr13-56);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.16}
+		.st9 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st10 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.2}
+		.st11 {stroke:#000000;stroke-dasharray:1.68,1.2;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st12 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st13 {fill:#000000;font-family:新細明體;font-size:0.666664em}
+		.st14 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st15 {fill:#000000;font-family:標楷體;font-size:1.00001em}
+		.st16 {fill:#ff0000;font-family:標楷體;font-size:0.666664em}
+		.st17 {font-size:1em}
+		.st18 {marker-end:url(#mrkr13-186);stroke:#000000;stroke-dasharray:0.72,1.44;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st19 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.22222222222222}
+		.st20 {fill:#ffffff;stroke:#000000;stroke-dasharray:0.72,1.44;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st21 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.16}
+		.st22 {marker-start:url(#mrkr1-233);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st23 {marker-end:url(#mrkr1-249);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st24 {stroke:#ff0000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st25 {fill:#ff0000;font-family:新細明體;font-size:0.666664em}
+		.st26 {stroke:#000000;stroke-dasharray:3.6,2.16;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st27 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend13">
+			<path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr13-28" class="st6" v:arrowType="13" v:arrowSize="2" v:setback="6.33333" refX="6.3333333333333"
+				orient="auto" markerUnits="strokeWidth" overflow="visible">
+			<use xlink:href="#lend13" transform="scale(2.1666666666667) "/>
+		</marker>
+		<marker id="mrkr13-45" class="st6" v:arrowType="13" v:arrowSize="2" v:setback="6.5" refX="-6.5" orient="auto"
+				markerUnits="strokeWidth" overflow="visible">
+			<use xlink:href="#lend13" transform="scale(-2.1666666666667,-2.1666666666667) "/>
+		</marker>
+		<marker id="mrkr13-56" class="st6" v:arrowType="13" v:arrowSize="2" v:setback="6.33333" refX="-6.3333333333333"
+				orient="auto" markerUnits="strokeWidth" overflow="visible">
+			<use xlink:href="#lend13" transform="scale(-2.1666666666667,-2.1666666666667) "/>
+		</marker>
+		<marker id="mrkr13-186" class="st19" v:arrowType="13" v:arrowSize="2" v:setback="13.5" refX="-13.5" orient="auto"
+				markerUnits="strokeWidth" overflow="visible">
+			<use xlink:href="#lend13" transform="scale(-4.5,-4.5) "/>
+		</marker>
+		<g id="lend1">
+			<path d="M 1 -1 L 0 0 L 1 1 " style="stroke-linecap:round;stroke-linejoin:round;fill:none"/>
+		</g>
+		<marker id="mrkr1-233" class="st19" v:arrowType="1" v:arrowSize="2" orient="auto" markerUnits="strokeWidth"
+				overflow="visible">
+			<use xlink:href="#lend1" transform="scale(4.5) "/>
+		</marker>
+		<marker id="mrkr1-249" class="st19" v:arrowType="1" v:arrowSize="2" orient="auto" markerUnits="strokeWidth"
+				overflow="visible">
+			<use xlink:href="#lend1" transform="scale(-4.5,-4.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<v:userDefs>
+			<v:ud v:nameU="SchemeName" v:val="VT4(Black & White)"/>
+		</v:userDefs>
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="19" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+		<v:layer v:name="流程圖" v:index="0"/>
+		<v:layer v:name="連接器" v:index="1"/>
+		<g id="shape64-1" v:mID="64" v:groupContext="shape" transform="translate(63,-486)">
+			<title>工作表.64</title>
+			<desc>石碇交流道連絡道路至段</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="351" cy="550.276" width="702" height="90"/>
+			<text x="87" y="557.48" class="st1" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>石碇交流道連絡道路0+000至1k+800段</text>		</g>
+		<g id="shape3-3" v:mID="3" v:groupContext="shape" transform="translate(27,-54)">
+			<title>工作表.3</title>
+			<path d="M0 595.28 L783 595.28" class="st2"/>
+		</g>
+		<g id="shape1-6" v:mID="1" v:groupContext="shape" transform="translate(769.306,570.101) rotate(138.24)">
+			<title>工作表.1</title>
+			<path d="M-0 595.28 A245.801 217.715 55.95 0 1 318.85 595.28" class="st2"/>
+		</g>
+		<g id="shape2-9" v:mID="2" v:groupContext="shape" transform="translate(922.151,-247.8) rotate(46.0809)">
+			<title>工作表.2</title>
+			<path d="M0 526.74 A225.141 234 -180 0 0 318.4 526.74" class="st2"/>
+		</g>
+		<g id="shape8-12" v:mID="8" v:groupContext="shape" transform="translate(531,-146.427)">
+			<title>工作表.8</title>
+			<rect x="0" y="578.287" width="83.9326" height="16.9888" rx="8.49438" ry="8.49438" class="st3"/>
+		</g>
+		<g id="shape10-14" v:mID="10" v:groupContext="shape" transform="translate(562.5,-108)">
+			<title>工作表.10</title>
+			<path d="M0 595.28 L247.5 595.28" class="st4"/>
+		</g>
+		<g id="shape11-17" v:mID="11" v:groupContext="shape" transform="translate(620.576,-204.784) rotate(-0.683195)">
+			<title>工作表.11</title>
+			<path d="M0 595.28 L182.34 595.28" class="st4"/>
+		</g>
+		<g id="shape12-20" v:mID="12" v:groupContext="shape" transform="translate(774.606,-248.258) rotate(1.06091)">
+			<title>工作表.12</title>
+			<path d="M0 595.28 L46.42 595.28" class="st2"/>
+		</g>
+		<g id="shape14-23" v:mID="14" v:groupContext="shape" transform="translate(571.5,-231.75)">
+			<title>工作表.14</title>
+			<path d="M13.68 595.28 L14.04 595.28 L50.97 595.28" class="st5"/>
+		</g>
+		<g id="shape9-29" v:mID="9" v:groupContext="shape" transform="translate(691.382,-146.427)">
+			<title>工作表.9</title>
+			<rect x="0" y="578.287" width="114.118" height="16.9888" rx="8.49438" ry="8.49438" class="st3"/>
+		</g>
+		<g id="shape17-31" v:mID="17" v:groupContext="shape" transform="translate(-33.1506,431.86) rotate(-90)">
+			<title>工作表.17</title>
+			<path d="M0 595.28 L84.94 595.28" class="st2"/>
+		</g>
+		<g id="shape18-34" v:mID="18" v:groupContext="shape" transform="translate(142.965,760.876) rotate(-153.208)">
+			<title>工作表.18</title>
+			<path d="M0 595.28 L60.74 595.28" class="st2"/>
+		</g>
+		<g id="shape19-37" v:mID="19" v:groupContext="shape" transform="translate(527.735,-354.566) rotate(11.2684)">
+			<title>工作表.19</title>
+			<path d="M0 595.28 L28.85 595.28" class="st2"/>
+		</g>
+		<g id="shape25-40" v:mID="25" v:groupContext="shape" transform="translate(936.976,407.272) rotate(113.199)">
+			<title>工作表.25</title>
+			<path d="M0 595.28 L18.31 595.28" class="st7"/>
+		</g>
+		<g id="shape26-46" v:mID="26" v:groupContext="shape" transform="translate(963.767,415.097) rotate(111.801)">
+			<title>工作表.26</title>
+			<path d="M0 595.28 L8.83 595.28" class="st7"/>
+		</g>
+		<g id="shape27-51" v:mID="27" v:groupContext="shape" transform="translate(985.727,13.0818) rotate(71.5651)">
+			<title>工作表.27</title>
+			<path d="M0 585.6 C1.04 586.3 10.76 595.14 16.72 595.3 L16.98 595.05" class="st8"/>
+		</g>
+		<g id="shape30-57" v:mID="30" v:groupContext="shape" transform="translate(206.751,752.485) rotate(-135)">
+			<title>工作表.30</title>
+			<path d="M0 595.28 L34.01 595.28" class="st7"/>
+		</g>
+		<g id="shape31-62" v:mID="31" v:groupContext="shape" transform="translate(576.77,938.867) rotate(177.984)">
+			<title>工作表.31</title>
+			<path d="M0 595.28 L56.73 595.28" class="st9"/>
+		</g>
+		<g id="shape32-65" v:mID="32" v:groupContext="shape" transform="translate(-44.6234,102.5) rotate(-65.7579)">
+			<title>工作表.32</title>
+			<path d="M0 595.28 L110.02 595.28" class="st9"/>
+		</g>
+		<g id="shape35-68" v:mID="35" v:groupContext="shape" transform="translate(14.26,-155.25) rotate(0.0731531)">
+			<title>工作表.35</title>
+			<path d="M0 595.28 L257.41 595.28" class="st10"/>
+		</g>
+		<g id="shape37-71" v:mID="37" v:groupContext="shape" transform="translate(866.186,440.354) rotate(90)">
+			<title>工作表.37</title>
+			<path d="M0 595.28 L101.93 595.28" class="st2"/>
+		</g>
+		<g id="shape38-74" v:mID="38" v:groupContext="shape" transform="translate(406.791,945.654) rotate(165.964)">
+			<title>工作表.38</title>
+			<path d="M0 595.28 A87.3006 29.5979 2.48 0 1 122.58 595.28" class="st11"/>
+		</g>
+		<g id="shape39-77" v:mID="39" v:groupContext="shape" transform="translate(566.25,846.771) rotate(150.255)">
+			<title>工作表.39</title>
+			<path d="M0 595.28 L20.2 595.28" class="st7"/>
+		</g>
+		<g id="shape40-82" v:mID="40" v:groupContext="shape" transform="translate(595.98,906.232) rotate(150.255)">
+			<title>工作表.40</title>
+			<path d="M0 595.28 L20.2 595.28" class="st7"/>
+		</g>
+		<g id="group118-87" transform="translate(872.473,495.401) rotate(90)" v:mID="118" v:groupContext="group">
+			<title>四色燈.118</title>
+			<g id="shape119-88" v:mID="119" v:groupContext="shape" v:layerMember="0">
+				<title>單燈.6</title>
+				<desc>R</desc>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+					<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+					<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+				</v:custProps>
+				<v:textBlock v:margins="rect(2,2,2,2)"/>
+				<v:textRect cx="5.35079" cy="589.925" width="10.71" height="10.7016"/>
+				<path d="M0 589.92 A5.35079 5.35079 0 0 1 10.7 589.92 A5.35079 5.35079 0 0 1 0 589.92 Z" class="st12"/>
+				<text x="2.84" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>R</text>			</g>
+			<g id="shape120-91" v:mID="120" v:groupContext="shape" v:layerMember="0" transform="translate(10.7016,0)">
+				<title>單燈.7</title>
+				<desc>Y</desc>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+					<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+					<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+				</v:custProps>
+				<v:textBlock v:margins="rect(2,2,2,2)"/>
+				<v:textRect cx="5.35079" cy="589.925" width="10.71" height="10.7016"/>
+				<path d="M0 589.92 A5.35079 5.35079 0 0 1 10.7 589.92 A5.35079 5.35079 0 0 1 0 589.92 Z" class="st12"/>
+				<text x="2.64" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>Y</text>			</g>
+			<g id="shape122-94" v:mID="122" v:groupContext="shape" v:layerMember="0" transform="translate(21.4032,-1.13687E-013)">
+				<title>單燈</title>
+				<desc>G</desc>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+					<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+					<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+				</v:custProps>
+				<v:textBlock v:margins="rect(2,2,2,2)"/>
+				<v:textRect cx="5.35079" cy="589.925" width="10.71" height="10.7016"/>
+				<path d="M0 589.92 A5.35079 5.35079 0 0 1 10.7 589.92 A5.35079 5.35079 0 0 1 0 589.92 Z" class="st12"/>
+				<text x="2.64" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>G</text>			</g>
+		</g>
+		<g id="shape111-97" v:mID="111" v:groupContext="shape" v:layerMember="1"
+				transform="translate(-308.648,486.572) rotate(-90) scale(-1,1)">
+			<title>線型連接器</title>
+			<path d="M0 595.28 L53.51 595.28" class="st14"/>
+		</g>
+		<g id="shape112-100" v:mID="112" v:groupContext="shape" v:layerMember="0" transform="translate(281.277,-44.4944)">
+			<title>連接器</title>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+				<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+				<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+			</v:custProps>
+			<path d="M0 589.92 A5.35079 5.35079 0 1 1 10.7 589.92 A5.35079 5.35079 0 1 1 0 589.92 Z" class="st12"/>
+		</g>
+		<g id="group129-102" transform="translate(864.062,511.705) rotate(120)" v:mID="129" v:groupContext="group">
+			<title>單桿.9</title>
+			<g id="shape130-103" v:mID="130" v:groupContext="shape" v:layerMember="1"
+					transform="translate(599.509,513.397) rotate(86.4884)">
+				<title>線型連接器</title>
+				<path d="M0 595.28 L41.52 595.28" class="st14"/>
+			</g>
+			<g id="shape131-106" v:mID="131" v:groupContext="shape" v:layerMember="0" transform="translate(5.08671,0)">
+				<title>連接器</title>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+					<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+					<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+				</v:custProps>
+				<path d="M0 593.29 A2.80744 1.98577 0 1 1 5.61 593.29 A2.80744 1.98577 0 1 1 0 593.29 Z" class="st12"/>
+			</g>
+		</g>
+		<g id="shape59-108" v:mID="59" v:groupContext="shape" transform="translate(245.427,1120.57) rotate(180)">
+			<title>工作表.59</title>
+			<path d="M13.68 595.28 L14.04 595.28 L50.97 595.28" class="st5"/>
+		</g>
+		<g id="group49-113" transform="translate(94.1522,750.222) rotate(-150)" v:mID="49" v:groupContext="group">
+			<title>四色燈.11</title>
+			<g id="shape60-114" v:mID="60" v:groupContext="shape" v:layerMember="0">
+				<title>單燈.6</title>
+				<desc>R</desc>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+					<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+					<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+				</v:custProps>
+				<v:textBlock v:margins="rect(2,2,2,2)"/>
+				<v:textRect cx="5.35079" cy="589.925" width="10.71" height="10.7016"/>
+				<path d="M0 589.92 A5.35079 5.35079 0 0 1 10.7 589.92 A5.35079 5.35079 0 1 1 0 589.92 Z" class="st12"/>
+				<text x="2.84" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>R</text>			</g>
+			<g id="shape61-117" v:mID="61" v:groupContext="shape" v:layerMember="0" transform="translate(10.7016,0)">
+				<title>單燈.7</title>
+				<desc>Y</desc>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+					<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+					<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+				</v:custProps>
+				<v:textBlock v:margins="rect(2,2,2,2)"/>
+				<v:textRect cx="5.35079" cy="589.925" width="10.71" height="10.7016"/>
+				<path d="M0 589.92 A5.35079 5.35079 0 0 1 10.7 589.92 A5.35079 5.35079 0 1 1 0 589.92 Z" class="st12"/>
+				<text x="2.64" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>Y</text>			</g>
+			<g id="shape62-120" v:mID="62" v:groupContext="shape" v:layerMember="0" transform="translate(22.1827,0.161815)">
+				<title>單燈.8</title>
+				<desc>←</desc>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+					<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+					<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+				</v:custProps>
+				<v:textBlock v:margins="rect(2,2,2,2)"/>
+				<v:textRect cx="5.35079" cy="589.925" width="10.71" height="10.7016"/>
+				<path d="M0 589.92 A5.35079 5.35079 0 0 1 10.7 589.92 A5.35079 5.35079 0 1 1 0 589.92 Z" class="st12"/>
+				<text x="2" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>←</text>			</g>
+		</g>
+		<g id="shape66-123" v:mID="66" v:groupContext="shape" transform="translate(135,-222.704)">
+			<title>工作表.66</title>
+			<desc>往北二高深坑交流道</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="59.4607" cy="586.609" width="118.93" height="17.3336"/>
+			<text x="5.46" y="590.21" class="st15" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>往北二高深坑交流道</text>		</g>
+		<g id="shape82-125" v:mID="82" v:groupContext="shape" transform="translate(270.91,-367.281)">
+			<title>工作表.82</title>
+			<desc>遷移約二十五公尺並加裝左轉燈號</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="37.7949" cy="585.96" width="75.59" height="18.6311"/>
+			<text x="5.8" y="583.56" class="st16" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>遷移約二十五公尺<tspan x="9.8"
+						dy="1.2em" class="st17">並加裝左轉燈號</tspan></text>		</g>
+		<g id="shape4-128" v:mID="4" v:groupContext="shape" transform="translate(986.23,-127.275) rotate(50.1944)">
+			<title>工作表.4</title>
+			<path d="M0 577.31 A93.8235 61.3498 -180 0 0 132.69 577.31" class="st9"/>
+		</g>
+		<g id="shape5-131" v:mID="5" v:groupContext="shape" transform="translate(1040.96,-1.06711) rotate(60.4998)">
+			<title>工作表.5</title>
+			<path d="M0 595.28 L41.57 595.28" class="st9"/>
+		</g>
+		<g id="shape6-134" v:mID="6" v:groupContext="shape" transform="translate(1138,240.195) rotate(89.7967)">
+			<title>工作表.6</title>
+			<path d="M0 595.28 A72.6548 1.84463 0.16 0 1 102.1 595.28" class="st9"/>
+		</g>
+		<g id="shape7-137" v:mID="7" v:groupContext="shape" transform="translate(552.89,-251.342) rotate(-0.280354)">
+			<title>工作表.7</title>
+			<path d="M0 595.28 L69.99 595.28" class="st9"/>
+		</g>
+		<g id="shape91-140" v:mID="91" v:groupContext="shape" transform="translate(1010.34,16.2634) rotate(58.0642)">
+			<title>工作表.91</title>
+			<path d="M0 595.28 L17.6 595.28" class="st9"/>
+		</g>
+		<g id="shape92-143" v:mID="92" v:groupContext="shape" transform="translate(1037.31,39.5876) rotate(62.1318)">
+			<title>工作表.92</title>
+			<path d="M0 595.28 L31.29 595.28" class="st9"/>
+		</g>
+		<g id="shape93-146" v:mID="93" v:groupContext="shape" transform="translate(1025,-4.52983) rotate(58.6431)">
+			<title>工作表.93</title>
+			<path d="M0 595.28 L46.26 595.28" class="st9"/>
+		</g>
+		<g id="group52-149" transform="translate(562.5,-204.826)" v:mID="52" v:groupContext="group">
+			<title>工作表.52</title>
+			<g id="shape13-150" v:mID="13" v:groupContext="shape" transform="translate(0,-2.1236)">
+				<title>工作表.13</title>
+				<path d="M0 595.28 L65.17 595.28" class="st14"/>
+			</g>
+			<g id="shape51-153" v:mID="51" v:groupContext="shape">
+				<title>工作表.51</title>
+				<path d="M0 595.28 L65.17 595.28" class="st14"/>
+			</g>
+		</g>
+		<g id="shape55-156" v:mID="55" v:groupContext="shape" transform="translate(1092.47,234.311) rotate(101.31)">
+			<title>工作表.55</title>
+			<path d="M-0 595.28 A92.5061 23.8968 1.79 0 1 129.94 595.28" class="st11"/>
+		</g>
+		<g id="group57-159" transform="translate(381.337,-381.084)" v:mID="57" v:groupContext="group">
+			<title>工作表.57</title>
+			<g id="shape23-160" v:mID="23" v:groupContext="shape" transform="translate(603.075,603.907) rotate(100.081)">
+				<title>工作表.23</title>
+				<path d="M-0 595.28 A69.1825 31.4201 3.71 0 1 97.06 595.28" class="st9"/>
+			</g>
+			<g id="shape56-163" v:mID="56" v:groupContext="shape" transform="translate(605.198,603.907) rotate(100.081)">
+				<title>工作表.56</title>
+				<path d="M-0 595.28 A69.1825 31.4201 3.71 0 1 97.06 595.28" class="st9"/>
+			</g>
+		</g>
+		<g id="group22-166" transform="translate(437.143,-358.787)" v:mID="22" v:groupContext="group">
+			<title>工作表.22</title>
+			<g id="shape21-167" v:mID="21" v:groupContext="shape" transform="translate(608.915,580.196) rotate(100.046)">
+				<title>工作表.21</title>
+				<path d="M-0 595.28 A86.0262 31.442 2.73 0 1 120.77 595.28" class="st9"/>
+			</g>
+			<g id="shape20-170" v:mID="20" v:groupContext="shape" transform="translate(607.148,578.164) rotate(99.8477)">
+				<title>工作表.20</title>
+				<path d="M-0 595.28 A85.9741 31.4419 2.73 0 1 120.7 595.28" class="st9"/>
+			</g>
+		</g>
+		<g id="group29-173" transform="translate(406.16,-367.281)" v:mID="29" v:groupContext="group">
+			<title>工作表.29</title>
+			<g id="shape67-174" v:mID="67" v:groupContext="shape" transform="translate(605.804,600.628) rotate(101.215)">
+				<title>工作表.67</title>
+				<path d="M-0 595.28 A80.2021 31.436 3 0 1 112.58 595.28" class="st9"/>
+			</g>
+			<g id="shape68-177" v:mID="68" v:groupContext="shape" transform="translate(607.927,600.628) rotate(101.215)">
+				<title>工作表.68</title>
+				<path d="M-0 595.28 A80.2021 31.436 3 0 1 112.58 595.28" class="st9"/>
+			</g>
+		</g>
+		<g id="group72-180" transform="translate(787.147,583.135) rotate(120)" v:mID="72" v:groupContext="group">
+			<title>單桿.72</title>
+			<g id="shape73-181" v:mID="73" v:groupContext="shape" v:layerMember="1"
+					transform="translate(-589.925,531.066) rotate(-90) scale(-1,1)">
+				<title>線型連接器</title>
+				<path d="M0 595.28 L43.79 595.28" class="st18"/>
+			</g>
+			<g id="shape74-187" v:mID="74" v:groupContext="shape" v:layerMember="0">
+				<title>連接器</title>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+					<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+					<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+				</v:custProps>
+				<path d="M0 589.92 A5.35079 5.35079 0 0 1 10.7 589.92 A5.35079 5.35079 0 1 1 0 589.92 Z" class="st20"/>
+			</g>
+		</g>
+		<g id="group75-190" transform="translate(575.499,-220.592) rotate(30)" v:mID="75" v:groupContext="group">
+			<title>四色燈.75</title>
+			<g id="shape76-191" v:mID="76" v:groupContext="shape" v:layerMember="0" transform="translate(3.85119,1.21334)">
+				<title>單燈.6</title>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+					<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+					<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+				</v:custProps>
+				<path d="M0 589.92 A5.35079 5.35079 0 1 1 10.7 589.92 A5.35079 5.35079 0 1 1 0 589.92 Z" class="st20"/>
+			</g>
+			<g id="shape77-194" v:mID="77" v:groupContext="shape" v:layerMember="0" transform="translate(13.8829,1.60007)">
+				<title>單燈.7</title>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+					<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+					<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+				</v:custProps>
+				<path d="M0 589.92 A5.35079 5.35079 0 1 1 10.7 589.92 A5.35079 5.35079 0 1 1 0 589.92 Z" class="st20"/>
+			</g>
+		</g>
+		<g id="group54-197" transform="translate(194.461,-137.933)" v:mID="54" v:groupContext="group">
+			<title>工作表.54</title>
+			<g id="shape50-198" v:mID="50" v:groupContext="shape">
+				<title>工作表.50</title>
+				<path d="M0 595.28 L29.73 595.28" class="st21"/>
+			</g>
+			<g id="shape53-201" v:mID="53" v:groupContext="shape" transform="translate(403.884,1058.75) rotate(143.13)">
+				<title>工作表.53</title>
+				<path d="M13.13 591.44 L13.48 591.34 A17.3962 13.1838 42.8 0 1 21.24 595.28" class="st5"/>
+			</g>
+		</g>
+		<g id="group33-206" transform="translate(185.966,-101.831)" v:mID="33" v:groupContext="group">
+			<title>工作表.33</title>
+			<g id="shape28-207" v:mID="28" v:groupContext="shape" transform="translate(59.4607,1190.55) rotate(180)">
+				<title>工作表.28</title>
+				<path d="M13.68 595.28 L14.04 595.28 L50.97 595.28" class="st5"/>
+			</g>
+			<g id="shape34-212" v:mID="34" v:groupContext="shape">
+				<title>工作表.34</title>
+				<path d="M0 595.28 L29.73 595.28" class="st21"/>
+			</g>
+			<g id="shape58-215" v:mID="58" v:groupContext="shape" transform="translate(471.89,994.963) rotate(135)">
+				<title>工作表.58</title>
+				<path d="M12.97 590.92 L13.31 590.8 A22.7055 14.2849 17.84 0 1 30.03 595.28" class="st5"/>
+			</g>
+		</g>
+		<g id="shape94-220" v:mID="94" v:groupContext="shape" transform="translate(571.5,-180)">
+			<title>工作表.94</title>
+			<path d="M13.68 595.28 L14.04 595.28 L50.97 595.28" class="st5"/>
+		</g>
+		<g id="shape98-225" v:mID="98" v:groupContext="shape" transform="translate(576,-108.506)">
+			<title>工作表.98</title>
+			<desc>新設乙組雙旋臂三色號誌 設於路燈後中央分隔島上</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="58.6264" cy="586.781" width="117.26" height="16.9888"/>
+			<text x="14.63" y="584.38" class="st16" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>新設乙組雙旋臂三色號誌<v:newlineChar/><tspan
+						x="6.63" dy="1.2em" class="st17">(</tspan>設於路燈後中央分隔島上)</text>		</g>
+		<g id="shape99-228" v:mID="99" v:groupContext="shape" transform="translate(945.492,-5.71495) rotate(41.1859)">
+			<title>工作表.99</title>
+			<path d="M0 595.28 L45.15 595.28" class="st22"/>
+		</g>
+		<g id="shape100-234" v:mID="100" v:groupContext="shape" transform="translate(355.5,-136.797)">
+			<title>工作表.100</title>
+			<desc>原有直立式號誌拆除移至新設號誌上並加裝左轉燈號</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.9045" cy="579.073" width="63.81" height="32.4057"/>
+			<text x="7.9" y="567.07" class="st16" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>原有直立式號<tspan x="7.9"
+						dy="1.2em" class="st17">誌拆除移至新</tspan><tspan x="7.9" dy="1.2em" class="st17">設號誌上並加</tspan><tspan x="11.9"
+						dy="1.2em" class="st17">裝左轉燈號</tspan></text>		</g>
+		<g id="shape101-239" v:mID="101" v:groupContext="shape" transform="translate(549.072,1018.56) rotate(177.992)">
+			<title>工作表.101</title>
+			<path d="M0 595.28 L112.97 595.28" class="st22"/>
+		</g>
+		<g id="shape107-244" v:mID="107" v:groupContext="shape" transform="translate(-165.466,138.799) rotate(-51.2223)">
+			<title>工作表.107</title>
+			<path d="M0 595.28 L91.42 595.28" class="st23"/>
+		</g>
+		<g id="shape15-250" v:mID="15" v:groupContext="shape" v:layerMember="0" transform="translate(299.537,-282.337)">
+			<title>單燈.15</title>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+				<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+				<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+			</v:custProps>
+			<path d="M0 589.92 A5.35079 5.35079 0 0 1 10.7 589.92 A5.35079 5.35079 0 1 1 0 589.92 Z" class="st12"/>
+		</g>
+		<g id="group106-252" transform="translate(-296.675,527.672) rotate(-90)" v:mID="106" v:groupContext="group">
+			<title>三色燈.13</title>
+			<g id="shape108-253" v:mID="108" v:groupContext="shape" v:layerMember="0">
+				<title>單燈</title>
+				<desc>R</desc>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+					<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+					<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+				</v:custProps>
+				<v:textBlock v:margins="rect(2,2,2,2)"/>
+				<v:textRect cx="5.35079" cy="589.925" width="10.71" height="10.7016"/>
+				<path d="M0 589.92 A5.35079 5.35079 0 0 1 10.7 589.92 A5.35079 5.35079 0 1 1 0 589.92 Z" class="st12"/>
+				<text x="2.84" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>R</text>			</g>
+			<g id="shape109-256" v:mID="109" v:groupContext="shape" v:layerMember="0" transform="translate(10.7016,0)">
+				<title>單燈.6</title>
+				<desc>Y</desc>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+					<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+					<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+				</v:custProps>
+				<v:textBlock v:margins="rect(2,2,2,2)"/>
+				<v:textRect cx="5.35079" cy="589.925" width="10.71" height="10.7016"/>
+				<path d="M0 589.92 A5.35079 5.35079 0 0 1 10.7 589.92 A5.35079 5.35079 0 1 1 0 589.92 Z" class="st12"/>
+				<text x="2.64" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>Y</text>			</g>
+			<g id="shape110-259" v:mID="110" v:groupContext="shape" v:layerMember="0" transform="translate(21.4032,0)">
+				<title>單燈.7</title>
+				<desc>G</desc>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+					<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+					<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+				</v:custProps>
+				<v:textBlock v:margins="rect(2,2,2,2)"/>
+				<v:textRect cx="5.35079" cy="589.925" width="10.71" height="10.7016"/>
+				<path d="M0 589.92 A5.35079 5.35079 0 0 1 10.7 589.92 A5.35079 5.35079 0 1 1 0 589.92 Z" class="st12"/>
+				<text x="2.64" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>G</text>			</g>
+		</g>
+		<g id="group104-262" transform="translate(139.247,-120.944)" v:mID="104" v:groupContext="group">
+			<title>工作表.104</title>
+			<g id="shape114-263" v:mID="114" v:groupContext="shape" transform="translate(0,-2.1236)">
+				<title>工作表.114</title>
+				<path d="M0 595.28 L131.66 595.28" class="st14"/>
+			</g>
+			<g id="shape115-266" v:mID="115" v:groupContext="shape">
+				<title>工作表.115</title>
+				<path d="M0 595.28 L131.66 595.28" class="st14"/>
+			</g>
+		</g>
+		<g id="group16-269" transform="translate(139.247,-86.9663)" v:mID="16" v:groupContext="group">
+			<title>工作表.16</title>
+			<g id="shape36-270" v:mID="36" v:groupContext="shape" transform="translate(0,-2.1236)">
+				<title>工作表.36</title>
+				<path d="M0 595.28 L131.66 595.28" class="st14"/>
+			</g>
+			<g id="shape116-273" v:mID="116" v:groupContext="shape">
+				<title>工作表.116</title>
+				<path d="M0 595.28 L131.66 595.28" class="st14"/>
+			</g>
+		</g>
+		<g id="shape117-276" v:mID="117" v:groupContext="shape" transform="translate(202.955,-299.326)">
+			<title>工作表.117</title>
+			<desc>原位置設置乙根拉線裝置架</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="29.7303" cy="582.534" width="59.47" height="25.4831"/>
+			<text x="5.73" y="580.13" class="st16" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>原位置設置乙<tspan x="5.73"
+						dy="1.2em" class="st17">根拉線裝置架</tspan></text>		</g>
+		<g id="shape121-279" v:mID="121" v:groupContext="shape" transform="translate(588.368,-216.338) rotate(33.6901)">
+			<title>工作表.121</title>
+			<path d="M0 595.28 L15.31 595.28" class="st23"/>
+		</g>
+		<g id="shape123-284" v:mID="123" v:groupContext="shape" transform="translate(-73.8077,-190.986) rotate(-35.7728)">
+			<title>工作表.123</title>
+			<desc>4c30m</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="55.3446" cy="589.692" width="110.69" height="11.1678"/>
+			<path d="M0 595.28 L110.69 595.28" class="st24"/>
+			<text x="45.11" y="592.09" class="st25" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>4c30m</text>		</g>
+		<g id="shape81-288" v:mID="81" v:groupContext="shape" v:layerMember="0" transform="translate(489.64,-40.2472)">
+			<title>單燈.15.81</title>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+				<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+				<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+			</v:custProps>
+			<path d="M0 593.15 A2.1236 2.1236 0 1 1 4.25 593.15 A2.1236 2.1236 0 1 1 -0 593.15 Z" class="st12"/>
+		</g>
+		<g id="shape132-290" v:mID="132" v:groupContext="shape" transform="translate(513,-36)">
+			<title>工作表.132</title>
+			<desc>設立乙根拉線裝置架</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="27" cy="588.905" width="54" height="12.7416"/>
+			<text x="7" y="586.5" class="st16" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>設立乙根拉<tspan x="11"
+						dy="1.2em" class="st17">線裝置架</tspan></text>		</g>
+		<g id="shape133-293" v:mID="133" v:groupContext="shape" transform="translate(475.839,1148.55) rotate(-175.601)">
+			<title>工作表.133</title>
+			<path d="M0 595.28 L27.69 595.28" class="st23"/>
+		</g>
+		<g id="shape134-298" v:mID="134" v:groupContext="shape" transform="translate(314.369,-46.6728) rotate(2.16555)">
+			<title>工作表.134</title>
+			<desc>12c60m</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="98.9014" cy="592.526" width="197.81" height="5.4984"/>
+			<path d="M0 595.28 L197.8 595.28" class="st24"/>
+			<text x="86.79" y="594.93" class="st25" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>12c60m</text>		</g>
+		<g id="shape135-302" v:mID="135" v:groupContext="shape" transform="translate(-35.781,279.733) rotate(-62.8062)">
+			<title>工作表.135</title>
+			<desc>12c15m</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="60.5764" cy="593.103" width="121.16" height="4.34527"/>
+			<path d="M0 595.28 L121.15 595.28" class="st24"/>
+			<text x="48.47" y="595.5" class="st25" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>12c15m</text>		</g>
+		<g id="group78-306" transform="translate(1134.16,450.365) rotate(90)" v:mID="78" v:groupContext="group">
+			<title>四色燈.78</title>
+			<g id="shape102-307" v:mID="102" v:groupContext="shape" v:layerMember="0">
+				<title>單燈.6</title>
+				<desc>R</desc>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+					<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+					<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+				</v:custProps>
+				<v:textBlock v:margins="rect(2,2,2,2)"/>
+				<v:textRect cx="4.55743" cy="589.925" width="9.12" height="10.7016"/>
+				<path d="M0 589.92 A4.55743 5.35079 0 0 1 9.11 589.92 A4.55743 5.35079 0 0 1 0 589.92 Z" class="st12"/>
+				<text x="2.05" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>R</text>			</g>
+			<g id="shape103-310" v:mID="103" v:groupContext="shape" v:layerMember="0" transform="translate(9.11486,0)">
+				<title>單燈.7</title>
+				<desc>Y</desc>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+					<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+					<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+				</v:custProps>
+				<v:textBlock v:margins="rect(2,2,2,2)"/>
+				<v:textRect cx="4.55743" cy="589.925" width="9.12" height="10.7016"/>
+				<path d="M0 589.92 A4.55743 5.35079 0 0 1 9.11 589.92 A4.55743 5.35079 0 0 1 0 589.92 Z" class="st12"/>
+				<text x="2" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>Y</text>			</g>
+			<g id="shape105-313" v:mID="105" v:groupContext="shape" v:layerMember="0" transform="translate(18.2297,-1.13687E-013)">
+				<title>單燈</title>
+				<desc>G</desc>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+					<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+					<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+				</v:custProps>
+				<v:textBlock v:margins="rect(2,2,2,2)"/>
+				<v:textRect cx="4.55743" cy="589.925" width="9.12" height="10.7016"/>
+				<path d="M0 589.92 A4.55743 5.35079 0 0 1 9.11 589.92 A4.55743 5.35079 0 0 1 0 589.92 Z" class="st12"/>
+				<text x="2" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>G</text>			</g>
+		</g>
+		<g id="group69-316" transform="translate(538.884,-115.18)" v:mID="69" v:groupContext="group">
+			<title>工作表.69</title>
+			<g id="group41-317" transform="translate(5.90259,0)" v:mID="41" v:groupContext="group">
+				<title>180度雙桿.12</title>
+				<g id="shape42-318" v:mID="42" v:groupContext="shape" v:layerMember="1"
+						transform="translate(-589.925,512.455) rotate(-90) scale(-1,1)">
+					<title>線型連接器</title>
+					<path d="M0 595.28 L37.65 595.28" class="st14"/>
+				</g>
+				<g id="shape43-321" v:mID="43" v:groupContext="shape" v:layerMember="0" transform="translate(5.9952E-015,-37.6456)">
+					<title>連接器</title>
+					<v:custProps>
+						<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+						<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+						<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+					</v:custProps>
+					<path d="M0 591.51 A5.35079 3.76456 0 1 1 10.7 591.51 A5.35079 3.76456 0 1 1 0 591.51 Z" class="st12"/>
+				</g>
+				<g id="shape44-323" v:mID="44" v:groupContext="shape" v:layerMember="1"
+						transform="translate(-589.925,557.63) rotate(-90) scale(-1,1)">
+					<title>線型連接器.5</title>
+					<path d="M0 595.28 L37.65 595.28" class="st14"/>
+				</g>
+			</g>
+			<g id="group45-326" transform="translate(-576.799,544.834) rotate(-90)" v:mID="45" v:groupContext="group">
+				<title>三色燈.13</title>
+				<g id="shape46-327" v:mID="46" v:groupContext="shape" v:layerMember="0">
+					<title>單燈</title>
+					<desc>R</desc>
+					<v:custProps>
+						<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+						<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+						<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+					</v:custProps>
+					<v:textBlock v:margins="rect(2,2,2,2)"/>
+					<v:textRect cx="4.96859" cy="589.925" width="9.94" height="10.7016"/>
+					<path d="M0 589.92 A4.96859 5.35079 0 0 1 9.94 589.92 A4.96859 5.35079 0 0 1 0 589.92 Z" class="st12"/>
+					<text x="2.46" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>R</text>				</g>
+				<g id="shape47-330" v:mID="47" v:groupContext="shape" v:layerMember="0" transform="translate(9.93718,0)">
+					<title>單燈.6</title>
+					<desc>Y</desc>
+					<v:custProps>
+						<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+						<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+						<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+					</v:custProps>
+					<v:textBlock v:margins="rect(2,2,2,2)"/>
+					<v:textRect cx="4.96859" cy="589.925" width="9.94" height="10.7016"/>
+					<path d="M0 589.92 A4.96859 5.35079 0 0 1 9.94 589.92 A4.96859 5.35079 0 0 1 0 589.92 Z" class="st12"/>
+					<text x="2.26" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>Y</text>				</g>
+				<g id="shape48-333" v:mID="48" v:groupContext="shape" v:layerMember="0" transform="translate(19.8744,0)">
+					<title>單燈.7</title>
+					<desc>G</desc>
+					<v:custProps>
+						<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+						<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+						<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+					</v:custProps>
+					<v:textBlock v:margins="rect(2,2,2,2)"/>
+					<v:textRect cx="4.96859" cy="589.925" width="9.94" height="10.7016"/>
+					<path d="M0 589.92 A4.96859 5.35079 0 0 1 9.94 589.92 A4.96859 5.35079 0 0 1 0 589.92 Z" class="st12"/>
+					<text x="2.26" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>G</text>				</g>
+			</g>
+		</g>
+		<g id="group113-336" transform="translate(513,-151.994)" v:mID="113" v:groupContext="group">
+			<title>工作表.113</title>
+			<g id="group124-337" transform="translate(464.994,186.922) rotate(51.7)" v:mID="124" v:groupContext="group">
+				<title>四色燈.124</title>
+				<g id="shape125-338" v:mID="125" v:groupContext="shape" v:layerMember="0" transform="translate(32.4424,-2.31441)">
+					<title>單燈.6</title>
+					<desc>R</desc>
+					<v:custProps>
+						<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+						<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+						<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+					</v:custProps>
+					<v:textBlock v:margins="rect(2,2,2,2)"/>
+					<v:textRect cx="5.35079" cy="589.925" width="10.71" height="10.7016"/>
+					<path d="M0 589.92 A5.35079 5.35079 0 1 1 10.7 589.92 A5.35079 5.35079 0 0 1 0 589.92 Z" class="st12"/>
+					<text x="2.84" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>R</text>				</g>
+				<g id="shape126-341" v:mID="126" v:groupContext="shape" v:layerMember="0" transform="translate(20.9488,-1.37473)">
+					<title>單燈.7</title>
+					<desc>Y</desc>
+					<v:custProps>
+						<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+						<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+						<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+					</v:custProps>
+					<v:textBlock v:margins="rect(2,2,2,2)"/>
+					<v:textRect cx="5.35079" cy="589.925" width="10.71" height="10.7016"/>
+					<path d="M0 589.92 A5.35079 5.35079 0 1 1 10.7 589.92 A5.35079 5.35079 0 0 1 0 589.92 Z" class="st12"/>
+					<text x="2.64" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>Y</text>				</g>
+				<g id="shape127-344" v:mID="127" v:groupContext="shape" v:layerMember="0"
+						transform="translate(605.195,583.108) rotate(90)">
+					<title>單燈.8</title>
+					<desc>←</desc>
+					<v:custProps>
+						<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+						<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+						<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+					</v:custProps>
+					<v:textBlock v:margins="rect(2,2,2,2)"/>
+					<v:textRect cx="5.35079" cy="589.925" width="10.71" height="10.7016"/>
+					<path d="M0 589.92 A5.35079 5.35079 0 1 1 10.7 589.92 A5.35079 5.35079 0 0 1 0 589.92 Z" class="st12"/>
+					<text x="2" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>←</text>				</g>
+			</g>
+			<g id="shape95-347" v:mID="95" v:groupContext="shape" transform="translate(-397.86,1004.57) rotate(-133.438)">
+				<title>工作表.95</title>
+				<path d="M0 595.28 L48.74 595.28" class="st14"/>
+			</g>
+		</g>
+		<g id="shape24-350" v:mID="24" v:groupContext="shape" transform="translate(1051.03,-8.87518) rotate(61.2166)">
+			<title>工作表.24</title>
+			<path d="M0 595.28 L29.4 595.28" class="st9"/>
+		</g>
+		<g id="shape138-353" v:mID="138" v:groupContext="shape" transform="translate(1043.75,-47.6861) rotate(58.5423)">
+			<title>工作表.138</title>
+			<path d="M0 595.28 L14.15 595.28" class="st9"/>
+		</g>
+		<g id="shape139-356" v:mID="139" v:groupContext="shape" transform="translate(136.801,933.695) rotate(179.827)">
+			<title>工作表.139</title>
+			<path d="M0 595.28 L117 595.28" class="st2"/>
+		</g>
+		<g id="shape140-359" v:mID="140" v:groupContext="shape" transform="translate(139.5,1069.05) rotate(180)">
+			<title>工作表.140</title>
+			<path d="M0 595.28 L121.5 595.28" class="st26"/>
+		</g>
+		<g id="shape141-362" v:mID="141" v:groupContext="shape" transform="translate(139.5,1102.8) rotate(180)">
+			<title>工作表.141</title>
+			<path d="M0 595.28 L121.5 595.28" class="st26"/>
+		</g>
+		<g id="shape63-365" v:mID="63" v:groupContext="shape" v:layerMember="0" transform="translate(646.679,-292.64) rotate(30)">
+			<title>單燈.8</title>
+			<desc>←</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+				<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+				<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+			</v:custProps>
+			<v:textBlock v:margins="rect(2,2,2,2)"/>
+			<v:textRect cx="5.35079" cy="589.925" width="10.71" height="10.7016"/>
+			<path d="M0 589.92 A5.35079 5.35079 0 0 1 10.7 589.92 A5.35079 5.35079 0 1 1 0 589.92 Z" class="st12"/>
+			<text x="2" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>←</text>		</g>
+		<g id="shape143-368" v:mID="143" v:groupContext="shape" v:layerMember="0"
+				transform="translate(148.246,-55.0655) rotate(-38.3)">
+			<title>單燈.143</title>
+			<desc>←</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="成本" v:prompt="輸入與本處理程序相關的成本。" v:type="2" v:format="$###,###.00" v:langID="1028"/>
+				<v:cp v:nameU="Duration" v:lbl="期間" v:prompt="輸入本步驟的期間。" v:type="2" v:langID="1028"/>
+				<v:cp v:nameU="Resources" v:lbl="資源" v:prompt="輸入完成本任務所需的人數。" v:langID="1028"/>
+			</v:custProps>
+			<v:textBlock v:margins="rect(2,2,2,2)"/>
+			<v:textRect cx="5.35079" cy="589.925" width="10.71" height="10.7016"/>
+			<path d="M0 589.92 A5.35079 5.35079 0 1 1 10.7 589.92 A5.35079 5.35079 0 0 1 0 589.92 Z" class="st12"/>
+			<text x="2" y="592.32" class="st13" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>←</text>		</g>
+	</g>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/map2.svg b/svg-example/res/com/kitfox/svg/example/map2.svg
new file mode 100644
index 0000000..0fa292d
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/map2.svg
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- ? Microsoft Visio, SVG Export ?? svg_test.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+		xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="11.6929in" height="8.26772in"
+		viewBox="0 0 841.89 595.276" xml:space="preserve" color-interpolation-filters="sRGB" class="st27">
+	<title>????????????</title>
+	<v:documentProperties v:langID="1028" v:metric="true" v:viewMarkup="false">
+		<v:userDefs>
+			<v:ud v:nameU="msvConvertTheme"/>
+			<v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+		</v:userDefs>
+	</v:documentProperties>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#000000;font-family:???;font-size:1.99999em}
+		.st2 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:4.08}
+		.st3 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {stroke:#000000;stroke-dasharray:8.4,6;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.2}
+		.st5 {marker-start:url(#mrkr13-28);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.16}
+		.st6 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.46153846153846}
+		.st7 {marker-end:url(#mrkr13-45);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.16}
+		.st8 {marker-end:url(#mrkr13-56);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.16}
+		.st9 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st10 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.2}
+		.st11 {stroke:#000000;stroke-dasharray:1.68,1.2;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st12 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st13 {fill:#000000;font-family:????;font-size:0.666664em}
+		.st14 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st15 {fill:#000000;font-family:???;font-size:1.00001em}
+		.st16 {fill:#ff0000;font-family:???;font-size:0.666664em}
+		.st17 {font-size:1em}
+		.st18 {marker-end:url(#mrkr13-186);stroke:#000000;stroke-dasharray:0.72,1.44;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st19 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.22222222222222}
+		.st20 {fill:#ffffff;stroke:#000000;stroke-dasharray:0.72,1.44;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st21 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.16}
+		.st22 {marker-start:url(#mrkr1-233);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st23 {marker-end:url(#mrkr1-249);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st24 {stroke:#ff0000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st25 {fill:#ff0000;font-family:????;font-size:0.666664em}
+		.st26 {stroke:#000000;stroke-dasharray:3.6,2.16;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st27 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<g id="shape1-6" v:mID="1" v:groupContext="shape" transform="translate(769.306,570.101) rotate(138.24)">
+			<title>???.1</title>
+			<path d="M-0 595.28 A245.801 217.715 55.95 0 1 318.85 595.28" class="st2"/>
+		</g>
+	</g>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/markerEnd.svg b/svg-example/res/com/kitfox/svg/example/markerEnd.svg
new file mode 100644
index 0000000..3e625b7
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/markerEnd.svg
@@ -0,0 +1,94 @@
+<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="213.97078"
+   height="104.38255"
+   id="svg3219"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   sodipodi:docname="sample.svg">
+  <defs
+     id="defs3221">
+    <marker
+       id="Arrow"
+       viewBox="0 0 4 4"
+       refX="2"
+       refY="2"
+       markerUnits="strokeWidth"
+       markerWidth="6"
+       markerHeight="6"
+       orient="auto">
+      <path
+         d="M 4,2 0,0 C 1,1 1,3 0,4 z"
+         style="fill:#0047a1;fill-opacity:1;stroke:none"
+         id="path52"
+         inkscape:connector-curvature="0" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="1"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.8"
+     inkscape:cx="32.414342"
+     inkscape:cy="-8.3185783"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1809"
+     inkscape:window-height="1181"
+     inkscape:window-x="107"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     fit-margin-top="20"
+     fit-margin-right="20"
+     fit-margin-left="20"
+     fit-margin-bottom="20" />
+  <metadata
+     id="metadata3224">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-43.517681,-29.975872)">
+    <rect
+       style="opacity:0.97000002;fill:#ffffff;fill-opacity:1;stroke:#808080;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect2986"
+       width="192.85715"
+       height="88.571426"
+       x="14.642858"
+       y="9.0254107"
+       transform="translate(43.517681,29.975872)" />
+    <path
+       style="fill:none;stroke:#0047a1;stroke-width:3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow)"
+       d="M 152.16569,89.89882 C 136.58628,44.837547 91.458309,97.022453 91.458309,97.022453"
+       id="path3227"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <polyline
+       style="fill:none;stroke:#0047a1;stroke-width:3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow)"
+       id="polyline3228"
+       points="230,80 200,100" />
+  </g>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/markerTest.svg b/svg-example/res/com/kitfox/svg/example/markerTest.svg
new file mode 100644
index 0000000..2884aed
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/markerTest.svg
@@ -0,0 +1,75 @@
+<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="test">
+  <defs
+     id="defs4">
+    <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="perspective10" />
+    <inkscape:perspective
+       id="perspective2972"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.49497475"
+     inkscape:cx="419.14319"
+     inkscape:cy="1034.9994"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="550"
+     inkscape:window-height="483"
+     inkscape:window-x="125"
+     inkscape:window-y="125"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata7">
+    <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
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.01421845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:none"
+       d="m 157.57846,169.48885 173.75691,0"
+       id="path3767-4"
+       inkscape:connector-type="polyline" />
+  </g>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/nonScalingStroke.svg b/svg-example/res/com/kitfox/svg/example/nonScalingStroke.svg
new file mode 100644
index 0000000..8e534c3
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/nonScalingStroke.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" baseProfile="tiny"
+     width="6cm" height="4cm" viewBox="0 0 600 400"
+     viewport-fill="rgb(255,150,200)">
+
+  <desc>Example non-scaling stroke</desc>
+  <rect x="1" y="1" width="598" height="398" fill="none" stroke="black"/>
+
+  <g transform="scale(9,1)">
+    <line stroke="black" stroke-width="5" x1="10" y1="50" x2="10" y2="350"/>
+    <line vector-effect="non-scaling-stroke" stroke="black" stroke-width="5"
+        x1="32" y1="50" x2="32" y2="350"/>
+    <line vector-effect="none" stroke="black" stroke-width="5"
+        x1="55" y1="50" x2="55" y2="350"/>
+  </g>
+
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/notes.svg b/svg-example/res/com/kitfox/svg/example/notes.svg
new file mode 100644
index 0000000..36b9097
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/notes.svg
@@ -0,0 +1,104 @@
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xml:space='preserve' color="black"
+ width="4.48in" height="0.61in" viewBox="-0.35 25.08 322.89 44.01">
+<defs>
+<path id="utclef" fill="currentColor" d="m-50 -90
+  c-72 -41 -72 -158 52 -188
+  150 -10 220 188 90 256
+  -114 52 -275 0 -293 -136
+  -15 -181 93 -229 220 -334
+  88 -87 79 -133 62 -210
+  -51 33 -94 105 -89 186
+  17 267 36 374 49 574
+  6 96 -19 134 -77 135
+  -80 1 -126 -93 -61 -133
+  85 -41 133 101 31 105
+  23 17 92 37 90 -92
+  -10 -223 -39 -342 -50 -617
+  0 -90 0 -162 96 -232
+  56 72 63 230 22 289
+  -74 106 -257 168 -255 316
+  9 153 148 185 252 133
+  86 -65 29 -192 -80 -176
+  -71 12 -105 67 -59 124"/>
+<path id="usharp" fill="currentColor" d="
+  m136 -702
+  v890
+  h32
+  v-890
+  m128 840
+  h32
+  v-888
+  h-32
+  m-232 286
+  v116
+  l338 -96
+  v-116
+  m-338 442
+  v116
+  l338 -98
+  v-114"/>
+<use id="sh0" transform="translate(-4,5) scale(0.018)" xlink:href="#usharp"/>
+<ellipse id="hd" rx="4.1" ry="2.9" transform="rotate(-20)" fill="currentColor"/>
+<use id="tclef" transform="scale(0.045)" xlink:href="#utclef"/>
+</defs>
+<path stroke="currentColor" stroke-width="0.70" fill="none" d="M0.00 60.00h322.19m-322.19 -6h322.19m-322.19 -6h322.19m-322.19 -6h322.19m-322.19 -6h322.19"/>
+<use x="12.00" y="60.00" xlink:href="#tclef"/>
+<use x="27.00" y="36.00" xlink:href="#sh0"/>
+<use x="32.50" y="45.00" xlink:href="#sh0"/>
+<g font-family="serif" font-size="16" font-weight="bold" font-style="normal"
+	transform="translate(48.50,59.50) scale(1.2,1)">
+	<text text-anchor="middle">4</text>
+	<text y="-12" text-anchor="middle">3</text>
+</g>
+<path fill="currentColor" d="M62.66 58.45l12.14 3.11v-3.20l-12.14 -3.11"/>
+<use x="66.50" y="36.00" xlink:href="#hd"/>
+<path d="M63.00 36.00v22.53" stroke="currentColor" fill="none"/>
+<use x="77.96" y="42.00" xlink:href="#hd"/>
+<path d="M74.46 42.00v19.47" stroke="currentColor" fill="none"/>
+<path stroke="currentColor" fill="none" d="M87.46 60.00v-24.00"/>
+<path fill="currentColor" d="M96.12 67.32l12.14 -4.11v-3.20l-12.14 4.11"/>
+<use x="99.96" y="48.00" xlink:href="#hd"/>
+<path d="M96.46 48.00v19.20" stroke="currentColor" fill="none"/>
+<use x="111.42" y="36.00" xlink:href="#hd"/>
+<path d="M107.92 36.00v27.32" stroke="currentColor" fill="none"/>
+<path stroke="currentColor" fill="none" d="M120.92 60.00v-24.00"/>
+<path fill="currentColor" d="M129.58 60.46l12.14 2.09v-3.20l-12.14 -2.09"/>
+<use x="133.42" y="39.00" xlink:href="#hd"/>
+<path d="M129.92 39.00v21.52" stroke="currentColor" fill="none"/>
+<use x="144.88" y="42.00" xlink:href="#hd"/>
+<path d="M141.38 42.00v20.48" stroke="currentColor" fill="none"/>
+<path stroke="currentColor" fill="none" d="M154.38 60.00v-24.00"/>
+<path fill="currentColor" d="M163.04 58.45l12.14 3.11v-3.20l-12.14 -3.11"/>
+<use x="166.88" y="36.00" xlink:href="#hd"/>
+<path d="M163.38 36.00v22.53" stroke="currentColor" fill="none"/>
+<use x="178.35" y="42.00" xlink:href="#hd"/>
+<path d="M174.85 42.00v19.47" stroke="currentColor" fill="none"/>
+<path stroke="currentColor" fill="none" d="M187.85 60.00v-24.00"/>
+<path fill="currentColor" d="M196.51 67.32l12.14 -4.11v-3.20l-12.14 4.11"/>
+<use x="200.35" y="48.00" xlink:href="#hd"/>
+<path d="M196.85 48.00v19.20" stroke="currentColor" fill="none"/>
+<use x="211.81" y="36.00" xlink:href="#hd"/>
+<path d="M208.31 36.00v27.32" stroke="currentColor" fill="none"/>
+<path stroke="currentColor" fill="none" d="M221.31 60.00v-24.00"/>
+<path fill="currentColor" d="M229.97 60.46l12.14 2.09v-3.20l-12.14 -2.09"/>
+<use x="233.81" y="39.00" xlink:href="#hd"/>
+<path d="M230.31 39.00v21.52" stroke="currentColor" fill="none"/>
+<use x="245.27" y="42.00" xlink:href="#hd"/>
+<path d="M241.77 42.00v20.48" stroke="currentColor" fill="none"/>
+<path stroke="currentColor" fill="none" d="M254.77 60.00v-24.00"/>
+<path fill="currentColor" d="M263.43 54.46l12.14 2.09v-3.20l-12.14 -2.09"/>
+<use x="267.27" y="33.00" xlink:href="#hd"/>
+<path d="M263.77 33.00v21.52" stroke="currentColor" fill="none"/>
+<use x="278.73" y="36.00" xlink:href="#hd"/>
+<path d="M275.23 36.00v20.48" stroke="currentColor" fill="none"/>
+<path stroke="currentColor" fill="none" d="M288.23 60.00v-24.00"/>
+<path fill="currentColor" d="M296.89 59.54l12.14 -2.09v-3.20l-12.14 2.09"/>
+<use x="300.73" y="39.00" xlink:href="#hd"/>
+<path d="M297.23 39.00v20.48" stroke="currentColor" fill="none"/>
+<use x="312.19" y="36.00" xlink:href="#hd"/>
+<path d="M308.69 36.00v21.52" stroke="currentColor" fill="none"/>
+<path stroke="currentColor" fill="none" d="M321.69 60.00v-24.00"/>
+</svg>
+
diff --git a/svg-example/res/com/kitfox/svg/example/radialGradient.svg b/svg-example/res/com/kitfox/svg/example/radialGradient.svg
new file mode 100644
index 0000000..bbab4cb
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/radialGradient.svg
@@ -0,0 +1,294 @@
+<?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="1024"
+   height="1024"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   sodipodi:docname="New document 1">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient3856">
+      <stop
+         id="stop3858"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.48717949;"
+         offset="0.37571752"
+         id="stop3872" />
+      <stop
+         id="stop3860"
+         offset="1"
+         style="stop-color:#ff0000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3832">
+      <stop
+         style="stop-color:#141414;stop-opacity:1"
+         offset="0"
+         id="stop3834" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3836" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3822">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="0"
+         id="stop3824" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0;"
+         offset="1"
+         id="stop3826" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3822"
+       id="linearGradient3828"
+       x1="940.64966"
+       y1="613.23547"
+       x2="-47.674812"
+       y2="298.2587"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3832"
+       id="linearGradient3838"
+       x1="519.21838"
+       y1="1010.7207"
+       x2="527.00494"
+       y2="-110.54865"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-2.0203177,28.656863)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3856"
+       id="radialGradient3870"
+       cx="960.08905"
+       cy="301.50293"
+       fx="960.08905"
+       fy="301.50293"
+       r="224.25386"
+       gradientTransform="matrix(0.96697842,1.8371688e-8,-4.7790829e-8,0.39586774,32.966699,216.40842)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3856-0"
+       id="radialGradient3870-4"
+       cx="960.08905"
+       cy="301.50293"
+       fx="960.08905"
+       fy="301.50293"
+       r="224.25386"
+       gradientTransform="matrix(0.96697842,1.8371688e-8,-4.7790829e-8,0.39586774,32.966699,216.40842)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3856-0">
+      <stop
+         id="stop3858-5"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.48717949;"
+         offset="0.37571752"
+         id="stop3872-8" />
+      <stop
+         id="stop3860-9"
+         offset="1"
+         style="stop-color:#ff0000;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       r="224.25386"
+       fy="301.50293"
+       fx="960.08905"
+       cy="301.50293"
+       cx="960.08905"
+       gradientTransform="matrix(0.96697842,1.8371688e-8,-4.7790829e-8,0.39586774,32.966699,216.40842)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3896"
+       xlink:href="#linearGradient3856-0"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3856-8"
+       id="radialGradient3870-6"
+       cx="960.08905"
+       cy="301.50293"
+       fx="960.08905"
+       fy="301.50293"
+       r="224.25386"
+       gradientTransform="matrix(0.96697842,1.8371688e-8,-4.7790829e-8,0.39586774,32.966699,216.40842)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3856-8">
+      <stop
+         id="stop3858-3"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.48717949;"
+         offset="0.37571752"
+         id="stop3872-6" />
+      <stop
+         id="stop3860-6"
+         offset="1"
+         style="stop-color:#ff0000;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       r="224.25386"
+       fy="301.50293"
+       fx="960.08905"
+       cy="301.50293"
+       cx="960.08905"
+       gradientTransform="matrix(0.96697842,1.8371688e-8,-4.7790829e-8,0.39586774,32.966699,216.40842)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3896-6"
+       xlink:href="#linearGradient3856-8"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.49497475"
+     inkscape:cx="472.36168"
+     inkscape:cy="532.1961"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1698"
+     inkscape:window-height="1318"
+     inkscape:window-x="56"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata7">
+    <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
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-28.362183)">
+    <rect
+       style="opacity:0.97000001999999996;fill:url(#linearGradient3838);fill-opacity:1;stroke:none"
+       id="rect3830"
+       width="1024"
+       height="1024"
+       x="0"
+       y="28.362183" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.97000001999999996;fill:none;stroke:url(#linearGradient3828);stroke-width:33.95000076000000178;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       id="path3050"
+       sodipodi:cx="327.28943"
+       sodipodi:cy="517.91357"
+       sodipodi:rx="638.41638"
+       sodipodi:ry="275.77164"
+       d="m 965.70581,517.91357 a 638.41638,275.77164 0 1 1 -1276.83276,0 638.41638,275.77164 0 1 1 1276.83276,0 z"
+       transform="matrix(1,0,0,0.97494912,-2.0203051,42.509273)" />
+    <g
+       transform="matrix(0.73656808,0,0,0.73656808,-318.24284,3.5045975)"
+       id="g3874-2">
+      <path
+         transform="translate(-8.0812204,42.504319)"
+         d="m 975.80737,360.32977 c 0,85.35746 -69.19589,154.55335 -154.55334,154.55335 -85.35746,0 -154.55335,-69.19589 -154.55335,-154.55335 0,-85.35745 69.19589,-154.55334 154.55335,-154.55334 85.35745,0 154.55334,69.19589 154.55334,154.55334 z"
+         sodipodi:ry="154.55334"
+         sodipodi:rx="154.55334"
+         sodipodi:cy="360.32977"
+         sodipodi:cx="821.25403"
+         id="path3844-3"
+         style="opacity:0.97000002;fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:end="6.2734403"
+         sodipodi:start="0"
+         transform="matrix(0.49227148,0,0,1.2408971,307.44129,-59.28224)"
+         d="m 1120.6796,362.3501 c 0,44.06893 -75.7158,79.79386 -169.11588,79.79386 -93.40012,0 -169.11587,-35.72493 -169.11587,-79.79386 0,-44.06894 75.71575,-79.79386 169.11587,-79.79386 92.75718,0 168.20398,35.25279 169.10788,79.01628 l -169.10788,0.77758 z"
+         sodipodi:ry="79.793861"
+         sodipodi:rx="169.11588"
+         sodipodi:cy="362.3501"
+         sodipodi:cx="951.56372"
+         id="path3862-2"
+         style="opacity:0.97000002;fill:url(#radialGradient3896);fill-opacity:1;fill-rule:evenodd;stroke:none"
+         sodipodi:type="arc" />
+    </g>
+    <g
+       transform="matrix(0.8197571,0,0,0.8197571,-255.88991,479.99322)"
+       id="g3874-3">
+      <path
+         transform="translate(-8.0812204,42.504319)"
+         d="m 975.80737,360.32977 c 0,85.35746 -69.19589,154.55335 -154.55334,154.55335 -85.35746,0 -154.55335,-69.19589 -154.55335,-154.55335 0,-85.35745 69.19589,-154.55334 154.55335,-154.55334 85.35745,0 154.55334,69.19589 154.55334,154.55334 z"
+         sodipodi:ry="154.55334"
+         sodipodi:rx="154.55334"
+         sodipodi:cy="360.32977"
+         sodipodi:cx="821.25403"
+         id="path3844-1"
+         style="opacity:0.97000002;fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:end="6.2734403"
+         sodipodi:start="0"
+         transform="matrix(0.49227148,0,0,1.2408971,307.44129,-59.28224)"
+         d="m 1120.6796,362.3501 c 0,44.06893 -75.7158,79.79386 -169.11588,79.79386 -93.40012,0 -169.11587,-35.72493 -169.11587,-79.79386 0,-44.06894 75.71575,-79.79386 169.11587,-79.79386 92.75718,0 168.20398,35.25279 169.10788,79.01628 l -169.10788,0.77758 z"
+         sodipodi:ry="79.793861"
+         sodipodi:rx="169.11588"
+         sodipodi:cy="362.3501"
+         sodipodi:cx="951.56372"
+         id="path3862-6"
+         style="opacity:0.97000002;fill:url(#radialGradient3896-6);fill-opacity:1;fill-rule:evenodd;stroke:none"
+         sodipodi:type="arc" />
+    </g>
+    <g
+       id="g3874">
+      <path
+         transform="translate(-8.0812204,42.504319)"
+         d="m 975.80737,360.32977 a 154.55334,154.55334 0 1 1 -309.10669,0 154.55334,154.55334 0 1 1 309.10669,0 z"
+         sodipodi:ry="154.55334"
+         sodipodi:rx="154.55334"
+         sodipodi:cy="360.32977"
+         sodipodi:cx="821.25403"
+         id="path3844"
+         style="opacity:0.97000001999999996;fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:end="6.2734403"
+         sodipodi:start="0"
+         transform="matrix(0.49227148,0,0,1.2408971,307.44129,-59.28224)"
+         d="m 1120.6796,362.3501 a 169.11588,79.793861 0 1 1 -0.01,-0.77758 l -169.10788,0.77758 z"
+         sodipodi:ry="79.793861"
+         sodipodi:rx="169.11588"
+         sodipodi:cy="362.3501"
+         sodipodi:cx="951.56372"
+         id="path3862"
+         style="opacity:0.97000001999999996;fill:url(#radialGradient3870);fill-opacity:1;fill-rule:evenodd;stroke:none"
+         sodipodi:type="arc" />
+    </g>
+  </g>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/salamander.icon.grid.zip b/svg-example/res/com/kitfox/svg/example/salamander.icon.grid.zip
new file mode 100644
index 0000000..04c4226
Binary files /dev/null and b/svg-example/res/com/kitfox/svg/example/salamander.icon.grid.zip differ
diff --git a/svg-example/res/com/kitfox/svg/example/svg.zip b/svg-example/res/com/kitfox/svg/example/svg.zip
new file mode 100644
index 0000000..f5fe3d3
Binary files /dev/null and b/svg-example/res/com/kitfox/svg/example/svg.zip differ
diff --git a/svg-example/res/com/kitfox/svg/example/test-brd.svg b/svg-example/res/com/kitfox/svg/example/test-brd.svg
new file mode 100644
index 0000000..e9e9dad
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/test-brd.svg
@@ -0,0 +1,2691 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
+"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 
+<svg
+  xmlns="http://www.w3.org/2000/svg"
+  version="1.1"
+  width="11.7in" height="8.267in" viewBox="0 0 117000 82670 "
+>
+  <title>SVG Picture created as test-brd.svg </title>
+  <desc>Picture generated by wxSVG v0101 </desc>
+  <g style="fill:black; stroke:black; stroke-width:1">
+</g>
+<g style="fill:#000000; fill-opacity:0.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:98" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M62303 42067 L62973 42737" /> 
+<path d="M63052 39861 L62854 40059" /> 
+<path d="M63052 37756 L63052 39861" /> 
+<path d="M60453 40059 L58937 38543" /> 
+<path d="M61162 40059 L60453 40059" /> 
+<path d="M62973 42737 L62973 43110" /> 
+<path d="M57402 38406 L57422 38406" /> 
+<path d="M62303 41407 L62303 42067" /> 
+<path d="M66535 40119 L66417 40237" /> 
+<path d="M66417 40237 L66417 40511" /> 
+<path d="M66417 40511 L66654 40748" /> 
+<path d="M66654 40748 L67145 40748" /> 
+<path d="M66535 39744 L66535 40119" /> 
+<path d="M63562 40216 L63405 40059" /> 
+<path d="M63405 40059 L62854 40059" /> 
+<path d="M57755 39134 L57755 38741" /> 
+<path d="M59114 44882 L58346 44882" /> 
+<path d="M57755 39134 L57755 40039" /> 
+<path d="M57126 39173 L57165 39134" /> 
+<path d="M57165 39134 L57755 39134" /> 
+<path d="M57126 40039 L57126 39173" /> 
+<path d="M56811 39291 L56968 39134" /> 
+<path d="M56968 39134 L57165 39134" /> 
+<path d="M56811 40039 L56811 39291" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="58937" cy="38543" rx="175" ry="175"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:98" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M57755 38741 L57756 38740" /> 
+<path d="M57422 38406 L57756 38740" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="57402" cy="38425" rx="175" ry="175"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:98" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M57402 38425 L57402 38406" /> 
+<path d="M67618 40748 L67145 40748" /> 
+<path d="M59036 37795 L59036 38444" /> 
+<path d="M55118 39764 L57677 37205" /> 
+<path d="M57677 37205 L58858 37205" /> 
+<path d="M58858 37205 L59036 37383" /> 
+<path d="M59036 37383 L59036 37795" /> 
+<path d="M55118 39782 L55118 39764" /> 
+<path d="M68781 41160 L68763 41142" /> 
+<path d="M68763 41142 L68012 41142" /> 
+<path d="M68012 41142 L67618 40748" /> 
+<path d="M57746 43375 L57746 43642" /> 
+<path d="M68781 39862 L68781 41160" /> 
+<path d="M59901 42540 L59901 43110" /> 
+<path d="M60079 42362 L59901 42540" /> 
+<path d="M64213 40216 L63562 40216" /> 
+<path d="M58011 43110 L57746 43375" /> 
+<path d="M59901 43110 L58011 43110" /> 
+<path d="M58346 44882 L57746 44282" /> 
+<path d="M57746 44282 L57746 43642" /> 
+<path d="M59036 38444 L58937 38543" /> 
+<path d="M59803 42086 L59803 41792" /> 
+<path d="M62973 43110 L62973 43800" /> 
+<path d="M62992 43819 L62973 43800" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="62992" cy="43819" rx="175" ry="175"  /> 
+<ellipse cx="60079" cy="42362" rx="175" ry="175"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:98" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M59803 42086 L60079 42362" /> 
+<path d="M63052 37756 L64173 37756" /> 
+<path d="M58937 38543 L59764 38543" /> 
+<path d="M63052 37344 L63052 37756" /> 
+<path d="M62834 37126 L63052 37344" /> 
+<path d="M61181 37126 L62834 37126" /> 
+<path d="M64213 37756 L64173 37756" /> 
+<path d="M64213 40216 L64213 37756" /> 
+<path d="M59764 38543 L61181 37126" /> 
+<path d="M63114 44882 L63114 44957" /> 
+<path d="M56496 43465 L56496 41063" /> 
+<path d="M58464 45433 L56496 43465" /> 
+<path d="M62638 45433 L58464 45433" /> 
+<path d="M63114 44957 L62638 45433" /> 
+<path d="M57755 41063 L57717 41101" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="57717" cy="42402" rx="175" ry="175"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:98" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M57717 41101 L57717 42402" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="61220" cy="38622" rx="175" ry="175"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:98" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M61516 38918 L61220 38622" /> 
+<path d="M58070 41063 L58070 41811" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="58661" cy="42402" rx="175" ry="175"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:98" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M58070 41811 L58661 42402" /> 
+<path d="M61516 39695 L61516 38918" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="65315" cy="38898" rx="175" ry="175"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:98" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M65315 38898 L65944 39527" /> 
+<path d="M65944 39527 L65944 39744" /> 
+<path d="M60531 42756 L60826 42461" /> 
+<path d="M60826 42461 L61319 42461" /> 
+<path d="M61319 42461 L61910 41870" /> 
+<path d="M60531 43110 L60531 42756" /> 
+<path d="M61910 41870 L61910 41407" /> 
+<path d="M62500 41407 L62500 41791" /> 
+<path d="M64114 43405 L64114 44882" /> 
+<path d="M62500 41791 L64114 43405" /> 
+<path d="M59291 40551 L59331 40591" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="59331" cy="40591" rx="175" ry="175"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:98" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M58189 40551 L59291 40551" /> 
+<path d="M61713 38367 L61496 38150" /> 
+<path d="M61496 38150 L61260 38150" /> 
+<path d="M61260 38150 L60197 39213" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="60197" cy="39213" rx="175" ry="175"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:98" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M61713 39695 L61713 38367" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="64764" cy="39606" rx="175" ry="175"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:98" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M64764 39606 L65315 40157" /> 
+<path d="M65315 40157 L65531 40157" /> 
+<path d="M64136 41043 L64213 40966" /> 
+<path d="M60216 41042 L59803 41042" /> 
+<path d="M61713 41407 L61713 41673" /> 
+<path d="M60551 42283 L60315 42047" /> 
+<path d="M60315 41141 L60216 41042" /> 
+<path d="M60315 42047 L60315 41141" /> 
+<path d="M62854 41043 L64136 41043" /> 
+<path d="M66535 39094 L66736 39295" /> 
+<path d="M66736 39295 L66736 39744" /> 
+<path d="M66575 39134 L66535 39094" /> 
+<path d="M66495 39134 L66575 39134" /> 
+<path d="M66338 39291 L66495 39134" /> 
+<path d="M66338 39744 L66338 39291" /> 
+<path d="M61103 42283 L60551 42283" /> 
+<path d="M61713 41673 L61103 42283" /> 
+<path d="M59803 41042 L59803 40433" /> 
+<path d="M59803 40433 L59803 40157" /> 
+<path d="M59803 40157 L58406 38760" /> 
+<path d="M58406 38760 L58406 38759" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="58070" cy="39095" rx="175" ry="175"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:98" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M58070 39095 L58406 38759" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="63898" cy="42087" rx="175" ry="175"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:98" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M60098 43642 L60098 44866" /> 
+<path d="M60098 44866 L60114 44882" /> 
+<path d="M58828 43642 L60098 43642" /> 
+<path d="M60098 43642 L60945 43642" /> 
+<path d="M61161 43426 L61161 43110" /> 
+<path d="M60945 43642 L61161 43426" /> 
+<path d="M66535 39094 L66475 39094" /> 
+<path d="M66475 39094 L65945 38564" /> 
+<path d="M56496 40039 L56024 40039" /> 
+<path d="M56024 40039 L55512 40551" /> 
+<path d="M56377 40551 L55512 40551" /> 
+<path d="M55512 40551 L55137 40551" /> 
+<path d="M55137 40551 L55118 40532" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="59803" cy="40433" rx="175" ry="175"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:98" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M56496 40039 L56496 38779" /> 
+<path d="M63898 42087 L64213 41772" /> 
+<path d="M64213 41772 L64213 40966" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="66535" cy="39094" rx="175" ry="175"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:98" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M58286 38879 L58286 37795" /> 
+<path d="M58070 39095 L58286 38879" /> 
+<path d="M58070 40039 L58070 39095" /> 
+<path d="M56496 38779 L57480 37795" /> 
+<path d="M57480 37795 L58286 37795" /> 
+<path d="M62303 39695 L62303 37757" /> 
+<path d="M62303 37757 L62302 37756" /> 
+<path d="M62106 41407 L62106 42993" /> 
+<path d="M62106 42993 L62223 43110" /> 
+<path d="M67145 40157 L67736 40157" /> 
+<path d="M66614 40472 L66693 40551" /> 
+<path d="M66614 40315 L66614 40472" /> 
+<path d="M66772 40157 L66614 40315" /> 
+<path d="M66693 40551 L67145 40551" /> 
+<path d="M67145 40157 L66772 40157" /> 
+<path d="M67736 40157 L68031 39862" /> 
+<path d="M67145 40354 L68012 40354" /> 
+<path d="M68190 41849 L68190 42421" /> 
+<path d="M68307 41732 L68190 41849" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="68307" cy="41732" rx="175" ry="175"  /> 
+<ellipse cx="68406" cy="40748" rx="175" ry="175"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:98" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M68012 40354 L68406 40748" /> 
+<path d="M66535 41358 L66535 42126" /> 
+<path d="M66830 42421 L67440 42421" /> 
+<path d="M66535 42126 L66830 42421" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:100" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M69213 45394 L68893 45394" /> 
+<path d="M69213 36889 L69213 45394" /> 
+<path d="M54606 36889 L69213 36889" /> 
+<path d="M54606 39528 L54606 36889" /> 
+<path d="M54632 39466 L54606 39528" /> 
+<path d="M54702 39396 L54632 39466" /> 
+<path d="M54793 39358 L54702 39396" /> 
+<path d="M54892 39358 L54793 39358" /> 
+<path d="M55006 39357 L54892 39358" /> 
+<path d="M55068 39419 L55006 39357" /> 
+<path d="M55068 39732 L55068 39419" /> 
+<path d="M55018 39732 L55068 39732" /> 
+<path d="M55018 39832 L55018 39732" /> 
+<path d="M55068 39832 L55018 39832" /> 
+<path d="M55068 39882 L55068 39832" /> 
+<path d="M55168 39882 L55068 39882" /> 
+<path d="M55168 39832 L55168 39882" /> 
+<path d="M55332 39832 L55168 39832" /> 
+<path d="M55168 39732 L55332 39732" /> 
+<path d="M55168 39419 L55168 39732" /> 
+<path d="M55230 39357 L55168 39419" /> 
+<path d="M55332 39357 L55230 39357" /> 
+<path d="M55001 38557 L55332 38695" /> 
+<path d="M54749 38304 L55001 38557" /> 
+<path d="M54612 37973 L54749 38304" /> 
+<path d="M54612 37615 L54612 37973" /> 
+<path d="M54750 37284 L54612 37615" /> 
+<path d="M55003 37032 L54750 37284" /> 
+<path d="M55334 36895 L55003 37032" /> 
+<path d="M55692 36895 L55334 36895" /> 
+<path d="M56023 37033 L55692 36895" /> 
+<path d="M56275 37286 L56023 37033" /> 
+<path d="M56412 37617 L56275 37286" /> 
+<path d="M56412 37975 L56412 37617" /> 
+<path d="M56274 38306 L56412 37975" /> 
+<path d="M56021 38558 L56274 38306" /> 
+<path d="M55690 38695 L56021 38558" /> 
+<path d="M55332 38695 L55690 38695" /> 
+<path d="M55344 39358 L55332 39357" /> 
+<path d="M55443 39358 L55344 39358" /> 
+<path d="M55534 39396 L55443 39358" /> 
+<path d="M55604 39466 L55534 39396" /> 
+<path d="M55642 39558 L55604 39466" /> 
+<path d="M55643 39670 L55642 39558" /> 
+<path d="M55581 39732 L55643 39670" /> 
+<path d="M55332 39732 L55581 39732" /> 
+<path d="M55581 39832 L55332 39832" /> 
+<path d="M55643 39894 L55581 39832" /> 
+<path d="M55642 39998 L55643 39894" /> 
+<path d="M55813 39828 L55642 39998" /> 
+<path d="M55909 39763 L55813 39828" /> 
+<path d="M55928 39759 L55909 39763" /> 
+<path d="M56024 39740 L55928 39759" /> 
+<path d="M56139 39740 L56024 39740" /> 
+<path d="M56139 39694 L56139 39740" /> 
+<path d="M56177 39603 L56139 39694" /> 
+<path d="M56197 39583 L56177 39603" /> 
+<path d="M56197 38779 L56197 39583" /> 
+<path d="M56216 38683 L56197 38779" /> 
+<path d="M56220 38664 L56216 38683" /> 
+<path d="M56285 38568 L56220 38664" /> 
+<path d="M57268 37584 L56285 38568" /> 
+<path d="M57332 37541 L57268 37584" /> 
+<path d="M57366 37519 L57332 37541" /> 
+<path d="M57480 37496 L57366 37519" /> 
+<path d="M57862 37496 L57480 37496" /> 
+<path d="M57862 37470 L57862 37496" /> 
+<path d="M57900 37379 L57862 37470" /> 
+<path d="M57970 37309 L57900 37379" /> 
+<path d="M58062 37271 L57970 37309" /> 
+<path d="M58511 37271 L58062 37271" /> 
+<path d="M58602 37309 L58511 37271" /> 
+<path d="M58660 37368 L58602 37309" /> 
+<path d="M58720 37309 L58660 37368" /> 
+<path d="M58812 37271 L58720 37309" /> 
+<path d="M58924 37270 L58812 37271" /> 
+<path d="M58986 37332 L58924 37270" /> 
+<path d="M58986 37745 L58986 37332" /> 
+<path d="M58936 37745 L58986 37745" /> 
+<path d="M58936 37845 L58936 37745" /> 
+<path d="M58986 37845 L58936 37845" /> 
+<path d="M58986 38258 L58986 37845" /> 
+<path d="M58924 38320 L58986 38258" /> 
+<path d="M58812 38319 L58924 38320" /> 
+<path d="M58720 38281 L58812 38319" /> 
+<path d="M58661 38222 L58720 38281" /> 
+<path d="M58602 38281 L58661 38222" /> 
+<path d="M58585 38288 L58602 38281" /> 
+<path d="M58585 38526 L58585 38288" /> 
+<path d="M58617 38548 L58585 38526" /> 
+<path d="M58619 38551 L58617 38548" /> 
+<path d="M59148 39079 L58619 38551" /> 
+<path d="M59086 38258 L59148 38320" /> 
+<path d="M59086 37845 L59086 38258" /> 
+<path d="M59086 37332 L59086 37745" /> 
+<path d="M59148 37270 L59086 37332" /> 
+<path d="M59260 37271 L59148 37270" /> 
+<path d="M59352 37309 L59260 37271" /> 
+<path d="M59422 37379 L59352 37309" /> 
+<path d="M59460 37470 L59422 37379" /> 
+<path d="M59460 37569 L59460 37470" /> 
+<path d="M59461 37683 L59460 37569" /> 
+<path d="M59399 37745 L59461 37683" /> 
+<path d="M59086 37745 L59399 37745" /> 
+<path d="M59399 37845 L59086 37845" /> 
+<path d="M59461 37907 L59399 37845" /> 
+<path d="M59460 38021 L59461 37907" /> 
+<path d="M59460 38120 L59460 38021" /> 
+<path d="M59422 38211 L59460 38120" /> 
+<path d="M59352 38281 L59422 38211" /> 
+<path d="M59260 38319 L59352 38281" /> 
+<path d="M59148 38320 L59260 38319" /> 
+<path d="M60014 39945 L59148 39079" /> 
+<path d="M60056 40009 L60014 39945" /> 
+<path d="M60079 40043 L60056 40009" /> 
+<path d="M60095 40124 L60079 40043" /> 
+<path d="M60164 40193 L60095 40124" /> 
+<path d="M60228 40349 L60164 40193" /> 
+<path d="M60228 40518 L60228 40349" /> 
+<path d="M60177 40638 L60228 40518" /> 
+<path d="M60219 40656 L60177 40638" /> 
+<path d="M60289 40726 L60219 40656" /> 
+<path d="M60303 40760 L60289 40726" /> 
+<path d="M60311 40762 L60303 40760" /> 
+<path d="M60331 40766 L60311 40762" /> 
+<path d="M60427 40831 L60331 40766" /> 
+<path d="M60526 40930 L60427 40831" /> 
+<path d="M60591 41026 L60526 40930" /> 
+<path d="M60594 41045 L60591 41026" /> 
+<path d="M60614 41141 L60594 41045" /> 
+<path d="M60614 41923 L60614 41141" /> 
+<path d="M60674 41984 L60614 41923" /> 
+<path d="M60715 41984 L60674 41984" /> 
+<path d="M60716 40059 L60715 40145" /> 
+<path d="M60715 39973 L60716 40059" /> 
+<path d="M60716 39974 L60715 39973" /> 
+<path d="M60716 40059 L60716 39974" /> 
+<path d="M60716 40144 L60716 40059" /> 
+<path d="M60715 40145 L60716 40144" /> 
+<path d="M60979 41984 L60715 41984" /> 
+<path d="M61245 41718 L60979 41984" /> 
+<path d="M61218 41653 L61245 41718" /> 
+<path d="M61218 41341 L61218 41653" /> 
+<path d="M60915 41341 L61218 41341" /> 
+<path d="M60824 41303 L60915 41341" /> 
+<path d="M60754 41233 L60824 41303" /> 
+<path d="M60716 41141 L60754 41233" /> 
+<path d="M60716 40144 L60716 41141" /> 
+<path d="M60725 40134 L60716 40144" /> 
+<path d="M60754 40066 L60725 40134" /> 
+<path d="M60785 40035 L60754 40066" /> 
+<path d="M60777 40035 L60785 40035" /> 
+<path d="M60716 39974 L60777 40035" /> 
+<path d="M60716 39960 L60716 39974" /> 
+<path d="M60754 39869 L60716 39960" /> 
+<path d="M60824 39799 L60754 39869" /> 
+<path d="M60916 39761 L60824 39799" /> 
+<path d="M61050 39760 L60916 39761" /> 
+<path d="M61112 39822 L61050 39760" /> 
+<path d="M61112 39958 L61112 39822" /> 
+<path d="M61212 39958 L61112 39958" /> 
+<path d="M61212 39822 L61212 39958" /> 
+<path d="M61218 39816 L61212 39822" /> 
+<path d="M61218 39699 L61218 39816" /> 
+<path d="M61217 39695 L61218 39699" /> 
+<path d="M61217 39047 L61217 39695" /> 
+<path d="M61135 39047 L61217 39047" /> 
+<path d="M60979 38982 L61135 39047" /> 
+<path d="M60914 38917 L60979 38982" /> 
+<path d="M60622 39210 L60914 38917" /> 
+<path d="M60622 39298 L60622 39210" /> 
+<path d="M60557 39454 L60622 39298" /> 
+<path d="M60437 39574 L60557 39454" /> 
+<path d="M60281 39638 L60437 39574" /> 
+<path d="M60112 39638 L60281 39638" /> 
+<path d="M59956 39573 L60112 39638" /> 
+<path d="M59836 39453 L59956 39573" /> 
+<path d="M59772 39297 L59836 39453" /> 
+<path d="M59772 39128 L59772 39297" /> 
+<path d="M59837 38972 L59772 39128" /> 
+<path d="M59957 38852 L59837 38972" /> 
+<path d="M60113 38788 L59957 38852" /> 
+<path d="M60199 38787 L60113 38788" /> 
+<path d="M61048 37939 L60199 38787" /> 
+<path d="M61145 37874 L61048 37939" /> 
+<path d="M61164 37870 L61145 37874" /> 
+<path d="M61260 37851 L61164 37870" /> 
+<path d="M61496 37851 L61260 37851" /> 
+<path d="M61611 37874 L61496 37851" /> 
+<path d="M61707 37939 L61611 37874" /> 
+<path d="M61896 38128 L61707 37939" /> 
+<path d="M61878 38080 L61896 38128" /> 
+<path d="M61878 37431 L61878 38080" /> 
+<path d="M61916 37340 L61878 37431" /> 
+<path d="M61986 37270 L61916 37340" /> 
+<path d="M62078 37232 L61986 37270" /> 
+<path d="M62527 37232 L62078 37232" /> 
+<path d="M62618 37270 L62527 37232" /> 
+<path d="M62677 37329 L62618 37270" /> 
+<path d="M62736 37270 L62677 37329" /> 
+<path d="M62828 37232 L62736 37270" /> 
+<path d="M62940 37231 L62828 37232" /> 
+<path d="M63002 37293 L62940 37231" /> 
+<path d="M63002 37706 L63002 37293" /> 
+<path d="M62952 37706 L63002 37706" /> 
+<path d="M62952 37806 L62952 37706" /> 
+<path d="M63002 37806 L62952 37806" /> 
+<path d="M63002 38219 L63002 37806" /> 
+<path d="M62940 38281 L63002 38219" /> 
+<path d="M62828 38280 L62940 38281" /> 
+<path d="M62736 38242 L62828 38280" /> 
+<path d="M62677 38183 L62736 38242" /> 
+<path d="M62618 38242 L62677 38183" /> 
+<path d="M62602 38248 L62618 38242" /> 
+<path d="M62602 39250 L62602 38248" /> 
+<path d="M62690 39287 L62602 39250" /> 
+<path d="M62760 39357 L62690 39287" /> 
+<path d="M62798 39449 L62760 39357" /> 
+<path d="M62798 39816 L62798 39449" /> 
+<path d="M62804 39822 L62798 39816" /> 
+<path d="M62804 39958 L62804 39822" /> 
+<path d="M62904 39958 L62804 39958" /> 
+<path d="M62904 39822 L62904 39958" /> 
+<path d="M62966 39760 L62904 39822" /> 
+<path d="M63100 39761 L62966 39760" /> 
+<path d="M63164 39787 L63100 39761" /> 
+<path d="M63102 38219 L63164 38281" /> 
+<path d="M63102 37806 L63102 38219" /> 
+<path d="M63102 37293 L63102 37706" /> 
+<path d="M63164 37231 L63102 37293" /> 
+<path d="M63276 37232 L63164 37231" /> 
+<path d="M63368 37270 L63276 37232" /> 
+<path d="M63438 37340 L63368 37270" /> 
+<path d="M63476 37431 L63438 37340" /> 
+<path d="M63476 37530 L63476 37431" /> 
+<path d="M63477 37644 L63476 37530" /> 
+<path d="M63415 37706 L63477 37644" /> 
+<path d="M63102 37706 L63415 37706" /> 
+<path d="M63415 37806 L63102 37806" /> 
+<path d="M63477 37868 L63415 37806" /> 
+<path d="M63476 37982 L63477 37868" /> 
+<path d="M63476 38081 L63476 37982" /> 
+<path d="M63438 38172 L63476 38081" /> 
+<path d="M63368 38242 L63438 38172" /> 
+<path d="M63276 38280 L63368 38242" /> 
+<path d="M63164 38281 L63276 38280" /> 
+<path d="M63192 39799 L63164 39787" /> 
+<path d="M63262 39869 L63192 39799" /> 
+<path d="M63300 39960 L63262 39869" /> 
+<path d="M63300 39974 L63300 39960" /> 
+<path d="M63301 39973 L63300 39974" /> 
+<path d="M63300 40059 L63301 39973" /> 
+<path d="M63301 40145 L63300 40059" /> 
+<path d="M63300 40144 L63301 40145" /> 
+<path d="M63300 40059 L63300 40144" /> 
+<path d="M63300 39974 L63300 40059" /> 
+<path d="M63239 40035 L63300 39974" /> 
+<path d="M63231 40035 L63239 40035" /> 
+<path d="M63262 40066 L63231 40035" /> 
+<path d="M63290 40134 L63262 40066" /> 
+<path d="M63300 40144 L63290 40134" /> 
+<path d="M63300 40744 L63300 40144" /> 
+<path d="M63301 40744 L63300 40744" /> 
+<path d="M63689 40744 L63301 40744" /> 
+<path d="M63689 40741 L63689 40744" /> 
+<path d="M63727 40650 L63689 40741" /> 
+<path d="M63786 40591 L63727 40650" /> 
+<path d="M63727 40532 L63786 40591" /> 
+<path d="M63689 40440 L63727 40532" /> 
+<path d="M63688 40328 L63689 40440" /> 
+<path d="M63750 40266 L63688 40328" /> 
+<path d="M63688 40104 L63750 40166" /> 
+<path d="M63689 39992 L63688 40104" /> 
+<path d="M63727 39900 L63689 39992" /> 
+<path d="M63797 39830 L63727 39900" /> 
+<path d="M63888 39792 L63797 39830" /> 
+<path d="M63987 39792 L63888 39792" /> 
+<path d="M64101 39791 L63987 39792" /> 
+<path d="M64163 39853 L64101 39791" /> 
+<path d="M64163 40166 L64163 39853" /> 
+<path d="M63750 40166 L64163 40166" /> 
+<path d="M64163 40266 L63750 40266" /> 
+<path d="M64163 40316 L64163 40266" /> 
+<path d="M64263 40316 L64163 40316" /> 
+<path d="M64263 40266 L64263 40316" /> 
+<path d="M64676 40266 L64263 40266" /> 
+<path d="M64738 40328 L64676 40266" /> 
+<path d="M64737 40440 L64738 40328" /> 
+<path d="M64699 40532 L64737 40440" /> 
+<path d="M64640 40590 L64699 40532" /> 
+<path d="M64699 40650 L64640 40590" /> 
+<path d="M64737 40742 L64699 40650" /> 
+<path d="M64737 41191 L64737 40742" /> 
+<path d="M64699 41282 L64737 41191" /> 
+<path d="M64629 41352 L64699 41282" /> 
+<path d="M64537 41390 L64629 41352" /> 
+<path d="M64512 41390 L64537 41390" /> 
+<path d="M64512 41772 L64512 41390" /> 
+<path d="M64489 41886 L64512 41772" /> 
+<path d="M64466 41919 L64489 41886" /> 
+<path d="M64424 41984 L64466 41919" /> 
+<path d="M64323 42084 L64424 41984" /> 
+<path d="M64323 42172 L64323 42084" /> 
+<path d="M64258 42328 L64323 42172" /> 
+<path d="M64138 42448 L64258 42328" /> 
+<path d="M63982 42512 L64138 42448" /> 
+<path d="M63813 42512 L63982 42512" /> 
+<path d="M63657 42447 L63813 42512" /> 
+<path d="M63537 42327 L63657 42447" /> 
+<path d="M63473 42171 L63537 42327" /> 
+<path d="M63473 42002 L63473 42171" /> 
+<path d="M63538 41846 L63473 42002" /> 
+<path d="M63658 41726 L63538 41846" /> 
+<path d="M63814 41662 L63658 41726" /> 
+<path d="M63900 41662 L63814 41662" /> 
+<path d="M63914 41648 L63900 41662" /> 
+<path d="M63914 41390 L63914 41648" /> 
+<path d="M63888 41390 L63914 41390" /> 
+<path d="M63797 41352 L63888 41390" /> 
+<path d="M63787 41342 L63797 41352" /> 
+<path d="M62854 41342 L63787 41342" /> 
+<path d="M62849 41341 L62854 41342" /> 
+<path d="M62798 41341 L62849 41341" /> 
+<path d="M62798 41402 L62798 41341" /> 
+<path d="M62799 41407 L62798 41402" /> 
+<path d="M62799 41667 L62799 41407" /> 
+<path d="M64325 43193 L62799 41667" /> 
+<path d="M64367 43257 L64325 43193" /> 
+<path d="M64390 43291 L64367 43257" /> 
+<path d="M64413 43405 L64390 43291" /> 
+<path d="M64413 44438 L64413 43405" /> 
+<path d="M64559 44585 L64413 44438" /> 
+<path d="M64639 44778 L64559 44585" /> 
+<path d="M64639 44987 L64639 44778" /> 
+<path d="M64559 45180 L64639 44987" /> 
+<path d="M64411 45327 L64559 45180" /> 
+<path d="M64249 45394 L64411 45327" /> 
+<path d="M67965 45394 L64249 45394" /> 
+<path d="M67874 42907 L67965 42945" /> 
+<path d="M67815 42848 L67874 42907" /> 
+<path d="M67756 42907 L67815 42848" /> 
+<path d="M67664 42945 L67756 42907" /> 
+<path d="M67215 42945 L67664 42945" /> 
+<path d="M67124 42907 L67215 42945" /> 
+<path d="M67054 42837 L67124 42907" /> 
+<path d="M67016 42745 L67054 42837" /> 
+<path d="M67016 42720 L67016 42745" /> 
+<path d="M66830 42720 L67016 42720" /> 
+<path d="M66734 42700 L66830 42720" /> 
+<path d="M66715 42697 L66734 42700" /> 
+<path d="M66618 42632 L66715 42697" /> 
+<path d="M66324 42337 L66618 42632" /> 
+<path d="M66259 42241 L66324 42337" /> 
+<path d="M66236 42126 L66259 42241" /> 
+<path d="M66236 41784 L66236 42126" /> 
+<path d="M65845 41784 L66236 41784" /> 
+<path d="M65754 41746 L65845 41784" /> 
+<path d="M65684 41676 L65754 41746" /> 
+<path d="M65646 41584 L65684 41676" /> 
+<path d="M65646 41243 L65646 41584" /> 
+<path d="M65304 41243 L65646 41243" /> 
+<path d="M65213 41205 L65304 41243" /> 
+<path d="M65143 41135 L65213 41205" /> 
+<path d="M65105 41043 L65143 41135" /> 
+<path d="M65105 40369 L65105 41043" /> 
+<path d="M65103 40368 L65105 40369" /> 
+<path d="M64766 40031 L65103 40368" /> 
+<path d="M64737 40031 L64766 40031" /> 
+<path d="M64738 40104 L64737 40031" /> 
+<path d="M64676 40166 L64738 40104" /> 
+<path d="M64263 40166 L64676 40166" /> 
+<path d="M64263 39853 L64263 40166" /> 
+<path d="M64325 39791 L64263 39853" /> 
+<path d="M64380 39791 L64325 39791" /> 
+<path d="M64339 39690 L64380 39791" /> 
+<path d="M64339 39521 L64339 39690" /> 
+<path d="M64404 39365 L64339 39521" /> 
+<path d="M64524 39245 L64404 39365" /> 
+<path d="M64680 39181 L64524 39245" /> 
+<path d="M64849 39181 L64680 39181" /> 
+<path d="M65005 39246 L64849 39181" /> 
+<path d="M65125 39366 L65005 39246" /> 
+<path d="M65189 39522 L65125 39366" /> 
+<path d="M65189 39608 L65189 39522" /> 
+<path d="M65438 39858 L65189 39608" /> 
+<path d="M65531 39858 L65438 39858" /> 
+<path d="M65535 39859 L65531 39858" /> 
+<path d="M65646 39859 L65535 39859" /> 
+<path d="M65646 39748 L65646 39859" /> 
+<path d="M65645 39744 L65646 39748" /> 
+<path d="M65645 39650 L65645 39744" /> 
+<path d="M65317 39323 L65645 39650" /> 
+<path d="M65230 39323 L65317 39323" /> 
+<path d="M65074 39258 L65230 39323" /> 
+<path d="M64954 39138 L65074 39258" /> 
+<path d="M64890 38982 L64954 39138" /> 
+<path d="M64890 38813 L64890 38982" /> 
+<path d="M64955 38657 L64890 38813" /> 
+<path d="M65075 38537 L64955 38657" /> 
+<path d="M65231 38473 L65075 38537" /> 
+<path d="M65400 38473 L65231 38473" /> 
+<path d="M65421 38481 L65400 38473" /> 
+<path d="M65421 38339 L65421 38481" /> 
+<path d="M65459 38248 L65421 38339" /> 
+<path d="M65518 38188 L65459 38248" /> 
+<path d="M65459 38130 L65518 38188" /> 
+<path d="M65421 38038 L65459 38130" /> 
+<path d="M65420 37926 L65421 38038" /> 
+<path d="M65482 37864 L65420 37926" /> 
+<path d="M65420 37702 L65482 37764" /> 
+<path d="M65421 37590 L65420 37702" /> 
+<path d="M65459 37498 L65421 37590" /> 
+<path d="M65529 37428 L65459 37498" /> 
+<path d="M65620 37390 L65529 37428" /> 
+<path d="M65719 37390 L65620 37390" /> 
+<path d="M65833 37389 L65719 37390" /> 
+<path d="M65895 37451 L65833 37389" /> 
+<path d="M65895 37764 L65895 37451" /> 
+<path d="M65482 37764 L65895 37764" /> 
+<path d="M65895 37864 L65482 37864" /> 
+<path d="M65895 37914 L65895 37864" /> 
+<path d="M65995 37914 L65895 37914" /> 
+<path d="M65995 37864 L65995 37914" /> 
+<path d="M65995 37451 L65995 37764" /> 
+<path d="M66057 37389 L65995 37451" /> 
+<path d="M66171 37390 L66057 37389" /> 
+<path d="M66270 37390 L66171 37390" /> 
+<path d="M66361 37428 L66270 37390" /> 
+<path d="M66431 37498 L66361 37428" /> 
+<path d="M66469 37590 L66431 37498" /> 
+<path d="M66470 37702 L66469 37590" /> 
+<path d="M66408 37764 L66470 37702" /> 
+<path d="M65995 37764 L66408 37764" /> 
+<path d="M66408 37864 L65995 37864" /> 
+<path d="M66470 37926 L66408 37864" /> 
+<path d="M66469 38038 L66470 37926" /> 
+<path d="M66431 38130 L66469 38038" /> 
+<path d="M66371 38188 L66431 38130" /> 
+<path d="M66431 38248 L66371 38188" /> 
+<path d="M66469 38340 L66431 38248" /> 
+<path d="M66469 38665 L66469 38340" /> 
+<path d="M66472 38669 L66469 38665" /> 
+<path d="M66620 38669 L66472 38669" /> 
+<path d="M66776 38734 L66620 38669" /> 
+<path d="M66896 38854 L66776 38734" /> 
+<path d="M66960 39010 L66896 38854" /> 
+<path d="M66960 39102 L66960 39010" /> 
+<path d="M67012 39180 L66960 39102" /> 
+<path d="M67015 39199 L67012 39180" /> 
+<path d="M67035 39295 L67015 39199" /> 
+<path d="M67035 39744 L67035 39295" /> 
+<path d="M67034 39748 L67035 39744" /> 
+<path d="M67034 39858 L67034 39748" /> 
+<path d="M67607 39858 L67034 39858" /> 
+<path d="M67607 39537 L67607 39858" /> 
+<path d="M67645 39446 L67607 39537" /> 
+<path d="M67715 39376 L67645 39446" /> 
+<path d="M67807 39338 L67715 39376" /> 
+<path d="M68127 39338 L67807 39338" /> 
+<path d="M67796 38557 L68127 38695" /> 
+<path d="M67544 38304 L67796 38557" /> 
+<path d="M67407 37973 L67544 38304" /> 
+<path d="M67407 37615 L67407 37973" /> 
+<path d="M67545 37284 L67407 37615" /> 
+<path d="M67798 37032 L67545 37284" /> 
+<path d="M68129 36895 L67798 37032" /> 
+<path d="M68487 36895 L68129 36895" /> 
+<path d="M68818 37033 L68487 36895" /> 
+<path d="M69070 37286 L68818 37033" /> 
+<path d="M69207 37617 L69070 37286" /> 
+<path d="M69207 37975 L69207 37617" /> 
+<path d="M69069 38306 L69207 37975" /> 
+<path d="M68816 38558 L69069 38306" /> 
+<path d="M68485 38695 L68816 38558" /> 
+<path d="M68127 38695 L68485 38695" /> 
+<path d="M68256 39338 L68127 39338" /> 
+<path d="M68347 39376 L68256 39338" /> 
+<path d="M68405 39434 L68347 39376" /> 
+<path d="M68465 39376 L68405 39434" /> 
+<path d="M68557 39338 L68465 39376" /> 
+<path d="M68669 39337 L68557 39338" /> 
+<path d="M68731 39399 L68669 39337" /> 
+<path d="M68731 39812 L68731 39399" /> 
+<path d="M68681 39812 L68731 39812" /> 
+<path d="M68681 39912 L68681 39812" /> 
+<path d="M68731 39912 L68681 39912" /> 
+<path d="M68731 40325 L68731 39912" /> 
+<path d="M68669 40387 L68731 40325" /> 
+<path d="M68644 40386 L68669 40387" /> 
+<path d="M68647 40388 L68644 40386" /> 
+<path d="M68767 40508 L68647 40388" /> 
+<path d="M68831 40664 L68767 40508" /> 
+<path d="M68831 40833 L68831 40664" /> 
+<path d="M68766 40989 L68831 40833" /> 
+<path d="M68646 41109 L68766 40989" /> 
+<path d="M68490 41173 L68646 41109" /> 
+<path d="M68321 41173 L68490 41173" /> 
+<path d="M68165 41108 L68321 41173" /> 
+<path d="M68045 40988 L68165 41108" /> 
+<path d="M67981 40832 L68045 40988" /> 
+<path d="M67981 40745 L67981 40832" /> 
+<path d="M67888 40653 L67981 40745" /> 
+<path d="M67571 40653 L67888 40653" /> 
+<path d="M67571 40663 L67571 40653" /> 
+<path d="M67572 40662 L67571 40663" /> 
+<path d="M67571 40748 L67572 40662" /> 
+<path d="M67572 40834 L67571 40748" /> 
+<path d="M67571 40833 L67572 40834" /> 
+<path d="M67571 41044 L67571 40833" /> 
+<path d="M67533 41135 L67571 41044" /> 
+<path d="M67463 41205 L67533 41135" /> 
+<path d="M67371 41243 L67463 41205" /> 
+<path d="M67030 41243 L67371 41243" /> 
+<path d="M67030 41585 L67030 41243" /> 
+<path d="M66992 41676 L67030 41585" /> 
+<path d="M66922 41746 L66992 41676" /> 
+<path d="M66834 41782 L66922 41746" /> 
+<path d="M66834 42002 L66834 41782" /> 
+<path d="M66953 42122 L66834 42002" /> 
+<path d="M67016 42122 L66953 42122" /> 
+<path d="M67016 42096 L67016 42122" /> 
+<path d="M67054 42005 L67016 42096" /> 
+<path d="M67124 41935 L67054 42005" /> 
+<path d="M67216 41897 L67124 41935" /> 
+<path d="M67665 41897 L67216 41897" /> 
+<path d="M67756 41935 L67665 41897" /> 
+<path d="M67815 41993 L67756 41935" /> 
+<path d="M67874 41935 L67815 41993" /> 
+<path d="M67891 41927 L67874 41935" /> 
+<path d="M67891 41849 L67891 41927" /> 
+<path d="M67892 41841 L67891 41849" /> 
+<path d="M67882 41816 L67892 41841" /> 
+<path d="M67882 41647 L67882 41816" /> 
+<path d="M67947 41491 L67882 41647" /> 
+<path d="M68067 41371 L67947 41491" /> 
+<path d="M68223 41307 L68067 41371" /> 
+<path d="M68392 41307 L68223 41307" /> 
+<path d="M68548 41372 L68392 41307" /> 
+<path d="M68668 41492 L68548 41372" /> 
+<path d="M68732 41648 L68668 41492" /> 
+<path d="M68732 41817 L68732 41648" /> 
+<path d="M68667 41973 L68732 41817" /> 
+<path d="M68593 42046 L68667 41973" /> 
+<path d="M68614 42097 L68593 42046" /> 
+<path d="M68614 42746 L68614 42097" /> 
+<path d="M68576 42837 L68614 42746" /> 
+<path d="M68506 42907 L68576 42837" /> 
+<path d="M68414 42945 L68506 42907" /> 
+<path d="M67965 42945 L68414 42945" /> 
+<path d="M68893 45394 L67965 45394" /> 
+<path d="M68831 40325 L68893 40387" /> 
+<path d="M68831 39912 L68831 40325" /> 
+<path d="M68831 39399 L68831 39812" /> 
+<path d="M68893 39337 L68831 39399" /> 
+<path d="M69005 39338 L68893 39337" /> 
+<path d="M69097 39376 L69005 39338" /> 
+<path d="M69167 39446 L69097 39376" /> 
+<path d="M69205 39537 L69167 39446" /> 
+<path d="M69205 39636 L69205 39537" /> 
+<path d="M69206 39750 L69205 39636" /> 
+<path d="M69144 39812 L69206 39750" /> 
+<path d="M68831 39812 L69144 39812" /> 
+<path d="M69144 39912 L68831 39912" /> 
+<path d="M69206 39974 L69144 39912" /> 
+<path d="M69205 40088 L69206 39974" /> 
+<path d="M69205 40187 L69205 40088" /> 
+<path d="M69167 40278 L69205 40187" /> 
+<path d="M69097 40348 L69167 40278" /> 
+<path d="M69005 40386 L69097 40348" /> 
+<path d="M68893 40387 L69005 40386" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; " 
+points="54632,39466
+54702,39396
+54793,39358
+54892,39358
+55006,39357
+55068,39419
+55068,39732
+55018,39732
+55018,39832
+55068,39832
+55068,39882
+55168,39882
+55168,39832
+55332,39832
+55332,39732
+55168,39732
+55168,39419
+55230,39357
+55332,39357
+55332,38695
+55001,38557
+54749,38304
+54612,37973
+54612,37615
+54750,37284
+55003,37032
+55334,36895
+55692,36895
+56023,37033
+56275,37286
+56412,37617
+56412,37975
+56274,38306
+56021,38558
+55690,38695
+55332,38695
+55332,39357
+55344,39358
+55443,39358
+55534,39396
+55604,39466
+55642,39558
+55643,39670
+55581,39732
+55332,39732
+55332,39832
+55581,39832
+55643,39894
+55642,39998
+55813,39828
+55909,39763
+55928,39759
+56024,39740
+56139,39740
+56139,39694
+56177,39603
+56197,39583
+56197,38779
+56216,38683
+56220,38664
+56285,38568
+57268,37584
+57332,37541
+57366,37519
+57480,37496
+57862,37496
+57862,37470
+57900,37379
+57970,37309
+58062,37271
+58511,37271
+58602,37309
+58660,37368
+58720,37309
+58812,37271
+58924,37270
+58986,37332
+58986,37745
+58936,37745
+58936,37845
+58986,37845
+58986,38258
+58924,38320
+58812,38319
+58720,38281
+58661,38222
+58602,38281
+58585,38288
+58585,38526
+58617,38548
+58619,38551
+59148,39079
+59148,38320
+59086,38258
+59086,37845
+59086,37745
+59086,37332
+59148,37270
+59260,37271
+59352,37309
+59422,37379
+59460,37470
+59460,37569
+59461,37683
+59399,37745
+59086,37745
+59086,37845
+59399,37845
+59461,37907
+59460,38021
+59460,38120
+59422,38211
+59352,38281
+59260,38319
+59148,38320
+59148,39079
+60014,39945
+60056,40009
+60079,40043
+60095,40124
+60164,40193
+60228,40349
+60228,40518
+60177,40638
+60219,40656
+60289,40726
+60303,40760
+60311,40762
+60331,40766
+60427,40831
+60526,40930
+60591,41026
+60594,41045
+60614,41141
+60614,41923
+60674,41984
+60715,41984
+60715,40145
+60716,40059
+60715,39973
+60716,39974
+60716,40059
+60716,40144
+60715,40145
+60715,41984
+60979,41984
+61245,41718
+61218,41653
+61218,41341
+60915,41341
+60824,41303
+60754,41233
+60716,41141
+60716,40144
+60725,40134
+60754,40066
+60785,40035
+60777,40035
+60716,39974
+60716,39960
+60754,39869
+60824,39799
+60916,39761
+61050,39760
+61112,39822
+61112,39958
+61212,39958
+61212,39822
+61218,39816
+61218,39699
+61217,39695
+61217,39047
+61135,39047
+60979,38982
+60914,38917
+60622,39210
+60622,39298
+60557,39454
+60437,39574
+60281,39638
+60112,39638
+59956,39573
+59836,39453
+59772,39297
+59772,39128
+59837,38972
+59957,38852
+60113,38788
+60199,38787
+61048,37939
+61145,37874
+61164,37870
+61260,37851
+61496,37851
+61611,37874
+61707,37939
+61896,38128
+61878,38080
+61878,37431
+61916,37340
+61986,37270
+62078,37232
+62527,37232
+62618,37270
+62677,37329
+62736,37270
+62828,37232
+62940,37231
+63002,37293
+63002,37706
+62952,37706
+62952,37806
+63002,37806
+63002,38219
+62940,38281
+62828,38280
+62736,38242
+62677,38183
+62618,38242
+62602,38248
+62602,39250
+62690,39287
+62760,39357
+62798,39449
+62798,39816
+62804,39822
+62804,39958
+62904,39958
+62904,39822
+62966,39760
+63100,39761
+63164,39787
+63164,38281
+63102,38219
+63102,37806
+63102,37706
+63102,37293
+63164,37231
+63276,37232
+63368,37270
+63438,37340
+63476,37431
+63476,37530
+63477,37644
+63415,37706
+63102,37706
+63102,37806
+63415,37806
+63477,37868
+63476,37982
+63476,38081
+63438,38172
+63368,38242
+63276,38280
+63164,38281
+63164,39787
+63192,39799
+63262,39869
+63300,39960
+63300,39974
+63301,39973
+63300,40059
+63301,40145
+63300,40144
+63300,40059
+63300,39974
+63239,40035
+63231,40035
+63262,40066
+63290,40134
+63300,40144
+63300,40744
+63301,40744
+63301,40145
+63301,40744
+63689,40744
+63689,40741
+63727,40650
+63786,40591
+63727,40532
+63689,40440
+63688,40328
+63750,40266
+63750,40166
+63688,40104
+63689,39992
+63727,39900
+63797,39830
+63888,39792
+63987,39792
+64101,39791
+64163,39853
+64163,40166
+63750,40166
+63750,40266
+64163,40266
+64163,40316
+64263,40316
+64263,40266
+64676,40266
+64738,40328
+64737,40440
+64699,40532
+64640,40590
+64699,40650
+64737,40742
+64737,41191
+64699,41282
+64629,41352
+64537,41390
+64512,41390
+64512,41772
+64489,41886
+64466,41919
+64424,41984
+64323,42084
+64323,42172
+64258,42328
+64138,42448
+63982,42512
+63813,42512
+63657,42447
+63537,42327
+63473,42171
+63473,42002
+63538,41846
+63658,41726
+63814,41662
+63900,41662
+63914,41648
+63914,41390
+63888,41390
+63797,41352
+63787,41342
+62854,41342
+62849,41341
+62798,41341
+62798,41402
+62799,41407
+62799,41667
+64325,43193
+64367,43257
+64390,43291
+64413,43405
+64413,44438
+64559,44585
+64639,44778
+64639,44987
+64559,45180
+64411,45327
+64249,45394
+67965,45394
+67965,42945
+67874,42907
+67815,42848
+67756,42907
+67664,42945
+67215,42945
+67124,42907
+67054,42837
+67016,42745
+67016,42720
+66830,42720
+66734,42700
+66715,42697
+66618,42632
+66324,42337
+66259,42241
+66236,42126
+66236,41784
+65845,41784
+65754,41746
+65684,41676
+65646,41584
+65646,41243
+65304,41243
+65213,41205
+65143,41135
+65105,41043
+65105,40369
+65103,40368
+64766,40031
+64737,40031
+64738,40104
+64676,40166
+64263,40166
+64263,39853
+64325,39791
+64380,39791
+64339,39690
+64339,39521
+64404,39365
+64524,39245
+64680,39181
+64849,39181
+65005,39246
+65125,39366
+65189,39522
+65189,39608
+65438,39858
+65531,39858
+65535,39859
+65646,39859
+65646,39748
+65645,39744
+65645,39650
+65317,39323
+65230,39323
+65074,39258
+64954,39138
+64890,38982
+64890,38813
+64955,38657
+65075,38537
+65231,38473
+65400,38473
+65421,38481
+65421,38339
+65459,38248
+65518,38188
+65459,38130
+65421,38038
+65420,37926
+65482,37864
+65482,37764
+65420,37702
+65421,37590
+65459,37498
+65529,37428
+65620,37390
+65719,37390
+65833,37389
+65895,37451
+65895,37764
+65482,37764
+65482,37864
+65895,37864
+65895,37914
+65995,37914
+65995,37864
+65995,37764
+65995,37451
+66057,37389
+66171,37390
+66270,37390
+66361,37428
+66431,37498
+66469,37590
+66470,37702
+66408,37764
+65995,37764
+65995,37864
+66408,37864
+66470,37926
+66469,38038
+66431,38130
+66371,38188
+66431,38248
+66469,38340
+66469,38665
+66472,38669
+66620,38669
+66776,38734
+66896,38854
+66960,39010
+66960,39102
+67012,39180
+67015,39199
+67035,39295
+67035,39744
+67034,39748
+67034,39858
+67607,39858
+67607,39537
+67645,39446
+67715,39376
+67807,39338
+68127,39338
+68127,38695
+67796,38557
+67544,38304
+67407,37973
+67407,37615
+67545,37284
+67798,37032
+68129,36895
+68487,36895
+68818,37033
+69070,37286
+69207,37617
+69207,37975
+69069,38306
+68816,38558
+68485,38695
+68127,38695
+68127,39338
+68256,39338
+68347,39376
+68405,39434
+68465,39376
+68557,39338
+68669,39337
+68731,39399
+68731,39812
+68681,39812
+68681,39912
+68731,39912
+68731,40325
+68669,40387
+68644,40386
+68647,40388
+68767,40508
+68831,40664
+68831,40833
+68766,40989
+68646,41109
+68490,41173
+68321,41173
+68165,41108
+68045,40988
+67981,40832
+67981,40745
+67888,40653
+67571,40653
+67571,40663
+67572,40662
+67571,40748
+67572,40834
+67571,40833
+67571,41044
+67533,41135
+67463,41205
+67371,41243
+67030,41243
+67030,41585
+66992,41676
+66922,41746
+66834,41782
+66834,42002
+66953,42122
+67016,42122
+67016,42096
+67054,42005
+67124,41935
+67216,41897
+67665,41897
+67756,41935
+67815,41993
+67874,41935
+67891,41927
+67891,41849
+67892,41841
+67882,41816
+67882,41647
+67947,41491
+68067,41371
+68223,41307
+68392,41307
+68548,41372
+68668,41492
+68732,41648
+68732,41817
+68667,41973
+68593,42046
+68614,42097
+68614,42746
+68576,42837
+68506,42907
+68414,42945
+67965,42945
+67965,45394
+68893,45394
+68893,40387
+68831,40325
+68831,39912
+68831,39812
+68831,39399
+68893,39337
+69005,39338
+69097,39376
+69167,39446
+69205,39537
+69205,39636
+69206,39750
+69144,39812
+68831,39812
+68831,39912
+69144,39912
+69206,39974
+69205,40088
+69205,40187
+69167,40278
+69097,40348
+69005,40386
+68893,40387
+68893,45394
+69213,45394
+69213,36889
+54606,36889
+54606,39528
+" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:100" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M58590 45134 L58587 45134" /> 
+<path d="M58590 45108 L58590 45134" /> 
+<path d="M58589 44994 L58590 45108" /> 
+<path d="M58651 44932 L58589 44994" /> 
+<path d="M58589 44770 L58651 44832" /> 
+<path d="M58590 44656 L58589 44770" /> 
+<path d="M58590 44557 L58590 44656" /> 
+<path d="M58628 44466 L58590 44557" /> 
+<path d="M58698 44396 L58628 44466" /> 
+<path d="M58790 44358 L58698 44396" /> 
+<path d="M59002 44357 L58790 44358" /> 
+<path d="M59064 44419 L59002 44357" /> 
+<path d="M59064 44832 L59064 44419" /> 
+<path d="M58651 44832 L59064 44832" /> 
+<path d="M59064 44932 L58651 44932" /> 
+<path d="M59064 44982 L59064 44932" /> 
+<path d="M59164 44982 L59064 44982" /> 
+<path d="M59164 44932 L59164 44982" /> 
+<path d="M59214 44932 L59164 44932" /> 
+<path d="M59214 44832 L59214 44932" /> 
+<path d="M59164 44832 L59214 44832" /> 
+<path d="M59164 44419 L59164 44832" /> 
+<path d="M59226 44357 L59164 44419" /> 
+<path d="M59438 44358 L59226 44357" /> 
+<path d="M59530 44396 L59438 44358" /> 
+<path d="M59600 44466 L59530 44396" /> 
+<path d="M59638 44557 L59600 44466" /> 
+<path d="M59638 44658 L59638 44557" /> 
+<path d="M59669 44584 L59638 44658" /> 
+<path d="M59799 44454 L59669 44584" /> 
+<path d="M59799 43941 L59799 44454" /> 
+<path d="M59461 43941 L59799 43941" /> 
+<path d="M59461 43987 L59461 43941" /> 
+<path d="M59423 44078 L59461 43987" /> 
+<path d="M59353 44148 L59423 44078" /> 
+<path d="M59261 44186 L59353 44148" /> 
+<path d="M58394 44186 L59261 44186" /> 
+<path d="M58303 44148 L58394 44186" /> 
+<path d="M58287 44131 L58303 44148" /> 
+<path d="M58271 44148 L58287 44131" /> 
+<path d="M58179 44186 L58271 44148" /> 
+<path d="M57858 44187 L58179 44186" /> 
+<path d="M57796 44125 L57858 44187" /> 
+<path d="M57796 43692 L57796 44125" /> 
+<path d="M57846 43692 L57796 43692" /> 
+<path d="M57846 43592 L57846 43692" /> 
+<path d="M57796 43592 L57846 43592" /> 
+<path d="M57796 43159 L57796 43592" /> 
+<path d="M57858 43097 L57796 43159" /> 
+<path d="M58179 43098 L57858 43097" /> 
+<path d="M58271 43136 L58179 43098" /> 
+<path d="M58287 43152 L58271 43136" /> 
+<path d="M58303 43136 L58287 43152" /> 
+<path d="M58395 43098 L58303 43136" /> 
+<path d="M59262 43098 L58395 43098" /> 
+<path d="M59353 43136 L59262 43098" /> 
+<path d="M59423 43206 L59353 43136" /> 
+<path d="M59461 43298 L59423 43206" /> 
+<path d="M59461 43343 L59461 43298" /> 
+<path d="M59476 43343 L59461 43343" /> 
+<path d="M59476 43222 L59476 43343" /> 
+<path d="M59538 43160 L59476 43222" /> 
+<path d="M59476 42998 L59538 43060" /> 
+<path d="M59477 42786 L59476 42998" /> 
+<path d="M59515 42694 L59477 42786" /> 
+<path d="M59585 42624 L59515 42694" /> 
+<path d="M59676 42586 L59585 42624" /> 
+<path d="M59691 42586 L59676 42586" /> 
+<path d="M59577 42216 L59691 42217" /> 
+<path d="M59478 42216 L59577 42216" /> 
+<path d="M59387 42178 L59478 42216" /> 
+<path d="M59317 42108 L59387 42178" /> 
+<path d="M59279 42016 L59317 42108" /> 
+<path d="M59278 41904 L59279 42016" /> 
+<path d="M59340 41842 L59278 41904" /> 
+<path d="M59753 41842 L59340 41842" /> 
+<path d="M59753 42155 L59753 41842" /> 
+<path d="M59691 42217 L59753 42155" /> 
+<path d="M59775 42586 L59691 42586" /> 
+<path d="M59789 42585 L59775 42586" /> 
+<path d="M59851 42647 L59789 42585" /> 
+<path d="M59851 43060 L59851 42647" /> 
+<path d="M59538 43060 L59851 43060" /> 
+<path d="M59851 43160 L59538 43160" /> 
+<path d="M59851 43210 L59851 43160" /> 
+<path d="M59951 43210 L59851 43210" /> 
+<path d="M59951 43160 L59951 43210" /> 
+<path d="M60001 43160 L59951 43160" /> 
+<path d="M60001 43060 L60001 43160" /> 
+<path d="M59951 43060 L60001 43060" /> 
+<path d="M59951 42647 L59951 43060" /> 
+<path d="M60013 42585 L59951 42647" /> 
+<path d="M60027 42586 L60013 42585" /> 
+<path d="M60126 42586 L60027 42586" /> 
+<path d="M60215 42623 L60126 42586" /> 
+<path d="M60286 42594 L60215 42623" /> 
+<path d="M60320 42545 L60286 42594" /> 
+<path d="M60358 42506 L60320 42545" /> 
+<path d="M60339 42494 L60358 42506" /> 
+<path d="M60104 42258 L60339 42494" /> 
+<path d="M60075 42216 L60104 42258" /> 
+<path d="M60029 42216 L60075 42216" /> 
+<path d="M59915 42217 L60029 42216" /> 
+<path d="M59853 42155 L59915 42217" /> 
+<path d="M59853 41842 L59853 42155" /> 
+<path d="M59903 41842 L59853 41842" /> 
+<path d="M59903 41742 L59903 41842" /> 
+<path d="M59853 41742 L59903 41742" /> 
+<path d="M59853 41692 L59853 41742" /> 
+<path d="M59753 41692 L59853 41692" /> 
+<path d="M59753 41742 L59753 41692" /> 
+<path d="M59340 41742 L59753 41742" /> 
+<path d="M59278 41680 L59340 41742" /> 
+<path d="M59279 41568 L59278 41680" /> 
+<path d="M59317 41476 L59279 41568" /> 
+<path d="M59375 41416 L59317 41476" /> 
+<path d="M59317 41358 L59375 41416" /> 
+<path d="M59279 41266 L59317 41358" /> 
+<path d="M59279 41016 L59279 41266" /> 
+<path d="M59246 41016 L59279 41016" /> 
+<path d="M59090 40951 L59246 41016" /> 
+<path d="M58989 40850 L59090 40951" /> 
+<path d="M58645 40850 L58989 40850" /> 
+<path d="M58625 40870 L58645 40850" /> 
+<path d="M58533 40908 L58625 40870" /> 
+<path d="M58427 40908 L58533 40908" /> 
+<path d="M58427 41408 L58427 40908" /> 
+<path d="M58389 41499 L58427 41408" /> 
+<path d="M58369 41519 L58389 41499" /> 
+<path d="M58369 41687 L58369 41519" /> 
+<path d="M58658 41977 L58369 41687" /> 
+<path d="M58746 41977 L58658 41977" /> 
+<path d="M58902 42042 L58746 41977" /> 
+<path d="M59022 42162 L58902 42042" /> 
+<path d="M59086 42318 L59022 42162" /> 
+<path d="M59086 42487 L59086 42318" /> 
+<path d="M59021 42643 L59086 42487" /> 
+<path d="M58901 42763 L59021 42643" /> 
+<path d="M58745 42827 L58901 42763" /> 
+<path d="M58576 42827 L58745 42827" /> 
+<path d="M58420 42762 L58576 42827" /> 
+<path d="M58300 42642 L58420 42762" /> 
+<path d="M58236 42486 L58300 42642" /> 
+<path d="M58236 42399 L58236 42486" /> 
+<path d="M58133 42296 L58236 42399" /> 
+<path d="M58142 42318 L58133 42296" /> 
+<path d="M58142 42487 L58142 42318" /> 
+<path d="M58077 42643 L58142 42487" /> 
+<path d="M57957 42763 L58077 42643" /> 
+<path d="M57801 42827 L57957 42763" /> 
+<path d="M57632 42827 L57801 42827" /> 
+<path d="M57476 42762 L57632 42827" /> 
+<path d="M57356 42642 L57476 42762" /> 
+<path d="M57292 42486 L57356 42642" /> 
+<path d="M57292 42317 L57292 42486" /> 
+<path d="M57357 42161 L57292 42317" /> 
+<path d="M57418 42100 L57357 42161" /> 
+<path d="M57418 41607 L57418 42100" /> 
+<path d="M56795 41607 L57418 41607" /> 
+<path d="M56795 43341 L56795 41607" /> 
+<path d="M57159 43706 L56795 43341" /> 
+<path d="M57174 43692 L57159 43706" /> 
+<path d="M57112 43530 L57174 43592" /> 
+<path d="M57113 43396 L57112 43530" /> 
+<path d="M57113 43297 L57113 43396" /> 
+<path d="M57151 43206 L57113 43297" /> 
+<path d="M57221 43136 L57151 43206" /> 
+<path d="M57313 43098 L57221 43136" /> 
+<path d="M57634 43097 L57313 43098" /> 
+<path d="M57696 43159 L57634 43097" /> 
+<path d="M57696 43592 L57696 43159" /> 
+<path d="M57174 43592 L57696 43592" /> 
+<path d="M57696 43692 L57174 43692" /> 
+<path d="M57696 44125 L57696 43692" /> 
+<path d="M57637 44183 L57696 44125" /> 
+<path d="M58587 45134 L57637 44183" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; " 
+points="58651,44832
+58589,44770
+58590,44656
+58590,44557
+58628,44466
+58698,44396
+58790,44358
+59002,44357
+59064,44419
+59064,44832
+58651,44832
+58651,44932
+59064,44932
+59064,44982
+59164,44982
+59164,44932
+59214,44932
+59214,44832
+59164,44832
+59164,44419
+59226,44357
+59438,44358
+59530,44396
+59600,44466
+59638,44557
+59638,44658
+59669,44584
+59799,44454
+59799,43941
+59461,43941
+59461,43987
+59423,44078
+59353,44148
+59261,44186
+58394,44186
+58303,44148
+58287,44131
+58271,44148
+58179,44186
+57858,44187
+57796,44125
+57796,43692
+57846,43692
+57846,43592
+57796,43592
+57796,43159
+57858,43097
+58179,43098
+58271,43136
+58287,43152
+58303,43136
+58395,43098
+59262,43098
+59353,43136
+59423,43206
+59461,43298
+59461,43343
+59476,43343
+59476,43222
+59538,43160
+59538,43060
+59476,42998
+59477,42786
+59515,42694
+59585,42624
+59676,42586
+59691,42586
+59691,42217
+59577,42216
+59478,42216
+59387,42178
+59317,42108
+59279,42016
+59278,41904
+59340,41842
+59753,41842
+59753,42155
+59691,42217
+59691,42586
+59775,42586
+59789,42585
+59851,42647
+59851,43060
+59538,43060
+59538,43160
+59851,43160
+59851,43210
+59951,43210
+59951,43160
+60001,43160
+60001,43060
+59951,43060
+59951,42647
+60013,42585
+60027,42586
+60126,42586
+60215,42623
+60286,42594
+60320,42545
+60358,42506
+60339,42494
+60104,42258
+60075,42216
+60029,42216
+59915,42217
+59853,42155
+59853,41842
+59903,41842
+59903,41742
+59853,41742
+59853,41692
+59753,41692
+59753,41742
+59340,41742
+59278,41680
+59279,41568
+59317,41476
+59375,41416
+59317,41358
+59279,41266
+59279,41016
+59246,41016
+59090,40951
+58989,40850
+58645,40850
+58625,40870
+58533,40908
+58427,40908
+58427,41408
+58389,41499
+58369,41519
+58369,41687
+58658,41977
+58746,41977
+58902,42042
+59022,42162
+59086,42318
+59086,42487
+59021,42643
+58901,42763
+58745,42827
+58576,42827
+58420,42762
+58300,42642
+58236,42486
+58236,42399
+58133,42296
+58142,42318
+58142,42487
+58077,42643
+57957,42763
+57801,42827
+57632,42827
+57476,42762
+57356,42642
+57292,42486
+57292,42317
+57357,42161
+57418,42100
+57418,41607
+56795,41607
+56795,43341
+57159,43706
+57174,43692
+57174,43592
+57112,43530
+57113,43396
+57113,43297
+57151,43206
+57221,43136
+57313,43098
+57634,43097
+57696,43159
+57696,43592
+57174,43592
+57174,43692
+57696,43692
+57696,44125
+57637,44183
+58587,45134
+58590,45134
+58590,45108
+58589,44994
+58651,44932
+" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:100" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M63613 44717 L63559 44585" /> 
+<path d="M63669 44584 L63613 44717" /> 
+<path d="M63815 44438 L63669 44584" /> 
+<path d="M63815 43528 L63815 44438" /> 
+<path d="M63398 43111 L63815 43528" /> 
+<path d="M63398 43210 L63398 43111" /> 
+<path d="M63386 43210 L63398 43210" /> 
+<path d="M63398 43222 L63386 43210" /> 
+<path d="M63397 43336 L63398 43222" /> 
+<path d="M63397 43435 L63397 43336" /> 
+<path d="M63359 43526 L63397 43435" /> 
+<path d="M63289 43596 L63359 43526" /> 
+<path d="M63197 43634 L63289 43596" /> 
+<path d="M63085 43635 L63197 43634" /> 
+<path d="M63023 43573 L63085 43635" /> 
+<path d="M63023 43160 L63023 43573" /> 
+<path d="M63073 43160 L63023 43160" /> 
+<path d="M63073 43060 L63073 43160" /> 
+<path d="M63023 43060 L63073 43060" /> 
+<path d="M63023 43010 L63023 43060" /> 
+<path d="M62923 43010 L63023 43010" /> 
+<path d="M62923 43060 L62923 43010" /> 
+<path d="M62873 43060 L62923 43060" /> 
+<path d="M62873 43160 L62873 43060" /> 
+<path d="M62923 43160 L62873 43160" /> 
+<path d="M62923 43573 L62923 43160" /> 
+<path d="M62861 43635 L62923 43573" /> 
+<path d="M62749 43634 L62861 43635" /> 
+<path d="M62657 43596 L62749 43634" /> 
+<path d="M62597 43536 L62657 43596" /> 
+<path d="M62539 43596 L62597 43536" /> 
+<path d="M62447 43634 L62539 43596" /> 
+<path d="M61998 43634 L62447 43634" /> 
+<path d="M61907 43596 L61998 43634" /> 
+<path d="M61837 43526 L61907 43596" /> 
+<path d="M61799 43434 L61837 43526" /> 
+<path d="M61799 42785 L61799 43434" /> 
+<path d="M61807 42765 L61799 42785" /> 
+<path d="M61807 42395 L61807 42765" /> 
+<path d="M61530 42672 L61807 42395" /> 
+<path d="M61527 42674 L61530 42672" /> 
+<path d="M61547 42694 L61527 42674" /> 
+<path d="M61585 42786 L61547 42694" /> 
+<path d="M61585 43435 L61585 42786" /> 
+<path d="M61547 43526 L61585 43435" /> 
+<path d="M61477 43596 L61547 43526" /> 
+<path d="M61385 43634 L61477 43596" /> 
+<path d="M61374 43634 L61385 43634" /> 
+<path d="M61372 43638 L61374 43634" /> 
+<path d="M61156 43853 L61372 43638" /> 
+<path d="M61060 43918 L61156 43853" /> 
+<path d="M61040 43921 L61060 43918" /> 
+<path d="M60945 43941 L61040 43921" /> 
+<path d="M60397 43941 L60945 43941" /> 
+<path d="M60397 44430 L60397 43941" /> 
+<path d="M60412 44437 L60397 44430" /> 
+<path d="M60559 44585 L60412 44437" /> 
+<path d="M60613 44717 L60559 44585" /> 
+<path d="M60669 44584 L60613 44717" /> 
+<path d="M60817 44437 L60669 44584" /> 
+<path d="M61010 44357 L60817 44437" /> 
+<path d="M61219 44357 L61010 44357" /> 
+<path d="M61412 44437 L61219 44357" /> 
+<path d="M61559 44585 L61412 44437" /> 
+<path d="M61613 44717 L61559 44585" /> 
+<path d="M61669 44584 L61613 44717" /> 
+<path d="M61817 44437 L61669 44584" /> 
+<path d="M62010 44357 L61817 44437" /> 
+<path d="M62219 44357 L62010 44357" /> 
+<path d="M62412 44437 L62219 44357" /> 
+<path d="M62559 44585 L62412 44437" /> 
+<path d="M62613 44717 L62559 44585" /> 
+<path d="M62669 44584 L62613 44717" /> 
+<path d="M62817 44437 L62669 44584" /> 
+<path d="M63010 44357 L62817 44437" /> 
+<path d="M63085 44357 L63010 44357" /> 
+<path d="M63219 44357 L63085 44357" /> 
+<path d="M63412 44437 L63219 44357" /> 
+<path d="M63559 44585 L63412 44437" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; " 
+points="63398,43111
+63398,43210
+63386,43210
+63398,43222
+63397,43336
+63397,43435
+63359,43526
+63289,43596
+63197,43634
+63085,43635
+63023,43573
+63023,43160
+63073,43160
+63073,43060
+63023,43060
+63023,43010
+62923,43010
+62923,43060
+62873,43060
+62873,43160
+62923,43160
+62923,43573
+62861,43635
+62749,43634
+62657,43596
+62597,43536
+62539,43596
+62447,43634
+61998,43634
+61907,43596
+61837,43526
+61799,43434
+61799,42785
+61807,42765
+61807,42395
+61530,42672
+61527,42674
+61547,42694
+61585,42786
+61585,43435
+61547,43526
+61477,43596
+61385,43634
+61374,43634
+61372,43638
+61156,43853
+61060,43918
+61040,43921
+60945,43941
+60397,43941
+60397,44430
+60412,44437
+60559,44585
+60613,44717
+60669,44584
+60817,44437
+61010,44357
+61219,44357
+61412,44437
+61559,44585
+61613,44717
+61669,44584
+61817,44437
+62010,44357
+62219,44357
+62412,44437
+62559,44585
+62613,44717
+62669,44584
+62817,44437
+63010,44357
+63085,44357
+63219,44357
+63412,44437
+63559,44585
+63613,44717
+63669,44584
+63815,44438
+63815,43528
+" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:100" 
+   transform="translate(0 0) scale(1 1)">
+<path d="M57771 39495 L56795 39495" /> 
+<path d="M57771 39397 L57771 39495" /> 
+<path d="M57709 39335 L57771 39397" /> 
+<path d="M57645 39179 L57709 39335" /> 
+<path d="M57645 39010 L57645 39179" /> 
+<path d="M57710 38854 L57645 39010" /> 
+<path d="M57830 38734 L57710 38854" /> 
+<path d="M57986 38670 L57830 38734" /> 
+<path d="M57987 38670 L57986 38670" /> 
+<path d="M57987 38288 L57987 38670" /> 
+<path d="M57970 38281 L57987 38288" /> 
+<path d="M57900 38211 L57970 38281" /> 
+<path d="M57862 38119 L57900 38211" /> 
+<path d="M57862 38094 L57862 38119" /> 
+<path d="M57603 38094 L57862 38094" /> 
+<path d="M56795 38902 L57603 38094" /> 
+<path d="M56795 39495 L56795 38902" /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; " 
+points="57645,39010
+57710,38854
+57830,38734
+57986,38670
+57987,38670
+57987,38288
+57970,38281
+57900,38211
+57862,38119
+57862,38094
+57603,38094
+56795,38902
+56795,39495
+57771,39495
+57771,39397
+57709,39335
+57645,39179
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="57894,40443
+58484,40443
+58484,40659
+57894,40659
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="56082,40443
+56672,40443
+56672,40659
+56082,40659
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="57962,40334
+57962,39744
+58178,39744
+58178,40334
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="57647,40334
+57647,39744
+57863,39744
+57863,40334
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="57332,40334
+57332,39744
+57548,39744
+57548,40334
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="57018,40334
+57018,39744
+57234,39744
+57234,40334
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="56703,40334
+56703,39744
+56919,39744
+56919,40334
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="56388,40334
+56388,39744
+56604,39744
+56604,40334
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="56388,41358
+56388,40768
+56604,40768
+56604,41358
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="56703,41358
+56703,40768
+56919,40768
+56919,41358
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="57018,41358
+57018,40768
+57234,40768
+57234,41358
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="57332,41358
+57332,40768
+57548,40768
+57548,41358
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="57647,41358
+57647,40768
+57863,40768
+57863,41358
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="57962,41358
+57962,40768
+58178,40768
+58178,41358
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="60965,40895
+60965,40797
+61359,40797
+61359,40895
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="60965,40502
+60965,40404
+61359,40404
+61359,40502
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="60965,40698
+60965,40600
+61359,40600
+61359,40698
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="60965,41092
+60965,40994
+61359,40994
+61359,41092
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="60965,40305
+60965,40207
+61359,40207
+61359,40305
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="60965,40108
+60965,40010
+61359,40010
+61359,40108
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="61565,39892
+61467,39892
+61467,39498
+61565,39498
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="61762,39892
+61664,39892
+61664,39498
+61762,39498
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="61959,39892
+61861,39892
+61861,39498
+61959,39498
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="62352,39892
+62254,39892
+62254,39498
+62352,39498
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="62155,39892
+62057,39892
+62057,39498
+62155,39498
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="62549,39892
+62451,39892
+62451,39498
+62549,39498
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="62657,40108
+62657,40010
+63051,40010
+63051,40108
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="62657,40305
+62657,40207
+63051,40207
+63051,40305
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="62657,41092
+62657,40994
+63051,40994
+63051,41092
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="62657,40698
+62657,40600
+63051,40600
+63051,40698
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="62657,40502
+62657,40404
+63051,40404
+63051,40502
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="62657,40895
+62657,40797
+63051,40797
+63051,40895
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="62549,41604
+62451,41604
+62451,41210
+62549,41210
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="62155,41604
+62057,41604
+62057,41210
+62155,41210
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="62352,41604
+62254,41604
+62254,41210
+62352,41210
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="61959,41604
+61861,41604
+61861,41210
+61959,41210
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="61762,41604
+61664,41604
+61664,41210
+61762,41210
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="61565,41604
+61467,41604
+61467,41210
+61565,41210
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="62401,40944
+61615,40944
+61615,40158
+62401,40158
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="60706,43385
+60356,43385
+60356,42835
+60706,42835
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="60076,43385
+59726,43385
+59726,42835
+60076,42835
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="61336,43385
+60986,43385
+60986,42835
+61336,42835
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="58839,45157
+58839,44607
+59389,44607
+59389,45157
+" /> 
+</g>
+<g style="fill:#FFFFFF; fill-opacity:1.0; 
+  stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="59114" cy="44882" rx="160" ry="160"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="60114" cy="44882" rx="275" ry="275"  /> 
+</g>
+<g style="fill:#FFFFFF; fill-opacity:1.0; 
+  stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="60114" cy="44882" rx="160" ry="160"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="61114" cy="44882" rx="275" ry="275"  /> 
+</g>
+<g style="fill:#FFFFFF; fill-opacity:1.0; 
+  stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="61114" cy="44882" rx="160" ry="160"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="62114" cy="44882" rx="275" ry="275"  /> 
+</g>
+<g style="fill:#FFFFFF; fill-opacity:1.0; 
+  stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="62114" cy="44882" rx="160" ry="160"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="63114" cy="44882" rx="275" ry="275"  /> 
+</g>
+<g style="fill:#FFFFFF; fill-opacity:1.0; 
+  stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="63114" cy="44882" rx="160" ry="160"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="64114" cy="44882" rx="275" ry="275"  /> 
+</g>
+<g style="fill:#FFFFFF; fill-opacity:1.0; 
+  stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="64114" cy="44882" rx="160" ry="160"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; " 
+points="64488,41141
+63938,41141
+63938,40791
+64488,40791
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="64488,40391
+63938,40391
+63938,40041
+64488,40041
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="67856,40137
+67856,39587
+68206,39587
+68206,40137
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="68606,40137
+68606,39587
+68956,39587
+68956,40137
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="68365,42146
+68365,42696
+68015,42696
+68015,42146
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="67615,42146
+67615,42696
+67265,42696
+67265,42146
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="62048,43385
+62048,42835
+62398,42835
+62398,43385
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="62798,43385
+62798,42835
+63148,42835
+63148,43385
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="63227,37481
+63227,38031
+62877,38031
+62877,37481
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="62477,37481
+62477,38031
+62127,38031
+62127,37481
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="59528,40867
+60078,40867
+60078,41217
+59528,41217
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="59528,41617
+60078,41617
+60078,41967
+59528,41967
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="58111,38070
+58111,37520
+58461,37520
+58461,38070
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="58861,38070
+58861,37520
+59211,37520
+59211,38070
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="55393,40707
+54843,40707
+54843,40357
+55393,40357
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="55393,39957
+54843,39957
+54843,39607
+55393,39607
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="66220,38739
+65670,38739
+65670,38389
+66220,38389
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="66220,37989
+65670,37989
+65670,37639
+66220,37639
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="66785,39921
+66687,39921
+66687,39567
+66785,39567
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="66584,39921
+66486,39921
+66486,39567
+66584,39567
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="65993,39921
+65895,39921
+65895,39567
+65993,39567
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="66190,39921
+66092,39921
+66092,39567
+66190,39567
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="66387,39921
+66289,39921
+66289,39567
+66387,39567
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="66387,39921
+66289,39921
+66289,39567
+66387,39567
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="66190,39921
+66092,39921
+66092,39567
+66190,39567
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="65993,39921
+65895,39921
+65895,39567
+65993,39567
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="66584,39921
+66486,39921
+66486,39567
+66584,39567
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="66785,39921
+66687,39921
+66687,39567
+66785,39567
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="66387,41535
+66289,41535
+66289,41181
+66387,41181
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="66584,41535
+66486,41535
+66486,41181
+66584,41181
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="66781,41535
+66683,41535
+66683,41181
+66781,41181
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="66190,41535
+66092,41535
+66092,41181
+66190,41181
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="65993,41535
+65895,41535
+65895,41181
+65993,41181
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="67322,40502
+67322,40600
+66968,40600
+66968,40502
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="67322,40305
+67322,40403
+66968,40403
+66968,40305
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="67322,40108
+67322,40206
+66968,40206
+66968,40108
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="67322,40699
+67322,40797
+66968,40797
+66968,40699
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="67322,40896
+67322,40994
+66968,40994
+66968,40896
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="65708,40502
+65708,40600
+65354,40600
+65354,40502
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="65708,40699
+65708,40797
+65354,40797
+65354,40699
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="65708,40896
+65708,40994
+65354,40994
+65354,40896
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="65708,40108
+65708,40206
+65354,40206
+65354,40108
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="65708,40305
+65708,40403
+65354,40403
+65354,40305
+" /> 
+<ellipse cx="55512" cy="37795" rx="650" ry="650"  /> 
+</g>
+<g style="fill:#FFFFFF; fill-opacity:1.0; 
+  stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="55512" cy="37795" rx="650" ry="650"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="68307" cy="37795" rx="650" ry="650"  /> 
+</g>
+<g style="fill:#FFFFFF; fill-opacity:1.0; 
+  stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="68307" cy="37795" rx="650" ry="650"  /> 
+</g>
+<g style="fill:#000000; fill-opacity:1.0; 
+  stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; " 
+points="58130,43347
+58130,43937
+57362,43937
+57362,43347
+" /> 
+<polygon style="fill-rule:evenodd; " 
+points="59212,43347
+59212,43937
+58444,43937
+58444,43347
+" /> 
+</g>
+<g style="fill:#FFFFFF; fill-opacity:1.0; 
+  stroke:#FFFFFF; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0" 
+   transform="translate(0 0) scale(1 1)">
+<ellipse cx="58937" cy="38543" rx="125" ry="125"  /> 
+<ellipse cx="57402" cy="38425" rx="125" ry="125"  /> 
+<ellipse cx="62992" cy="43819" rx="125" ry="125"  /> 
+<ellipse cx="60079" cy="42362" rx="125" ry="125"  /> 
+<ellipse cx="57717" cy="42402" rx="125" ry="125"  /> 
+<ellipse cx="61220" cy="38622" rx="125" ry="125"  /> 
+<ellipse cx="58661" cy="42402" rx="125" ry="125"  /> 
+<ellipse cx="65315" cy="38898" rx="125" ry="125"  /> 
+<ellipse cx="59331" cy="40591" rx="125" ry="125"  /> 
+<ellipse cx="60197" cy="39213" rx="125" ry="125"  /> 
+<ellipse cx="64764" cy="39606" rx="125" ry="125"  /> 
+<ellipse cx="58070" cy="39095" rx="125" ry="125"  /> 
+<ellipse cx="63898" cy="42087" rx="125" ry="125"  /> 
+<ellipse cx="59803" cy="40433" rx="125" ry="125"  /> 
+<ellipse cx="66535" cy="39094" rx="125" ry="125"  /> 
+<ellipse cx="68307" cy="41732" rx="125" ry="125"  /> 
+<ellipse cx="68406" cy="40748" rx="125" ry="125"  /> 
+</g> 
+</svg> 
diff --git a/svg-example/res/com/kitfox/svg/example/textOnPath.svg b/svg-example/res/com/kitfox/svg/example/textOnPath.svg
new file mode 100644
index 0000000..57dca67
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/textOnPath.svg
@@ -0,0 +1,155 @@
+<?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="svg2"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="teelicht-dingfabrik.svg">
+  <defs
+     id="defs4">
+    <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="perspective10" />
+    <inkscape:perspective
+       id="perspective2826"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective2852"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3664"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.979899"
+     inkscape:cx="122.12942"
+     inkscape:cy="170.29941"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     units="mm"
+     inkscape:window-width="1280"
+     inkscape:window-height="947"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:window-maximized="1">
+    <sodipodi:guide
+       orientation="1,0"
+       position="354.33071,389.76378"
+       id="guide2840" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="70.866142,354.33071"
+       id="guide2842" />
+    <inkscape:grid
+       type="xygrid"
+       id="grid3654"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true"
+       units="mm"
+       spacingx="5mm"
+       spacingy="5mm" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="62.124382,304.05592"
+       id="guide3701" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="214.15234,293.44931"
+       id="guide3705" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <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
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-2.5390623e-6)">
+    <g
+       id="g3690"
+       transform="matrix(0.86439486,0,0,0.86439486,-168.4549,312.7332)">
+      <path
+         transform="matrix(1.1122488,0,0,1.1122489,218.08023,-410.09184)"
+         d="m 202.14286,996.29077 c 0,43.98553 -35.65732,79.64283 -79.64286,79.64283 -43.985537,0 -79.64286,-35.6573 -79.64286,-79.64283 0,-43.98554 35.657323,-79.64286 79.64286,-79.64286 43.98554,0 79.64286,35.65732 79.64286,79.64286 z"
+         sodipodi:ry="79.64286"
+         sodipodi:rx="79.64286"
+         sodipodi:cy="996.29077"
+         sodipodi:cx="122.5"
+         id="path2816"
+         style="fill:none;stroke:#000000;stroke-width:0.70866144;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         sodipodi:type="arc" />
+      <path
+         transform="matrix(2.0020479,0,0,2.002048,109.07984,-1296.5905)"
+         d="m 202.14286,996.29077 c 0,43.98553 -35.65732,79.64283 -79.64286,79.64283 -43.985537,0 -79.64286,-35.6573 -79.64286,-79.64283 0,-43.98554 35.657323,-79.64286 79.64286,-79.64286 43.98554,0 79.64286,35.65732 79.64286,79.64286 z"
+         sodipodi:ry="79.64286"
+         sodipodi:rx="79.64286"
+         sodipodi:cy="996.29077"
+         sodipodi:cx="122.5"
+         id="path2816-8"
+         style="fill:none;stroke:#000000;stroke-width:0.70866144;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         sodipodi:type="arc" />
+      <path
+         inkscape:transform-center-y="0.0568203"
+         inkscape:transform-center-x="-0.17941063"
+         id="path2816-7"
+         d="m 253.36288,665.98445 c 17.73046,-55.96601 77.47324,-86.96204 133.43925,-69.23158 55.966,17.73046 86.96206,77.47322 69.2316,133.43924 -17.73047,55.96602 -77.47325,86.96207 -133.43925,69.23162 -55.96601,-17.73046 -86.96206,-77.47326 -69.2316,-133.43928 z"
+         style="fill:none;stroke:none" />
+      <text
+         inkscape:transform-center-x="-3.8684303"
+         inkscape:transform-center-y="-38.782311"
+         id="text3678"
+         style="font-size:34.91498947px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Browning;-inkscape-font-specification:Browning Bold"
+         xml:space="preserve"><textPath
+           style="font-size:32px"
+           id="textPath3687"
+           xlink:href="#path2816-7">dingfabrik Köln E.V.  die Kölner fABLAB</textPath></text>
+    </g>
+  </g>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/tux.svg b/svg-example/res/com/kitfox/svg/example/tux.svg
new file mode 100644
index 0000000..3956107
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/tux.svg
@@ -0,0 +1,902 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 349.46883 405.12272">
+ <title>Tux</title>
+ <desc>For more information see: http://commons.wikimedia.org/wiki/Image:Tux.svg</desc>
+ <radialGradient id="ag" gradientUnits="userSpaceOnUse" cy="-551.04" cx="274.822" gradientTransform="matrix(.5671 0 0 -.2835 81.263 201.645)" r="165.384">
+  <stop stop-opacity=".502" offset="0"/>
+  <stop stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <path fill="url(#ag)" d="m330.892 357.885c0 25.898-41.989 46.893-93.785 46.893-51.795 0-93.784-20.994-93.784-46.893s41.989-46.893 93.784-46.893c51.795 0.001 93.785 20.995 93.785 46.893z"/>
+ <radialGradient id="ak" gradientUnits="userSpaceOnUse" cy="-551.042" cx="268.794" gradientTransform="matrix(.5823 0 0 -.2835 -61.6052 201.14)" r="165.383">
+  <stop stop-opacity=".502" offset="0"/>
+  <stop stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <path fill="url(#ak)" d="m191.223 357.381c0 25.897-43.117 46.892-96.306 46.892-53.188 0-96.305-20.994-96.305-46.892s43.117-46.893 96.305-46.893c53.188 0.001 96.306 20.995 96.306 46.893z"/>
+ <g transform="translate(8.99996 9.00046)">
+  <path d="m292.327 256.606c-4.752 19.584-28.872 60.48-41.688 78.48-12.815 18.072-11.231 34.344-34.92 28.008-23.616-6.336-30.24-5.184-54.647-3.744-24.265 1.439-19.009-0.721-34.2 6.12-15.12 6.84-65.88-82.944-69.984-99.647-4.031-16.705-5.976-14.689 4.536-32.761 10.513-18.071 12.024-35.928 25.92-57.816 13.896-21.96 29.952-33.12 28.8-49.896-4.535-62.28-8.136-93.384 19.513-107.784 26.352-13.68 48.384-5.544 57.096-0.864 3.744 2.016 11.376 5.904 17.064 12.744 5.688 6.696 10.8 16.848 13.68 29.66 [...]
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#666" d="m148.47 94.049c4.319-1.728 3.592-1.958 6.472-8.222 2.304-4.824 4.328-6.898 4.256-14.242 0-7.2-2.232-9.648-5.616-14.328-3.24-4.464-8.424-4.68-11.664-4.104-1.872 0.288-4.319 2.664-5.976 6.192-1.08 2.376-1.944 5.4-2.017 8.568-0.216 8.496 0.505 11.736 2.448 17.496 2.305 6.769 7.921 10.297 12.097 8.64z"/>
+   <path fill="#6d6d6d" d="m148.47 94.023c4.293-1.717 3.563-1.954 6.425-8.178 2.289-4.793 4.312-6.861 4.271-14.164 0.027-7.152-2.162-9.702-5.488-14.201-3.296-4.345-8.376-4.509-11.593-3.953-1.916 0.283-4.354 2.569-6.038 5.968-1.159 2.31-2.016 5.353-2.087 8.535-0.212 8.438 0.547 11.691 2.46 17.417 2.268 6.731 7.901 10.221 12.05 8.576z"/>
+   <path fill="#757575" d="m148.471 93.996c4.264-1.706 3.533-1.95 6.377-8.133 2.273-4.762 4.296-6.823 4.288-14.085 0.053-7.105-2.093-9.756-5.363-14.075-3.35-4.225-8.327-4.338-11.52-3.801-1.961 0.278-4.389 2.474-6.099 5.744-1.242 2.245-2.089 5.305-2.16 8.501-0.207 8.38 0.591 11.647 2.473 17.34 2.231 6.691 7.881 10.144 12.004 8.509z"/>
+   <path fill="#7c7c7c" d="m148.471 93.969c4.235-1.694 3.506-1.946 6.329-8.089 2.26-4.731 4.28-6.786 4.304-14.006 0.081-7.058-2.021-9.811-5.236-13.948-3.403-4.105-8.278-4.167-11.446-3.649-2.006 0.273-4.424 2.379-6.16 5.519-1.322 2.179-2.161 5.257-2.232 8.468-0.202 8.323 0.636 11.603 2.486 17.261 2.191 6.654 7.859 10.068 11.955 8.444z"/>
+   <path fill="#848484" d="m148.471 93.943c4.209-1.684 3.477-1.942 6.282-8.045 2.245-4.7 4.266-6.749 4.319-13.928 0.107-7.01-1.95-9.864-5.109-13.821-3.458-3.985-8.23-3.996-11.375-3.498-2.049 0.268-4.458 2.284-6.222 5.295-1.403 2.114-2.233 5.21-2.303 8.435-0.198 8.265 0.679 11.559 2.498 17.183 2.156 6.615 7.842 9.992 11.91 8.379z"/>
+   <path fill="#8c8c8c" d="m148.471 93.916c4.181-1.672 3.448-1.938 6.235-8 2.23-4.668 4.249-6.711 4.335-13.85 0.134-6.962-1.88-9.918-4.982-13.695-3.513-3.865-8.183-3.825-11.303-3.347-2.094 0.263-4.492 2.189-6.283 5.07-1.484 2.049-2.306 5.163-2.375 8.401-0.193 8.207 0.723 11.515 2.511 17.105 2.118 6.58 7.821 9.919 11.862 8.316z"/>
+   <path fill="#939393" d="m148.472 93.889c4.152-1.661 3.419-1.934 6.188-7.956 2.215-4.638 4.233-6.674 4.35-13.771 0.161-6.915-1.809-9.972-4.854-13.568-3.567-3.746-8.134-3.654-11.23-3.195-2.138 0.259-4.527 2.094-6.345 4.847-1.564 1.983-2.378 5.115-2.447 8.368-0.188 8.149 0.767 11.47 2.523 17.026 2.079 6.54 7.8 9.841 11.815 8.249z"/>
+   <path fill="#9b9b9b" d="m148.472 93.863c4.125-1.65 3.391-1.93 6.141-7.912 2.2-4.607 4.217-6.637 4.366-13.693 0.188-6.868-1.739-10.026-4.729-13.441-3.621-3.626-8.085-3.484-11.157-3.044-2.183 0.253-4.562 1.999-6.406 4.622-1.646 1.918-2.45 5.068-2.52 8.335-0.185 8.091 0.811 11.426 2.535 16.948 2.044 6.502 7.782 9.766 11.77 8.185z"/>
+   <path fill="#a3a3a3" d="m148.472 93.836c4.097-1.639 3.361-1.926 6.094-7.867 2.185-4.576 4.201-6.599 4.382-13.614 0.214-6.82-1.669-10.081-4.603-13.315-3.676-3.506-8.036-3.313-11.084-2.893-2.229 0.249-4.598 1.904-6.47 4.398-1.726 1.852-2.521 5.021-2.591 8.301-0.18 8.034 0.854 11.382 2.548 16.87 2.008 6.465 7.763 9.691 11.724 8.12z"/>
+   <path fill="#aaa" d="m148.472 93.809c4.069-1.628 3.334-1.922 6.047-7.823 2.17-4.544 4.185-6.562 4.396-13.536 0.242-6.772-1.597-10.134-4.475-13.188-3.73-3.387-7.989-3.142-11.013-2.741-2.271 0.243-4.632 1.809-6.53 4.173-1.808 1.787-2.594 4.974-2.662 8.268-0.176 7.976 0.897 11.337 2.56 16.792 1.97 6.427 7.743 9.615 11.677 8.055z"/>
+   <path fill="#b2b2b2" d="m148.473 93.782c4.041-1.617 3.304-1.918 5.999-7.778 2.154-4.514 4.169-6.524 4.412-13.458 0.269-6.725-1.526-10.188-4.349-13.062-3.784-3.267-7.939-2.971-10.939-2.589-2.316 0.238-4.666 1.714-6.592 3.949-1.888 1.721-2.667 4.926-2.734 8.234-0.171 7.918 0.941 11.293 2.572 16.713 1.933 6.391 7.723 9.541 11.631 7.991z"/>
+   <path fill="#bababa" d="m148.473 93.756c4.014-1.606 3.275-1.914 5.951-7.734 2.141-4.482 4.153-6.487 4.43-13.379 0.295-6.678-1.457-10.243-4.223-12.935-3.839-3.147-7.892-2.8-10.867-2.438-2.36 0.233-4.701 1.619-6.653 3.725-1.969 1.656-2.739 4.879-2.806 8.201-0.167 7.86 0.984 11.249 2.585 16.636 1.895 6.35 7.702 9.462 11.583 7.924z"/>
+   <path fill="#c1c1c1" d="m148.473 93.729c3.985-1.595 3.247-1.91 5.904-7.69 2.125-4.451 4.138-6.45 4.445-13.3 0.321-6.63-1.387-10.297-4.096-12.808-3.894-3.028-7.844-2.629-10.795-2.287-2.405 0.229-4.735 1.524-6.716 3.5-2.049 1.59-2.811 4.831-2.878 8.167-0.161 7.802 1.029 11.205 2.599 16.557 1.859 6.314 7.683 9.389 11.537 7.861z"/>
+   <path fill="#c9c9c9" d="m148.473 93.702c3.958-1.583 3.219-1.906 5.857-7.646 2.11-4.42 4.121-6.412 4.46-13.222 0.35-6.583-1.315-10.351-3.969-12.682-3.947-2.908-7.794-2.458-10.722-2.135-2.45 0.224-4.771 1.429-6.777 3.276-2.13 1.525-2.883 4.784-2.95 8.135-0.157 7.745 1.073 11.16 2.611 16.479 1.821 6.276 7.663 9.313 11.49 7.795z"/>
+   <path fill="#d1d1d1" d="m148.474 93.676c3.93-1.573 3.188-1.902 5.809-7.601 2.097-4.389 4.107-6.375 4.477-13.144 0.375-6.535-1.245-10.404-3.842-12.555-4.002-2.788-7.747-2.287-10.65-1.984-2.493 0.219-4.805 1.334-6.837 3.052-2.213 1.459-2.957 4.736-3.022 8.101-0.153 7.687 1.116 11.116 2.623 16.401 1.782 6.237 7.642 9.237 11.442 7.73z"/>
+   <path fill="#d8d8d8" d="m148.474 93.649c3.901-1.562 3.16-1.898 5.762-7.557 2.082-4.358 4.091-6.338 4.493-13.065 0.401-6.487-1.176-10.458-3.716-12.428-4.057-2.668-7.698-2.116-10.578-1.832-2.538 0.214-4.839 1.239-6.899 2.827-2.292 1.394-3.029 4.689-3.094 8.068-0.148 7.629 1.16 11.072 2.636 16.322 1.746 6.2 7.623 9.161 11.396 7.665z"/>
+   <path fill="#e0e0e0" d="m148.474 93.622c3.875-1.55 3.132-1.894 5.715-7.512 2.066-4.327 4.075-6.3 4.508-12.987 0.429-6.44-1.104-10.513-3.588-12.302-4.111-2.549-7.65-1.945-10.506-1.681-2.582 0.209-4.874 1.144-6.961 2.604-2.373 1.328-3.102 4.642-3.165 8.034-0.145 7.571 1.204 11.027 2.647 16.244 1.709 6.162 7.604 9.086 11.35 7.6z"/>
+   <path fill="#e8e8e8" d="m148.474 93.596c3.847-1.54 3.104-1.89 5.668-7.468 2.052-4.296 4.059-6.263 4.523-12.908 0.456-6.393-1.034-10.567-3.462-12.175-4.165-2.429-7.601-1.774-10.433-1.529-2.627 0.204-4.908 1.049-7.023 2.379-2.453 1.263-3.173 4.594-3.236 8.001-0.141 7.514 1.247 10.983 2.659 16.166 1.673 6.123 7.585 9.008 11.304 7.534z"/>
+   <path fill="#efefef" d="m148.475 93.569c3.817-1.528 3.073-1.886 5.62-7.424 2.036-4.265 4.043-6.226 4.539-12.83 0.482-6.345-0.964-10.621-3.336-12.048-4.219-2.31-7.552-1.604-10.359-1.378-2.672 0.199-4.943 0.954-7.084 2.155-2.535 1.197-3.246 4.546-3.311 7.967-0.135 7.456 1.292 10.939 2.673 16.087 1.636 6.087 7.565 8.935 11.258 7.471z"/>
+   <path fill="#f7f7f7" d="m148.475 93.542c3.791-1.517 3.046-1.882 5.572-7.379 2.022-4.234 4.027-6.188 4.556-12.751 0.51-6.297-0.894-10.675-3.208-11.921-4.274-2.19-7.505-1.433-10.289-1.227-2.715 0.194-4.978 0.859-7.146 1.93-2.614 1.132-3.317 4.5-3.381 7.935-0.131 7.398 1.335 10.895 2.686 16.009 1.597 6.047 7.544 8.858 11.21 7.404z"/>
+   <path fill="#fff" d="m148.475 93.516c3.763-1.506 3.017-1.878 5.525-7.335 2.007-4.203 4.012-6.151 4.571-12.673 0.536-6.25-0.823-10.729-3.082-11.795-4.328-2.07-7.456-1.262-10.216-1.075-2.76 0.189-5.012 0.764-7.207 1.706-2.696 1.066-3.39 4.452-3.453 7.901-0.126 7.34 1.379 10.85 2.698 15.931 1.561 6.01 7.525 8.782 11.164 7.34z"/>
+  </g>
+  <path d="m132.033 74.7465c2.16 0 4.896 1.44 6.191 3.384 1.368 1.944 2.376 4.68 2.376 7.776 0 4.608-0.504 9.72-3.239 11.304-0.864 0.504-2.736 0.936-3.816 0.936-2.448 0-2.664-1.584-4.968-3.96-0.792-0.864-3.168-5.04-3.168-8.496 0-2.16-0.504-5.256 1.368-7.992 1.296-2.016 2.952-2.952 5.256-2.952z"/>
+  <g transform="translate(-12.4048,10.0005)">
+   <path d="m143.862 68.608c0.844-1.305 4.222-0.69 5.45 1.996 1.229 2.687 0.998 8.522 0.153 8.829-2.226 0.691-1.535-2.534-3.454-5.451-1.919-2.762-2.994-4.067-2.149-5.374z"/>
+   <path fill="#070707" d="m143.916 68.664c0.833-1.289 4.169-0.681 5.381 1.971 1.215 2.653 0.985 8.414 0.152 8.717-2.198 0.682-1.516-2.502-3.411-5.382-1.895-2.728-2.956-4.017-2.122-5.306z"/>
+   <path fill="#0f0f0f" d="m143.97 68.719c0.822-1.272 4.114-0.673 5.312 1.945 1.198 2.619 0.973 8.306 0.15 8.605-2.169 0.673-1.497-2.47-3.367-5.313-1.871-2.692-2.918-3.964-2.095-5.237z"/>
+   <path fill="#161616" d="m144.024 68.774c0.812-1.255 4.062-0.664 5.243 1.92 1.182 2.585 0.96 8.198 0.147 8.493-2.141 0.665-1.477-2.438-3.323-5.244-1.846-2.657-2.88-3.913-2.067-5.169z"/>
+   <path fill="#1e1e1e" d="m144.078 68.829c0.801-1.239 4.008-0.655 5.174 1.895 1.167 2.551 0.947 8.09 0.146 8.381-2.113 0.656-1.458-2.405-3.28-5.174-1.821-2.623-2.842-3.863-2.04-5.102z"/>
+   <path fill="#262626" d="m144.132 68.884c0.791-1.222 3.955-0.646 5.105 1.87 1.151 2.517 0.935 7.982 0.144 8.27-2.085 0.647-1.438-2.374-3.235-5.105-1.798-2.589-2.805-3.812-2.014-5.035z"/>
+   <path fill="#2d2d2d" d="m144.186 68.939c0.779-1.206 3.9-0.638 5.036 1.844 1.135 2.483 0.922 7.874 0.142 8.158-2.057 0.639-1.419-2.341-3.192-5.037-1.773-2.552-2.766-3.758-1.986-4.965z"/>
+   <path fill="#353535" d="m144.24 68.994c0.769-1.189 3.848-0.629 4.967 1.819 1.12 2.449 0.909 7.766 0.141 8.046-2.028 0.629-1.399-2.31-3.148-4.967-1.75-2.518-2.73-3.708-1.96-4.898z"/>
+   <path fill="#3d3d3d" d="m144.294 69.049c0.76-1.172 3.794-0.621 4.898 1.793 1.104 2.415 0.896 7.658 0.138 7.934-2 0.621-1.38-2.277-3.104-4.898-1.725-2.482-2.691-3.655-1.932-4.829z"/>
+   <path fill="#444" d="m144.348 69.104c0.748-1.156 3.74-0.612 4.829 1.768 1.088 2.38 0.884 7.55 0.136 7.822-1.973 0.612-1.36-2.245-3.062-4.829-1.699-2.448-2.651-3.604-1.903-4.761z"/>
+   <path fill="#4c4c4c" d="m144.402 69.16c0.737-1.14 3.687-0.603 4.76 1.743 1.073 2.347 0.871 7.442 0.134 7.71-1.943 0.604-1.341-2.213-3.017-4.76-1.676-2.414-2.614-3.554-1.877-4.693z"/>
+   <path fill="#545454" d="m144.456 69.215c0.727-1.123 3.634-0.595 4.691 1.717 1.057 2.313 0.857 7.334 0.132 7.598-1.916 0.595-1.321-2.181-2.973-4.691-1.652-2.378-2.577-3.501-1.85-4.624z"/>
+   <path fill="#5b5b5b" d="m144.51 69.27c0.717-1.106 3.58-0.585 4.622 1.692 1.041 2.278 0.847 7.226 0.131 7.486-1.888 0.586-1.303-2.149-2.93-4.622-1.628-2.343-2.539-3.45-1.823-4.556z"/>
+   <path fill="#636363" d="m144.564 69.325c0.705-1.09 3.526-0.577 4.553 1.667 1.026 2.245 0.833 7.118 0.128 7.375-1.858 0.577-1.282-2.117-2.885-4.553-1.604-2.309-2.501-3.399-1.796-4.489z"/>
+   <path fill="#6b6b6b" d="m144.618 69.38c0.694-1.073 3.473-0.568 4.483 1.642 1.011 2.21 0.82 7.01 0.127 7.263-1.831 0.568-1.264-2.084-2.842-4.484-1.578-2.274-2.462-3.347-1.768-4.421z"/>
+   <path fill="#727272" d="m144.672 69.435c0.685-1.057 3.42-0.56 4.414 1.617 0.995 2.176 0.81 6.902 0.125 7.15-1.803 0.56-1.243-2.053-2.798-4.415-1.554-2.238-2.425-3.295-1.741-4.352z"/>
+   <path fill="#7a7a7a" d="m144.726 69.49c0.673-1.041 3.365-0.551 4.345 1.591 0.979 2.143 0.796 6.794 0.123 7.039-1.775 0.551-1.224-2.021-2.754-4.346-1.53-2.203-2.387-3.244-1.714-4.284z"/>
+   <path fill="#828282" d="m144.78 69.545c0.662-1.023 3.313-0.542 4.276 1.566 0.964 2.108 0.782 6.686 0.121 6.926-1.746 0.542-1.204-1.988-2.711-4.276-1.505-2.167-2.348-3.192-1.686-4.216z"/>
+   <path fill="#898989" d="m144.834 69.6c0.652-1.007 3.259-0.533 4.207 1.541s0.771 6.578 0.119 6.815c-1.718 0.534-1.185-1.956-2.666-4.207-1.482-2.134-2.311-3.142-1.66-4.149z"/>
+   <path fill="#919191" d="m144.888 69.655c0.641-0.99 3.206-0.524 4.138 1.516 0.933 2.04 0.758 6.47 0.117 6.703-1.69 0.525-1.165-1.924-2.623-4.138-1.457-2.098-2.273-3.09-1.632-4.081z"/>
+   <path fill="#999" d="m144.942 69.71c0.63-0.974 3.152-0.516 4.069 1.49s0.744 6.362 0.114 6.591c-1.662 0.516-1.146-1.892-2.579-4.069-1.432-2.062-2.234-3.037-1.604-4.012z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#666" d="m193.11 94.985c10.8-1.152 14.616-5.328 16.56-12.6 1.729-6.48 1.801-13.68-3.023-22.104-4.536-8.063-7.128-9.36-13.681-9.864-10.079-0.864-14.832 6.192-17.063 11.232-2.376 5.472-1.872 4.68-1.729 11.592 0.145 7.272 4.245 9.299 6.766 13.835 2.519 4.465 10.946 7.982 12.17 7.909z"/>
+   <path fill="#6d6d6d" d="m193.115 94.944c10.759-1.131 14.618-5.354 16.515-12.569 1.701-6.525 1.785-13.686-3.002-21.912-4.434-7.797-7.038-9.081-13.512-9.581-10.049-0.861-14.941 5.873-17.181 10.874-2.304 5.28-1.878 4.718-1.726 11.539 0.16 7.268 4.268 9.223 6.784 13.76 2.521 4.475 10.898 7.962 12.122 7.889z"/>
+   <path fill="#757575" d="m193.12 94.902c10.718-1.11 14.62-5.379 16.469-12.538 1.676-6.57 1.771-13.692-2.979-21.721-4.331-7.53-6.947-8.801-13.344-9.297-10.018-0.858-15.05 5.553-17.298 10.516-2.229 5.087-1.885 4.757-1.722 11.487 0.176 7.264 4.289 9.146 6.803 13.686 2.52 4.485 10.848 7.942 12.071 7.867z"/>
+   <path fill="#7c7c7c" d="m193.126 94.861c10.675-1.09 14.621-5.405 16.423-12.507 1.648-6.616 1.756-13.698-2.958-21.529-4.229-7.263-6.856-8.522-13.176-9.014-9.985-0.854-15.158 5.234-17.414 10.158-2.156 4.895-1.891 4.795-1.719 11.434 0.193 7.26 4.31 9.07 6.822 13.611 2.52 4.495 10.798 7.922 12.022 7.847z"/>
+   <path fill="#848484" d="m193.131 94.82c10.635-1.069 14.623-5.431 16.377-12.476 1.622-6.661 1.741-13.704-2.936-21.337-4.126-6.996-6.767-8.242-13.008-8.73-9.955-0.852-15.267 4.915-17.53 9.8-2.084 4.703-1.896 4.833-1.716 11.38 0.209 7.256 4.332 8.995 6.841 13.537 2.52 4.505 10.748 7.902 11.972 7.826z"/>
+   <path fill="#8c8c8c" d="m193.136 94.778c10.593-1.048 14.625-5.457 16.331-12.445 1.596-6.706 1.726-13.709-2.913-21.145-4.025-6.729-6.678-7.963-12.841-8.447-9.924-0.848-15.375 4.595-17.647 9.441-2.01 4.51-1.903 4.872-1.712 11.328 0.225 7.251 4.354 8.918 6.858 13.462 2.521 4.517 10.7 7.883 11.924 7.806z"/>
+   <path fill="#939393" d="m193.141 94.737c10.552-1.027 14.627-5.482 16.286-12.414 1.568-6.751 1.711-13.715-2.893-20.954-3.922-6.462-6.586-7.683-12.672-8.163-9.892-0.845-15.483 4.276-17.764 9.083-1.938 4.318-1.909 4.91-1.709 11.275 0.24 7.247 4.375 8.842 6.878 13.387 2.521 4.528 10.651 7.863 11.874 7.786z"/>
+   <path fill="#9b9b9b" d="m193.146 94.695c10.51-1.007 14.63-5.508 16.241-12.382 1.542-6.796 1.694-13.721-2.87-20.762-3.82-6.195-6.496-7.404-12.504-7.879-9.861-0.842-15.592 3.956-17.882 8.725-1.863 4.126-1.915 4.949-1.706 11.223 0.258 7.243 4.397 8.766 6.897 13.313 2.521 4.535 10.601 7.841 11.824 7.762z"/>
+   <path fill="#a3a3a3" d="m193.151 94.654c10.469-0.986 14.632-5.534 16.196-12.351 1.515-6.842 1.68-13.727-2.85-20.57-3.717-5.928-6.405-7.125-12.335-7.596-9.83-0.839-15.7 3.637-17.998 8.367-1.791 3.933-1.922 4.987-1.703 11.169 0.273 7.239 4.419 8.689 6.916 13.238 2.521 4.547 10.551 7.822 11.774 7.743z"/>
+   <path fill="#aaa" d="m193.157 94.612c10.427-0.965 14.633-5.56 16.149-12.32 1.488-6.887 1.666-13.733-2.826-20.379-3.615-5.661-6.316-6.845-12.168-7.313-9.799-0.835-15.809 3.317-18.114 8.009-1.718 3.741-1.928 5.025-1.7 11.117 0.29 7.235 4.44 8.613 6.936 13.163 2.519 4.558 10.499 7.804 11.723 7.723z"/>
+   <path fill="#b2b2b2" d="m193.162 94.571c10.386-0.944 14.635-5.585 16.104-12.289 1.462-6.932 1.649-13.739-2.806-20.188-3.512-5.394-6.225-6.565-11.999-7.029-9.768-0.833-15.917 2.998-18.23 7.651-1.646 3.549-1.935 5.064-1.697 11.064 0.306 7.231 4.462 8.537 6.954 13.088 2.52 4.569 10.451 7.784 11.674 7.703z"/>
+   <path fill="#bababa" d="m193.167 94.529c10.345-0.923 14.638-5.611 16.059-12.258 1.436-6.977 1.636-13.744-2.782-19.995-3.41-5.127-6.135-6.286-11.832-6.746-9.736-0.829-16.025 2.679-18.347 7.293-1.572 3.356-1.941 5.103-1.694 11.011 0.322 7.227 4.484 8.461 6.973 13.014 2.519 4.579 10.4 7.764 11.623 7.681z"/>
+   <path fill="#c1c1c1" d="m193.172 94.488c10.304-0.903 14.64-5.637 16.014-12.227 1.409-7.022 1.62-13.75-2.762-19.804-3.308-4.86-6.044-6.006-11.662-6.462-9.705-0.826-16.135 2.359-18.466 6.935-1.498 3.164-1.945 5.141-1.689 10.958 0.338 7.223 4.506 8.385 6.991 12.939 2.519 4.59 10.351 7.744 11.574 7.661z"/>
+   <path fill="#c9c9c9" d="m193.177 94.447c10.262-0.882 14.641-5.663 15.967-12.196 1.383-7.068 1.605-13.756-2.738-19.612-3.206-4.593-5.954-5.727-11.496-6.179-9.673-0.823-16.242 2.04-18.581 6.577-1.425 2.972-1.952 5.179-1.687 10.906 0.354 7.219 4.526 8.308 7.01 12.865 2.52 4.598 10.302 7.723 11.525 7.639z"/>
+   <path fill="#d1d1d1" d="m193.182 94.405c10.221-0.861 14.643-5.688 15.922-12.165 1.355-7.113 1.591-13.762-2.717-19.42-3.104-4.326-5.864-5.448-11.327-5.895-9.644-0.82-16.352 1.721-18.698 6.219-1.353 2.779-1.959 5.217-1.684 10.853 0.369 7.214 4.549 8.232 7.028 12.79 2.521 4.609 10.254 7.703 11.476 7.618z"/>
+   <path fill="#d8d8d8" d="m193.187 94.364c10.179-0.841 14.645-5.714 15.876-12.133 1.33-7.158 1.576-13.768-2.694-19.229-3.001-4.059-5.773-5.168-11.16-5.612-9.61-0.817-16.459 1.401-18.813 5.861-1.279 2.586-1.965 5.256-1.682 10.8 0.387 7.21 4.571 8.156 7.049 12.715 2.519 4.619 10.202 7.684 11.424 7.598z"/>
+   <path fill="#e0e0e0" d="m193.193 94.322c10.137-0.82 14.646-5.74 15.83-12.103 1.303-7.203 1.561-13.773-2.673-19.037-2.898-3.792-5.684-4.889-10.991-5.328-9.58-0.813-16.568 1.082-18.931 5.502-1.206 2.395-1.972 5.294-1.679 10.747 0.403 7.207 4.592 8.08 7.067 12.641 2.521 4.631 10.154 7.666 11.377 7.578z"/>
+   <path fill="#e8e8e8" d="m193.198 94.281c10.096-0.799 14.648-5.766 15.785-12.071 1.275-7.249 1.545-13.779-2.651-18.845-2.796-3.525-5.593-4.609-10.823-5.044-9.549-0.81-16.677 0.762-19.048 5.145-1.133 2.202-1.978 5.333-1.675 10.694 0.419 7.202 4.614 8.003 7.086 12.566 2.52 4.638 10.103 7.643 11.326 7.555z"/>
+   <path fill="#efefef" d="m193.203 94.239c10.055-0.778 14.65-5.792 15.739-12.04 1.25-7.293 1.531-13.785-2.629-18.653-2.694-3.258-5.502-4.33-10.655-4.761-9.517-0.807-16.785 0.443-19.165 4.786-1.059 2.01-1.983 5.372-1.671 10.642 0.435 7.198 4.636 7.928 7.104 12.492 2.52 4.649 10.055 7.624 11.277 7.534z"/>
+   <path fill="#f7f7f7" d="m193.208 94.198c10.014-0.757 14.652-5.817 15.694-12.009 1.223-7.339 1.516-13.792-2.607-18.462-2.592-2.991-5.413-4.05-10.486-4.478-9.487-0.804-16.895 0.124-19.282 4.428-0.986 1.817-1.989 5.41-1.668 10.589 0.451 7.194 4.657 7.851 7.123 12.417 2.519 4.661 10.004 7.605 11.226 7.515z"/>
+   <path fill="#fff" d="m193.213 94.156c9.973-0.737 14.654-5.843 15.648-11.978 1.197-7.384 1.501-13.797-2.585-18.27-2.489-2.724-5.322-3.771-10.319-4.194-9.455-0.801-17.002-0.196-19.397 4.07-0.913 1.625-1.996 5.448-1.665 10.536 0.467 7.19 4.679 7.775 7.142 12.342 2.519 4.671 9.954 7.586 11.176 7.494z"/>
+  </g>
+  <path d="m179.841 74.4585c5.4 0 8.568 4.824 9.648 11.016 0.432 2.808-0.216 6.048-1.944 8.28-1.944 2.592-5.4 4.176-8.208 4.176-2.664 0-5.688 0.432-7.271-1.728-1.584-2.232-1.944-7.2-1.944-10.728 0-3.96 1.152-6.768 3.168-9 1.511-1.657 4.247-2.016 6.551-2.016z"/>
+  <g transform="translate(-12.4048,10.0005)">
+   <path d="m192.591 66.68c0.98-0.653 2.612 0 4.489 2.122 2.039 2.285 2.938 4.08 0.489 5.385-1.877 0.98-2.448-1.958-3.59-3.182-1.795-1.959-3.346-3.02-1.388-4.325z"/>
+   <path fill="#070707" d="m192.631 66.738c0.96-0.649 2.573 0 4.423 2.09 2.009 2.251 2.864 4.02 0.481 5.305-1.837 0.977-2.403-1.929-3.525-3.135-1.768-1.925-3.296-2.965-1.379-4.26z"/>
+   <path fill="#0f0f0f" d="m192.671 66.797c0.939-0.645 2.534 0 4.356 2.059 1.978 2.217 2.792 3.958 0.474 5.225-1.798 0.974-2.357-1.9-3.46-3.087-1.742-1.895-3.247-2.913-1.37-4.197z"/>
+   <path fill="#161616" d="m192.711 66.855c0.919-0.641 2.495 0 4.289 2.027 1.948 2.184 2.721 3.898 0.467 5.146-1.759 0.971-2.313-1.871-3.396-3.041-1.715-1.861-3.197-2.858-1.36-4.132z"/>
+   <path fill="#1e1e1e" d="m192.751 66.914c0.899-0.637 2.457 0 4.223 1.996 1.918 2.149 2.647 3.838 0.46 5.065-1.72 0.968-2.269-1.842-3.331-2.993-1.689-1.83-3.148-2.805-1.352-4.068z"/>
+   <path fill="#262626" d="m192.791 66.973c0.878-0.633 2.418 0 4.155 1.964 1.888 2.116 2.576 3.777 0.453 4.986-1.68 0.965-2.224-1.813-3.267-2.946-1.661-1.798-3.097-2.752-1.341-4.004z"/>
+   <path fill="#2d2d2d" d="m192.831 67.031c0.858-0.629 2.379 0 4.089 1.933 1.857 2.082 2.503 3.717 0.445 4.906-1.641 0.961-2.178-1.784-3.201-2.898-1.636-1.767-3.048-2.7-1.333-3.941z"/>
+   <path fill="#353535" d="m192.87 67.09c0.838-0.625 2.341 0 4.023 1.902 1.827 2.047 2.431 3.656 0.438 4.826-1.601 0.958-2.133-1.755-3.137-2.852-1.608-1.735-2.998-2.646-1.324-3.876z"/>
+   <path fill="#3d3d3d" d="m192.91 67.148c0.818-0.621 2.302 0 3.956 1.87 1.797 2.014 2.359 3.596 0.431 4.746-1.562 0.956-2.088-1.726-3.071-2.804-1.583-1.702-2.95-2.592-1.316-3.812z"/>
+   <path fill="#444" d="m192.95 67.207c0.798-0.617 2.263 0 3.889 1.839 1.768 1.98 2.287 3.535 0.425 4.666-1.523 0.952-2.043-1.697-3.008-2.757-1.556-1.671-2.899-2.539-1.306-3.748z"/>
+   <path fill="#4c4c4c" d="m192.99 67.266c0.777-0.614 2.224 0 3.823 1.807 1.735 1.946 2.214 3.474 0.416 4.586-1.483 0.949-1.998-1.667-2.942-2.709-1.529-1.639-2.85-2.486-1.297-3.684z"/>
+   <path fill="#545454" d="m193.03 67.325c0.757-0.61 2.185 0 3.756 1.775 1.706 1.912 2.143 3.414 0.409 4.506-1.444 0.946-1.953-1.639-2.878-2.663-1.502-1.606-2.799-2.431-1.287-3.618z"/>
+   <path fill="#5b5b5b" d="m193.07 67.383c0.736-0.605 2.146 0 3.688 1.744 1.677 1.878 2.07 3.353 0.402 4.426-1.405 0.943-1.908-1.609-2.813-2.615-1.475-1.575-2.749-2.378-1.277-3.555z"/>
+   <path fill="#636363" d="m193.11 67.442c0.716-0.602 2.106 0 3.622 1.712 1.646 1.844 1.998 3.293 0.395 4.347-1.364 0.94-1.862-1.581-2.748-2.568-1.449-1.543-2.701-2.326-1.269-3.491z"/>
+   <path fill="#6b6b6b" d="m193.15 67.5c0.696-0.598 2.069 0 3.556 1.681 1.615 1.811 1.925 3.232 0.387 4.267-1.325 0.937-1.818-1.552-2.683-2.521-1.423-1.511-2.651-2.272-1.26-3.427z"/>
+   <path fill="#727272" d="m193.19 67.559c0.675-0.594 2.03 0 3.489 1.649 1.585 1.777 1.853 3.172 0.38 4.187-1.287 0.935-1.774-1.522-2.619-2.473-1.396-1.48-2.601-2.219-1.25-3.363z"/>
+   <path fill="#7a7a7a" d="m193.23 67.618c0.654-0.59 1.991 0 3.422 1.618 1.555 1.743 1.781 3.111 0.373 4.107-1.247 0.931-1.729-1.494-2.554-2.426-1.369-1.448-2.551-2.166-1.241-3.299z"/>
+   <path fill="#828282" d="m193.269 67.677c0.635-0.586 1.953 0 3.355 1.586 1.525 1.708 1.709 3.05 0.366 4.026-1.208 0.928-1.684-1.464-2.489-2.378-1.342-1.416-2.501-2.112-1.232-3.234z"/>
+   <path fill="#898989" d="m193.309 67.735c0.614-0.582 1.914 0 3.29 1.555 1.493 1.675 1.636 2.99 0.357 3.947-1.169 0.925-1.639-1.435-2.424-2.332-1.316-1.384-2.452-2.058-1.223-3.17z"/>
+   <path fill="#919191" d="m193.349 67.794c0.595-0.578 1.875 0 3.223 1.523 1.464 1.641 1.564 2.93 0.351 3.867-1.129 0.922-1.594-1.406-2.359-2.284-1.29-1.352-2.403-2.005-1.215-3.106z"/>
+   <path fill="#999" d="m193.389 67.853c0.573-0.574 1.836 0 3.155 1.492 1.435 1.607 1.492 2.869 0.345 3.787-1.091 0.919-1.55-1.377-2.295-2.237-1.263-1.32-2.353-1.953-1.205-3.042z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path d="m165.498 69.906c1.693-0.654 3.012-0.69 5.63 1.036 3.166 2.088 1.705 5.245-0.779 4.601-2.146-0.556-2.417-0.681-4.391-1.086-3.101-0.648-3.641-3.322-0.46-4.551z"/>
+   <path fill="#050505" d="m165.564 70.033c1.658-0.629 2.973-0.656 5.555 1.026 3.066 2.009 1.654 5.012-0.805 4.38-2.131-0.547-2.345-0.656-4.284-1.052-3.055-0.634-3.587-3.173-0.466-4.354z"/>
+   <path fill="#0a0a0a" d="m165.63 70.16c1.623-0.604 2.935-0.622 5.481 1.015 2.965 1.93 1.602 4.779-0.83 4.159-2.119-0.539-2.274-0.63-4.179-1.018-3.009-0.618-3.533-3.022-0.472-4.156z"/>
+   <path fill="#0f0f0f" d="m165.696 70.287c1.587-0.579 2.895-0.587 5.406 1.005 2.864 1.851 1.551 4.546-0.855 3.938-2.105-0.53-2.203-0.605-4.073-0.983-2.963-0.604-3.48-2.873-0.478-3.96z"/>
+   <path fill="#141414" d="m165.761 70.413c1.553-0.553 2.856-0.553 5.331 0.995 2.766 1.772 1.5 4.313-0.88 3.717-2.092-0.521-2.131-0.58-3.967-0.949-2.916-0.588-3.425-2.723-0.484-3.763z"/>
+   <path fill="#191919" d="m165.827 70.54c1.519-0.528 2.818-0.519 5.258 0.984 2.664 1.693 1.448 4.079-0.905 3.497-2.079-0.513-2.06-0.554-3.861-0.915-2.873-0.573-3.373-2.573-0.492-3.566z"/>
+   <path fill="#1e1e1e" d="m165.893 70.667c1.482-0.503 2.778-0.484 5.183 0.974 2.564 1.614 1.397 3.846-0.93 3.276-2.067-0.504-1.989-0.529-3.756-0.88-2.826-0.559-3.319-2.425-0.497-3.37z"/>
+   <path fill="#232323" d="m165.959 70.793c1.447-0.478 2.74-0.45 5.108 0.964 2.464 1.535 1.345 3.613-0.955 3.055-2.053-0.496-1.917-0.503-3.651-0.846-2.779-0.543-3.264-2.274-0.502-3.173z"/>
+   <path fill="#282828" d="m166.025 70.92c1.412-0.453 2.701-0.416 5.034 0.954 2.362 1.456 1.293 3.38-0.981 2.834-2.04-0.487-1.845-0.478-3.545-0.812-2.733-0.528-3.21-2.125-0.508-2.976z"/>
+   <path fill="#2d2d2d" d="m166.09 71.047c1.378-0.428 2.663-0.382 4.96 0.943 2.264 1.377 1.242 3.146-1.006 2.613-2.026-0.478-1.773-0.453-3.438-0.777-2.688-0.513-3.158-1.974-0.516-2.779z"/>
+   <path fill="#333" d="m166.156 71.173c1.343-0.402 2.624-0.347 4.885 0.933 2.163 1.298 1.191 2.914-1.029 2.392-2.015-0.47-1.703-0.428-3.334-0.743-2.642-0.498-3.104-1.824-0.522-2.582z"/>
+   <path fill="#383838" d="m166.222 71.3c1.307-0.377 2.585-0.313 4.81 0.922 2.063 1.219 1.14 2.681-1.055 2.171-2.001-0.461-1.631-0.402-3.229-0.708-2.594-0.483-3.048-1.674-0.526-2.385z"/>
+   <path fill="#3d3d3d" d="m166.288 71.427c1.272-0.352 2.546-0.279 4.736 0.913 1.962 1.14 1.088 2.447-1.081 1.95-1.988-0.452-1.56-0.377-3.122-0.674-2.55-0.469-2.995-1.526-0.533-2.189z"/>
+   <path fill="#424242" d="m166.354 71.554c1.236-0.327 2.507-0.245 4.661 0.902 1.861 1.061 1.037 2.214-1.106 1.729-1.974-0.444-1.488-0.352-3.016-0.64-2.504-0.453-2.942-1.375-0.539-1.991z"/>
+   <path fill="#474747" d="m166.419 71.68c1.203-0.302 2.469-0.21 4.587 0.892 1.762 0.982 0.986 1.98-1.13 1.508-1.962-0.435-1.417-0.326-2.911-0.606-2.458-0.437-2.888-1.224-0.546-1.794z"/>
+   <path fill="#4c4c4c" d="m166.485 71.807c1.167-0.276 2.429-0.176 4.513 0.882 1.66 0.903 0.935 1.748-1.156 1.288-1.948-0.426-1.345-0.301-2.805-0.572-2.412-0.423-2.834-1.076-0.552-1.598z"/>
+   <path fill="#515151" d="m166.551 71.934c1.133-0.251 2.391-0.142 4.438 0.871 1.56 0.824 0.883 1.515-1.181 1.067-1.936-0.417-1.274-0.275-2.699-0.537-2.366-0.408-2.781-0.926-0.558-1.401z"/>
+   <path fill="#565656" d="m166.617 72.061c1.097-0.227 2.351-0.108 4.363 0.861 1.46 0.745 0.831 1.281-1.206 0.846-1.922-0.409-1.202-0.25-2.594-0.503-2.319-0.393-2.726-0.777-0.563-1.204z"/>
+   <path fill="#5b5b5b" d="m166.683 72.187c1.062-0.201 2.312-0.073 4.289 0.851 1.358 0.666 0.778 1.048-1.231 0.625-1.91-0.4-1.131-0.225-2.489-0.469-2.274-0.377-2.672-0.626-0.569-1.007z"/>
+   <path fill="#606060" d="m166.748 72.314c1.027-0.176 2.274-0.04 4.215 0.84 1.26 0.587 0.729 0.815-1.256 0.404-1.896-0.392-1.06-0.2-2.383-0.435-2.228-0.361-2.619-0.475-0.576-0.809z"/>
+   <path fill="#666" d="m166.814 72.44c0.992-0.151 2.234-0.005 4.14 0.83 1.159 0.508 0.677 0.582-1.281 0.183-1.883-0.383-0.987-0.174-2.276-0.4-2.183-0.346-2.566-0.325-0.583-0.613z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#666" d="m159.99 128.249c-9.36 0.36-24.192-25.848-24.552-14.976-0.288 9.216 0.216 9.072 0.216 18 0 5.976-2.736 6.408-8.64 15.408-3.024 4.752-5.4 9.864-7.272 15.048-1.152 3.096-2.232 6.336-3.096 9.504-0.36 1.584-1.008 3.24-1.368 4.824-2.952 10.872-13.464 24.264-15.912 35.136-2.448 10.8-5.328 17.712-4.968 32.185 0.36 14.472 0.504 10.295 4.896 13.896 4.32 3.601 8.784 6.983 15.624 13.032 7.2 6.264 22.177 17.208 24.192 20.592 2.16 3.456 2.088 11.232 0.792 13.752-1.296 2.448-12. [...]
+   <path fill="#6d6d6d" d="m159.973 129.334c-9.281 0.353-23.746-25.511-24.242-15.179-0.316 8.755 0.1 8.678 0.03 17.247-0.15 5.87-2.953 6.637-8.727 15.481-3.013 4.763-5.273 9.812-6.993 14.877-0.968 3.253-1.56 6.422-2.43 9.526-0.415 1.642-1.497 3.187-2.185 5.042-3.254 10.78-13.545 24.182-15.961 34.877-2.466 10.81-5.37 17.694-4.961 32.141 0.366 14 0.395 10.177 4.773 13.816 4.283 3.616 8.839 7.069 15.662 13.103 7.183 6.248 22.237 17.216 24.243 20.588 2.149 3.444 2.131 11.317 0.844 13.823-1.2 [...]
+   <path fill="#757575" d="m159.955 130.419c-9.201 0.346-23.299-25.175-23.931-15.383-0.344 8.295-0.017 8.284-0.156 16.494-0.301 5.764-3.17 6.867-8.812 15.555-3.002 4.774-5.148 9.76-6.714 14.706-0.784 3.41-0.889 6.508-1.764 9.548-0.471 1.699-1.986 3.133-3.003 5.259-3.554 10.688-13.624 24.1-16.009 34.619-2.483 10.82-5.411 17.678-4.954 32.097 0.373 13.528 0.285 10.058 4.651 13.739 4.244 3.632 8.893 7.154 15.699 13.171 7.167 6.233 22.299 17.224 24.294 20.585 2.142 3.432 2.175 11.404 0.896 13 [...]
+   <path fill="#7c7c7c" d="m159.938 131.504c-9.122 0.338-22.854-24.838-23.622-15.586-0.37 7.833-0.131 7.89-0.341 15.741-0.452 5.657-3.388 7.096-8.899 15.628-2.99 4.785-5.021 9.708-6.433 14.535-0.602 3.566-0.218 6.594-1.099 9.57-0.526 1.756-2.475 3.08-3.82 5.477-3.854 10.596-13.703 24.016-16.057 34.361-2.501 10.829-5.453 17.66-4.948 32.052 0.38 13.059 0.177 9.939 4.529 13.66 4.208 3.648 8.948 7.239 15.739 13.242 7.149 6.217 22.358 17.232 24.345 20.581 2.13 3.42 2.216 11.489 0.946 13.968-1 [...]
+   <path fill="#848484" d="m159.921 132.589c-9.043 0.331-22.406-24.502-23.312-15.79-0.398 7.373-0.247 7.496-0.527 14.988-0.602 5.551-3.604 7.326-8.984 15.702-2.98 4.796-4.896 9.656-6.154 14.364-0.417 3.723 0.455 6.679-0.432 9.592-0.582 1.813-2.964 3.026-4.639 5.694-4.153 10.504-13.782 23.936-16.104 34.104-2.519 10.838-5.495 17.643-4.941 32.008 0.387 12.586 0.067 9.819 4.407 13.582 4.171 3.664 9.002 7.324 15.777 13.311 7.132 6.201 22.419 17.24 24.396 20.576 2.12 3.41 2.259 11.578 0.998 14 [...]
+   <path fill="#8c8c8c" d="m159.903 133.674c-8.963 0.323-21.961-24.165-23.001-15.994-0.426 6.912-0.363 7.102-0.713 14.236-0.753 5.445-3.821 7.554-9.071 15.775-2.969 4.807-4.768 9.604-5.875 14.192-0.232 3.881 1.128 6.766 0.234 9.615-0.638 1.87-3.452 2.972-5.455 5.911-4.455 10.413-13.862 23.853-16.153 33.845-2.537 10.849-5.537 17.625-4.935 31.963 0.393 12.115-0.042 9.701 4.285 13.505 4.133 3.68 9.057 7.409 15.814 13.38 7.116 6.188 22.48 17.248 24.447 20.574 2.109 3.398 2.301 11.662 1.049 1 [...]
+   <path fill="#939393" d="m159.886 134.759c-8.885 0.316-21.516-23.829-22.691-16.197-0.454 6.451-0.479 6.708-0.899 13.482-0.903 5.339-4.038 7.784-9.157 15.849-2.957 4.818-4.642 9.552-5.595 14.021-0.05 4.037 1.799 6.852 0.9 9.637-0.693 1.928-3.941 2.919-6.273 6.129-4.756 10.32-13.941 23.77-16.201 33.587-2.555 10.858-5.579 17.608-4.928 31.92 0.399 11.644-0.151 9.581 4.162 13.424 4.096 3.697 9.111 7.494 15.854 13.451 7.099 6.17 22.541 17.256 24.498 20.569 2.1 3.387 2.344 11.75 1.101 14.186- [...]
+   <path fill="#9b9b9b" d="m159.868 135.844c-8.805 0.308-21.068-23.492-22.381-16.401-0.481 5.991-0.594 6.314-1.085 12.73-1.053 5.232-4.253 8.013-9.243 15.922-2.946 4.829-4.515 9.5-5.314 13.85 0.133 4.194 2.471 6.937 1.565 9.658-0.749 1.986-4.43 2.866-7.091 6.347-5.056 10.229-14.021 23.689-16.249 33.329-2.572 10.868-5.621 17.591-4.921 31.876 0.405 11.172-0.261 9.463 4.04 13.346 4.058 3.713 9.166 7.58 15.892 13.521 7.082 6.155 22.601 17.265 24.548 20.567 2.092 3.373 2.388 11.834 1.152 14.2 [...]
+   <path fill="#a3a3a3" d="m159.851 136.929c-8.727 0.301-20.622-23.156-22.071-16.604-0.509 5.529-0.71 5.919-1.271 11.976-1.203 5.126-4.47 8.243-9.328 15.996-2.936 4.84-4.39 9.448-5.036 13.679 0.316 4.351 3.143 7.023 2.231 9.68-0.804 2.043-4.919 2.812-7.908 6.563-5.356 10.137-14.101 23.607-16.298 33.072-2.589 10.877-5.661 17.574-4.913 31.832 0.412 10.699-0.37 9.342 3.918 13.268 4.021 3.729 9.221 7.664 15.93 13.59 7.064 6.139 22.661 17.271 24.599 20.563 2.081 3.363 2.43 11.922 1.204 14.33- [...]
+   <path fill="#aaa" d="m159.834 138.014c-8.646 0.293-20.176-22.819-21.761-16.808-0.536 5.069-0.826 5.526-1.457 11.224-1.354 5.02-4.687 8.472-9.416 16.069-2.924 4.851-4.262 9.396-4.756 13.508 0.501 4.507 3.814 7.109 2.897 9.702-0.858 2.1-5.406 2.759-8.725 6.782-5.657 10.045-14.181 23.524-16.347 32.812-2.606 10.888-5.703 17.557-4.906 31.787 0.418 10.229-0.479 9.225 3.795 13.189 3.984 3.745 9.275 7.749 15.968 13.66 7.048 6.124 22.723 17.279 24.651 20.559 2.07 3.352 2.472 12.008 1.255 14.40 [...]
+   <path fill="#b2b2b2" d="m159.816 139.099c-8.567 0.286-19.729-22.483-21.45-17.012-0.563 4.608-0.942 5.132-1.643 10.471-1.506 4.914-4.904 8.701-9.502 16.143-2.913 4.862-4.137 9.344-4.477 13.336 0.685 4.665 4.486 7.195 3.564 9.725-0.915 2.157-5.897 2.705-9.543 6.999-5.958 9.953-14.262 23.443-16.396 32.554-2.624 10.898-5.745 17.54-4.9 31.744 0.426 9.757-0.588 9.105 3.674 13.111 3.945 3.761 9.33 7.834 16.006 13.729 7.032 6.109 22.783 17.288 24.702 20.557 2.06 3.338 2.515 12.094 1.306 14.47 [...]
+   <path fill="#bababa" d="m159.799 140.184c-8.487 0.279-19.282-22.146-21.141-17.215-0.591 4.147-1.057 4.737-1.828 9.717-1.656 4.808-5.121 8.931-9.588 16.217-2.902 4.873-4.01 9.292-4.197 13.165 0.868 4.822 5.158 7.281 4.23 9.747-0.971 2.215-6.385 2.651-10.361 7.216-6.258 9.861-14.339 23.36-16.442 32.297-2.643 10.906-5.787 17.521-4.894 31.699 0.432 9.285-0.697 8.986 3.552 13.032 3.908 3.776 9.384 7.919 16.043 13.799 7.016 6.093 22.845 17.296 24.753 20.552 2.051 3.328 2.559 12.18 1.358 14. [...]
+   <path fill="#c1c1c1" d="m159.781 141.269c-8.408 0.271-18.837-21.81-20.83-17.419-0.619 3.687-1.173 4.344-2.014 8.965-1.808 4.701-5.338 9.16-9.674 16.29-2.892 4.884-3.885 9.24-3.918 12.994 1.052 4.978 5.829 7.367 4.896 9.769-1.026 2.272-6.874 2.598-11.178 7.434-6.56 9.769-14.419 23.277-16.491 32.039-2.66 10.916-5.829 17.504-4.887 31.656 0.438 8.813-0.807 8.867 3.43 12.953 3.87 3.793 9.438 8.004 16.082 13.868 6.997 6.077 22.904 17.304 24.803 20.55 2.041 3.314 2.601 12.266 1.409 14.617-1. [...]
+   <path fill="#c9c9c9" d="m159.764 142.354c-8.329 0.264-18.392-21.473-20.521-17.622-0.646 3.225-1.289 3.949-2.2 8.211-1.957 4.596-5.555 9.39-9.761 16.364-2.879 4.895-3.757 9.188-3.638 12.823 1.235 5.135 6.502 7.453 5.562 9.791-1.081 2.329-7.362 2.544-11.995 7.651-6.859 9.677-14.499 23.195-16.54 31.78-2.677 10.927-5.87 17.488-4.879 31.611 0.444 8.344-0.916 8.748 3.307 12.875 3.834 3.81 9.492 8.09 16.121 13.939 6.98 6.061 22.965 17.311 24.854 20.545 2.031 3.303 2.643 12.352 1.461 14.69-1. [...]
+   <path fill="#d1d1d1" d="m159.747 143.439c-8.25 0.256-17.944-21.137-20.21-17.826-0.675 2.765-1.406 3.555-2.386 7.459-2.108 4.489-5.772 9.619-9.847 16.437-2.869 4.906-3.631 9.136-3.358 12.652 1.419 5.292 7.174 7.538 6.228 9.812-1.137 2.387-7.852 2.491-12.813 7.869-7.161 9.586-14.579 23.114-16.588 31.522-2.695 10.938-5.912 17.471-4.873 31.568 0.451 7.871-1.025 8.629 3.185 12.797 3.796 3.824 9.547 8.174 16.158 14.008 6.964 6.047 23.026 17.32 24.905 20.541 2.021 3.292 2.686 12.439 1.513 14 [...]
+   <path fill="#d8d8d8" d="m159.729 144.524c-8.17 0.249-17.498-20.8-19.9-18.03-0.702 2.304-1.521 3.162-2.571 6.706-2.259 4.383-5.988 9.848-9.933 16.511-2.858 4.917-3.504 9.084-3.079 12.48 1.604 5.449 7.846 7.625 6.895 9.835-1.193 2.444-8.342 2.438-13.631 8.087-7.461 9.493-14.658 23.031-16.637 31.262-2.712 10.947-5.953 17.455-4.865 31.524 0.458 7.399-1.135 8.511 3.063 12.718 3.758 3.842 9.601 8.26 16.196 14.078 6.946 6.031 23.087 17.328 24.956 20.538 2.011 3.28 2.729 12.524 1.563 14.835-1 [...]
+   <path fill="#e0e0e0" d="m159.712 145.609c-8.091 0.241-17.052-20.464-19.59-18.233-0.729 1.843-1.637 2.767-2.757 5.953-2.409 4.276-6.206 10.077-10.02 16.584-2.847 4.928-3.378 9.032-2.8 12.309 1.787 5.606 8.519 7.711 7.561 9.857-1.248 2.502-8.829 2.384-14.448 8.304-7.761 9.402-14.738 22.95-16.684 31.006-2.731 10.955-5.996 17.436-4.859 31.48 0.464 6.928-1.244 8.389 2.939 12.639 3.722 3.857 9.656 8.344 16.234 14.148 6.932 6.014 23.148 17.336 25.008 20.533 2 3.268 2.771 12.611 1.615 14.907- [...]
+   <path fill="#e8e8e8" d="m159.694 146.694c-8.012 0.234-16.605-20.127-19.279-18.437-0.757 1.383-1.753 2.373-2.943 5.2-2.56 4.171-6.423 10.307-10.105 16.658-2.835 4.939-3.251 8.979-2.52 12.138 1.97 5.763 9.189 7.796 8.226 9.879-1.303 2.559-9.318 2.33-15.265 8.521-8.063 9.31-14.818 22.867-16.733 30.748-2.748 10.967-6.037 17.419-4.853 31.436 0.472 6.457-1.353 8.271 2.818 12.562 3.685 3.873 9.711 8.429 16.273 14.218 6.913 6 23.207 17.344 25.058 20.529 1.991 3.257 2.814 12.697 1.666 14.98-1. [...]
+   <path fill="#efefef" d="m159.677 147.779c-7.934 0.226-16.16-19.791-18.97-18.64-0.785 0.921-1.869 1.979-3.13 4.447-2.71 4.064-6.639 10.536-10.19 16.731-2.824 4.95-3.125 8.928-2.24 11.967 2.152 5.919 9.86 7.882 8.892 9.901-1.358 2.616-9.808 2.277-16.083 8.739-8.363 9.218-14.896 22.784-16.781 30.489-2.766 10.977-6.079 17.402-4.846 31.393 0.478 5.984-1.462 8.152 2.696 12.482 3.646 3.889 9.765 8.514 16.311 14.287 6.896 5.983 23.269 17.352 25.109 20.526 1.98 3.245 2.855 12.782 1.718 15.052- [...]
+   <path fill="#f7f7f7" d="m159.66 148.864c-7.854 0.219-15.714-19.454-18.66-18.844-0.812 0.461-1.983 1.585-3.314 3.694-2.86 3.958-6.856 10.766-10.278 16.805-2.813 4.961-2.998 8.876-1.96 11.796 2.337 6.076 10.533 7.968 9.558 9.923-1.415 2.673-10.296 2.223-16.899 8.956-8.664 9.126-14.978 22.702-16.83 30.23-2.783 10.986-6.121 17.386-4.839 31.349 0.484 5.515-1.571 8.033 2.573 12.403 3.609 3.906 9.82 8.6 16.35 14.357 6.88 5.969 23.329 17.36 25.16 20.523 1.971 3.232 2.898 12.869 1.77 15.124-1. [...]
+   <path fill="#fff" d="m159.642 149.949c-7.774 0.211-15.268-19.118-18.35-19.048-0.84 0-2.1 1.191-3.501 2.941-3.011 3.852-7.072 10.995-10.363 16.878-2.803 4.972-2.872 8.824-1.682 11.625 2.521 6.233 11.205 8.054 10.225 9.945-1.471 2.731-10.785 2.17-17.719 9.174-8.964 9.034-15.056 22.621-16.877 29.973-2.801 10.995-6.163 17.368-4.832 31.304 0.49 5.043-1.681 7.914 2.451 12.325 3.571 3.923 9.874 8.685 16.387 14.427 6.863 5.953 23.391 17.368 25.211 20.521 1.962 3.221 2.942 12.954 1.821 15.196- [...]
+  </g>
+  <path fill="#995900" d="m152.553 88.8575c5.256-0.648 12.456 0.648 15.769 3.096 3.096 2.304 5.256 3.528 8.063 4.464 9.433 3.096 21.816 4.536 21.24 13.032-0.648 10.151-3.6 14.688-12.024 17.351-6.768 2.088-18.863 13.824-28.224 13.824-4.176 0-10.008 0.216-13.392-1.008-3.24-1.152-7.776-6.624-13.104-11.016-5.328-4.32-10.296-8.928-10.439-14.976-0.217-6.407 3.96-8.496 9.863-13.607 3.097-2.736 8.712-7.272 12.601-9.288 3.599-1.799 5.903-1.439 9.647-1.872z"/>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#9e5f00" d="m165.068 78.951c5.225-0.644 12.384 0.645 15.677 3.079 3.078 2.29 5.227 3.51 8.018 4.438 9.375 3.078 21.729 4.529 21.159 12.973-0.641 10.09-3.669 14.581-12.041 17.223-6.723 2.073-18.768 13.589-28.07 13.64-4.21 0.032-9.926 0.234-13.287-0.977-3.215-1.142-7.737-6.608-13.031-10.969-5.291-4.292-10.26-8.774-10.317-14.765-0.153-6.252 3.912-8.411 9.773-13.488 3.071-2.71 8.594-7.303 12.463-9.333 3.563-1.803 5.933-1.392 9.656-1.821z"/>
+   <path fill="#a36400" d="m165.177 79.044c5.195-0.641 12.313 0.64 15.587 3.06 3.06 2.278 5.194 3.494 7.971 4.413 9.317 3.06 21.641 4.522 21.078 12.914-0.634 10.027-3.737 14.474-12.058 17.094-6.678 2.057-18.673 13.352-27.919 13.454-4.241 0.064-9.842 0.252-13.18-0.945-3.19-1.133-7.7-6.592-12.96-10.921-5.254-4.264-10.222-8.622-10.192-14.555-0.093-6.099 3.863-8.329 9.681-13.369 3.048-2.685 8.478-7.335 12.328-9.379 3.526-1.804 5.963-1.338 9.664-1.766z"/>
+   <path fill="#a86a00" d="m165.287 79.138c5.165-0.637 12.241 0.637 15.496 3.043 3.042 2.264 5.165 3.476 7.924 4.387 9.26 3.042 21.556 4.515 20.998 12.854-0.627 9.968-3.805 14.368-12.074 16.967-6.633 2.042-18.576 13.117-27.766 13.27-4.276 0.096-9.759 0.27-13.075-0.914-3.165-1.123-7.661-6.577-12.887-10.874-5.217-4.236-10.187-8.468-10.069-14.345-0.03-5.943 3.815-8.244 9.589-13.249 3.023-2.66 8.36-7.366 12.191-9.424 3.49-1.808 5.993-1.291 9.673-1.715z"/>
+   <path fill="#ad7000" d="m165.396 79.23c5.135-0.633 12.17 0.633 15.404 3.025 3.025 2.251 5.137 3.46 7.88 4.361 9.201 3.025 21.467 4.508 20.917 12.796-0.62 9.905-3.874 14.26-12.093 16.837-6.586 2.027-18.479 12.882-27.611 13.086-4.311 0.127-9.677 0.287-12.971-0.883-3.14-1.113-7.622-6.561-12.814-10.826-5.18-4.208-10.148-8.315-9.945-14.135 0.031-5.789 3.768-8.16 9.497-13.129 2.999-2.635 8.244-7.398 12.055-9.47 3.454-1.808 6.023-1.24 9.681-1.662z"/>
+   <path fill="#b27600" d="m165.506 79.325c5.105-0.63 12.099 0.629 15.314 3.007 3.007 2.237 5.104 3.442 7.832 4.335 9.145 3.007 21.38 4.501 20.837 12.737-0.614 9.844-3.943 14.154-12.109 16.709-6.541 2.011-18.385 12.645-27.46 12.9-4.342 0.16-9.592 0.306-12.862-0.851-3.115-1.103-7.584-6.545-12.743-10.779-5.144-4.18-10.112-8.162-9.821-13.924 0.092-5.634 3.718-8.076 9.405-13.009 2.975-2.609 8.126-7.429 11.919-9.514 3.416-1.812 6.052-1.192 9.688-1.611z"/>
+   <path fill="#b77b00" d="m165.615 79.417c5.075-0.626 12.026 0.626 15.224 2.989 2.989 2.225 5.075 3.425 7.786 4.31 9.087 2.989 21.292 4.494 20.756 12.678-0.606 9.781-4.012 14.046-12.126 16.581-6.496 1.997-18.289 12.41-27.307 12.716-4.376 0.191-9.51 0.323-12.758-0.82-3.09-1.094-7.546-6.53-12.671-10.732-5.106-4.152-10.074-8.008-9.697-13.713 0.155-5.479 3.67-7.992 9.313-12.889 2.951-2.585 8.011-7.461 11.783-9.56 3.38-1.814 6.083-1.143 9.697-1.56z"/>
+   <path fill="#bc8100" d="m165.725 79.511c5.044-0.622 11.954 0.622 15.133 2.972 2.971 2.211 5.045 3.408 7.739 4.284 9.029 2.971 21.205 4.487 20.675 12.619-0.6 9.719-4.079 13.939-12.143 16.451-6.45 1.982-18.192 12.175-27.153 12.532-4.41 0.223-9.428 0.341-12.653-0.789-3.065-1.084-7.507-6.514-12.598-10.684-5.069-4.124-10.038-7.855-9.574-13.504 0.217-5.324 3.622-7.908 9.222-12.77 2.926-2.559 7.894-7.492 11.646-9.605 3.344-1.816 6.113-1.092 9.706-1.506z"/>
+   <path fill="#c18700" d="m165.834 79.604c5.015-0.618 11.883 0.619 15.043 2.954 2.953 2.198 5.015 3.391 7.693 4.259 8.972 2.953 21.118 4.48 20.594 12.559-0.593 9.66-4.147 13.833-12.159 16.324-6.405 1.967-18.098 11.94-27.002 12.347-4.441 0.255-9.343 0.359-12.546-0.757-3.04-1.074-7.469-6.498-12.526-10.637-5.032-4.096-10-7.701-9.45-13.293 0.278-5.169 3.574-7.823 9.13-12.649 2.903-2.534 7.776-7.524 11.511-9.651 3.306-1.821 6.141-1.044 9.712-1.456z"/>
+   <path fill="#c68d00" d="m165.944 79.697c4.984-0.615 11.811 0.614 14.952 2.936 2.935 2.184 4.983 3.374 7.646 4.233 8.915 2.935 21.031 4.473 20.515 12.5-0.586 9.597-4.218 13.726-12.177 16.195-6.36 1.951-18.002 11.703-26.849 12.162-4.476 0.287-9.261 0.377-12.441-0.726-3.015-1.064-7.431-6.482-12.453-10.589-4.995-4.068-9.965-7.549-9.326-13.083 0.34-5.015 3.524-7.741 9.038-12.531 2.878-2.508 7.658-7.555 11.374-9.696 3.269-1.82 6.171-0.992 9.721-1.401z"/>
+   <path fill="#cc9200" d="m166.054 79.791c4.952-0.61 11.738 0.611 14.86 2.918 2.918 2.172 4.954 3.357 7.601 4.207 8.857 2.918 20.942 4.466 20.432 12.442-0.578 9.536-4.285 13.62-12.192 16.066-6.314 1.936-17.906 11.468-26.696 11.978-4.509 0.319-9.178 0.394-12.335-0.696-2.989-1.054-7.393-6.466-12.382-10.541-4.959-4.04-9.928-7.395-9.202-12.873 0.401-4.859 3.477-7.655 8.945-12.411 2.854-2.482 7.542-7.586 11.239-9.741 3.233-1.824 6.201-0.943 9.73-1.349z"/>
+   <path fill="#d19800" d="m166.163 79.883c4.923-0.606 11.668 0.608 14.771 2.901 2.9 2.158 4.924 3.339 7.554 4.181 8.801 2.9 20.855 4.459 20.352 12.383-0.571 9.474-4.353 13.512-12.21 15.938-6.269 1.921-17.81 11.233-26.543 11.793-4.542 0.351-9.094 0.413-12.229-0.664-2.965-1.044-7.354-6.45-12.311-10.494-4.921-4.012-9.89-7.241-9.079-12.662 0.465-4.705 3.431-7.571 8.855-12.29 2.83-2.458 7.425-7.618 11.102-9.787 3.197-1.827 6.231-0.893 9.738-1.299z"/>
+   <path fill="#d69e00" d="m166.273 79.978c4.893-0.603 11.596 0.603 14.679 2.882 2.883 2.145 4.895 3.323 7.507 4.156 8.744 2.882 20.77 4.452 20.272 12.324-0.565 9.412-4.422 13.406-12.228 15.81-6.224 1.905-17.714 10.996-26.39 11.608-4.576 0.383-9.012 0.431-12.124-0.633-2.94-1.034-7.316-6.434-12.237-10.446-4.884-3.984-9.854-7.089-8.955-12.452 0.525-4.551 3.382-7.489 8.764-12.171 2.805-2.432 7.307-7.649 10.965-9.832 3.16-1.829 6.261-0.845 9.747-1.246z"/>
+   <path fill="#dba300" d="m166.382 80.07c4.863-0.599 11.525 0.6 14.59 2.865 2.864 2.131 4.862 3.305 7.461 4.13 8.686 2.864 20.682 4.445 20.19 12.264-0.559 9.352-4.491 13.299-12.244 15.681-6.179 1.89-17.619 10.761-26.237 11.423-4.608 0.415-8.929 0.449-12.018-0.601-2.915-1.024-7.277-6.418-12.166-10.399-4.847-3.956-9.815-6.935-8.831-12.241 0.587-4.396 3.333-7.404 8.671-12.051 2.782-2.407 7.191-7.681 10.83-9.878 3.123-1.829 6.29-0.793 9.754-1.193z"/>
+   <path fill="#e0a900" d="m166.492 80.164c4.832-0.595 11.453 0.596 14.498 2.847 2.847 2.118 4.833 3.289 7.414 4.104 8.629 2.846 20.595 4.438 20.111 12.205-0.553 9.29-4.56 13.193-12.262 15.553-6.134 1.875-17.522 10.526-26.085 11.239-4.642 0.447-8.845 0.467-11.912-0.57-2.89-1.015-7.238-6.402-12.093-10.351-4.81-3.928-9.78-6.782-8.708-12.032 0.649-4.241 3.285-7.32 8.58-11.932 2.757-2.381 7.073-7.712 10.693-9.923 3.088-1.831 6.321-0.743 9.764-1.14z"/>
+   <path fill="#e5af00" d="m166.601 80.257c4.803-0.592 11.382 0.592 14.407 2.829 2.829 2.105 4.804 3.271 7.368 4.079 8.571 2.828 20.507 4.431 20.029 12.146-0.544 9.228-4.627 13.085-12.277 15.423-6.089 1.861-17.427 10.29-25.932 11.055-4.676 0.478-8.763 0.484-11.807-0.539-2.865-1.005-7.2-6.387-12.021-10.304-4.772-3.9-9.742-6.629-8.583-11.821 0.711-4.085 3.236-7.236 8.487-11.812 2.732-2.357 6.957-7.744 10.557-9.968 3.052-1.834 6.351-0.694 9.772-1.088z"/>
+   <path fill="#eab500" d="m166.711 80.351c4.772-0.588 11.31 0.589 14.317 2.811 2.811 2.092 4.771 3.254 7.321 4.054 8.514 2.81 20.42 4.424 19.948 12.087-0.538 9.165-4.695 12.979-12.294 15.295-6.044 1.845-17.332 10.054-25.779 10.869-4.708 0.511-8.68 0.503-11.7-0.507-2.84-0.995-7.163-6.371-11.949-10.257-4.736-3.872-9.706-6.475-8.46-11.61 0.773-3.931 3.188-7.152 8.396-11.692 2.709-2.331 6.839-7.775 10.421-10.013 3.013-1.839 6.38-0.645 9.779-1.037z"/>
+   <path fill="#efba00" d="m166.82 80.443c4.742-0.584 11.238 0.585 14.226 2.794 2.794 2.078 4.743 3.237 7.276 4.027 8.456 2.793 20.332 4.417 19.868 12.029-0.531 9.104-4.766 12.872-12.313 15.167-5.997 1.83-17.234 9.819-25.626 10.685-4.742 0.542-8.596 0.52-11.595-0.476-2.815-0.985-7.124-6.355-11.877-10.209-4.699-3.844-9.668-6.322-8.336-11.4 0.835-3.778 3.14-7.068 8.304-11.573 2.686-2.306 6.724-7.807 10.285-10.059 2.978-1.84 6.411-0.595 9.788-0.985z"/>
+   <path fill="#f4c000" d="m166.93 80.537c4.711-0.58 11.166 0.582 14.135 2.776 2.775 2.066 4.713 3.22 7.229 4.002 8.399 2.775 20.246 4.41 19.787 11.969-0.522 9.043-4.832 12.765-12.328 15.039-5.952 1.815-17.139 9.584-25.473 10.501-4.776 0.574-8.513 0.538-11.49-0.445-2.79-0.976-7.085-6.34-11.804-10.162-4.662-3.816-9.632-6.168-8.213-11.189 0.896-3.623 3.092-6.984 8.213-11.454 2.66-2.281 6.604-7.838 10.147-10.104 2.942-1.844 6.441-0.547 9.797-0.933z"/>
+   <path fill="#f9c600" d="m167.039 80.63c4.683-0.577 11.095 0.577 14.045 2.758 2.758 2.052 4.683 3.203 7.184 3.976 8.341 2.757 20.157 4.403 19.706 11.91-0.518 8.981-4.901 12.659-12.346 14.911-5.906 1.799-17.044 9.347-25.32 10.315-4.809 0.606-8.431 0.556-11.384-0.413-2.765-0.966-7.048-6.324-11.732-10.114-4.625-3.788-9.594-6.016-8.088-10.98 0.958-3.467 3.043-6.9 8.12-11.333 2.637-2.256 6.488-7.87 10.013-10.15 2.902-1.844 6.468-0.495 9.802-0.88z"/>
+  </g>
+  <path fill="#fc0" d="m154.744 90.7245c4.65-0.573 11.022 0.574 13.954 2.74 2.739 2.039 4.651 3.186 7.136 3.951 8.284 2.739 20.071 4.396 19.626 11.851-0.51 8.919-4.97 12.551-12.362 14.781-5.861 1.784-16.947 9.112-25.168 10.131-4.842 0.638-8.347 0.574-11.277-0.382-2.74-0.956-7.01-6.308-11.66-10.067-4.588-3.76-9.559-5.862-7.965-10.769 1.02-3.313 2.995-6.816 8.028-11.213 2.612-2.23 6.371-7.901 9.876-10.195 2.867-1.847 6.499-0.447 9.812-0.828z"/>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#fc0" d="m167.982 83.609c1.008 2.088 3.6 2.376 5.328 3.312 1.655 0.936 2.592 1.152 3.239 0.792 1.44-0.792 0.36-3.384-1.079-4.32-1.368-0.935-8.064-1.151-7.488 0.216z"/>
+   <path fill="#f9c600" d="m168.125 83.631c0.982 2.035 3.508 2.316 5.193 3.229 1.614 0.912 2.526 1.123 3.158 0.771 1.402-0.771 0.35-3.298-1.054-4.21-1.332-0.913-7.859-1.123-7.297 0.21z"/>
+   <path fill="#f4c000" d="m168.267 83.653c0.957 1.982 3.418 2.255 5.058 3.144 1.572 0.889 2.461 1.094 3.076 0.752 1.367-0.752 0.342-3.213-1.025-4.101-1.299-0.889-7.656-1.094-7.109 0.205z"/>
+   <path fill="#efba00" d="m168.409 83.674c0.932 1.929 3.327 2.195 4.924 3.06 1.53 0.865 2.395 1.064 2.993 0.732 1.331-0.732 0.333-3.127-0.998-3.992-1.264-0.864-7.451-1.064-6.919 0.2z"/>
+   <path fill="#eab500" d="m168.552 83.696c0.905 1.876 3.234 2.135 4.787 2.977 1.488 0.841 2.329 1.035 2.912 0.711 1.294-0.711 0.323-3.041-0.971-3.882-1.228-0.841-7.246-1.036-6.728 0.194z"/>
+   <path fill="#e5af00" d="m168.694 83.718c0.881 1.823 3.144 2.075 4.653 2.892 1.446 0.818 2.264 1.006 2.83 0.692 1.257-0.692 0.313-2.956-0.943-3.773-1.195-0.818-7.043-1.007-6.54 0.189z"/>
+   <path fill="#e0a900" d="m168.837 83.739c0.855 1.771 3.053 2.015 4.519 2.809 1.403 0.793 2.198 0.977 2.747 0.671 1.221-0.671 0.306-2.87-0.916-3.664-1.161-0.793-6.839-0.976-6.35 0.184z"/>
+   <path fill="#dba300" d="m168.979 83.761c0.829 1.718 2.962 1.955 4.383 2.725 1.363 0.77 2.132 0.948 2.666 0.651 1.184-0.651 0.296-2.784-0.889-3.554-1.125-0.77-6.634-0.948-6.16 0.178z"/>
+   <path fill="#d69e00" d="m169.121 83.782c0.804 1.665 2.871 1.895 4.249 2.641 1.32 0.747 2.066 0.918 2.583 0.631 1.148-0.631 0.287-2.698-0.861-3.444-1.091-0.746-6.43-0.919-5.971 0.172z"/>
+   <path fill="#d19800" d="m169.264 83.804c0.777 1.612 2.778 1.834 4.112 2.557 1.279 0.723 2.001 0.889 2.501 0.611 1.112-0.611 0.278-2.612-0.834-3.335-1.055-0.722-6.224-0.889-5.779 0.167z"/>
+   <path fill="#cc9200" d="m169.406 83.826c0.753 1.559 2.688 1.774 3.979 2.473 1.236 0.699 1.936 0.86 2.42 0.591 1.074-0.591 0.269-2.527-0.808-3.226-1.021-0.699-6.021-0.86-5.591 0.162z"/>
+   <path fill="#c68c00" d="m169.549 83.847c0.728 1.506 2.597 1.714 3.844 2.389 1.194 0.675 1.869 0.831 2.337 0.571 1.039-0.571 0.26-2.441-0.779-3.116-0.988-0.675-5.818-0.831-5.402 0.156z"/>
+   <path fill="#c18700" d="m169.691 83.869c0.702 1.453 2.506 1.654 3.709 2.305 1.152 0.652 1.803 0.802 2.254 0.551 1.002-0.551 0.251-2.355-0.751-3.006-0.953-0.652-5.613-0.802-5.212 0.15z"/>
+   <path fill="#bc8100" d="m169.833 83.89c0.677 1.4 2.415 1.594 3.574 2.221 1.111 0.628 1.738 0.772 2.173 0.531 0.965-0.531 0.241-2.27-0.725-2.897-0.917-0.627-5.408-0.772-5.022 0.145z"/>
+   <path fill="#b77b00" d="m169.976 83.912c0.65 1.347 2.322 1.533 3.438 2.137 1.069 0.604 1.673 0.743 2.091 0.511 0.93-0.511 0.233-2.184-0.696-2.788-0.884-0.603-5.205-0.743-4.833 0.14z"/>
+   <path fill="#b27500" d="m170.118 83.934c0.626 1.294 2.232 1.473 3.304 2.053 1.027 0.581 1.606 0.714 2.009 0.491 0.893-0.491 0.224-2.098-0.669-2.678-0.85-0.58-5.001-0.715-4.644 0.134z"/>
+   <path fill="#ad7000" d="m170.261 83.955c0.6 1.242 2.14 1.413 3.168 1.97 0.984 0.557 1.541 0.685 1.927 0.47 0.855-0.47 0.214-2.012-0.644-2.569-0.812-0.555-4.794-0.684-4.451 0.129z"/>
+   <path fill="#a86a00" d="m170.403 83.977c0.574 1.189 2.05 1.353 3.034 1.886 0.942 0.533 1.475 0.656 1.844 0.45 0.82-0.45 0.205-1.926-0.615-2.459-0.779-0.533-4.591-0.656-4.263 0.123z"/>
+   <path fill="#a36400" d="m170.545 83.998c0.55 1.136 1.959 1.292 2.899 1.802 0.901 0.509 1.41 0.626 1.762 0.43 0.783-0.43 0.197-1.841-0.587-2.35-0.745-0.508-4.387-0.626-4.074 0.118z"/>
+   <path fill="#9e5e00" d="m170.688 84.02c0.522 1.083 1.867 1.232 2.764 1.718 0.859 0.486 1.343 0.597 1.68 0.41 0.746-0.41 0.188-1.755-0.561-2.241-0.709-0.484-4.182-0.597-3.883 0.113z"/>
+   <path fill="#995900" d="m170.83 84.042c0.498 1.03 1.776 1.172 2.629 1.634 0.817 0.462 1.278 0.568 1.599 0.39 0.71-0.39 0.178-1.669-0.533-2.131-0.676-0.461-3.979-0.568-3.695 0.107z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#fc0" d="m152.875 86.29c-0.325 0.813 1.952 2.359 3.091 1.301 1.222-1.057 2.686-2.033 3.175-2.359 2.195-1.465 1.383-2.522-2.278-1.871-3.663 0.651-3.663 2.115-3.988 2.929z"/>
+   <path fill="#f9c600" d="m152.934 86.279c-0.318 0.794 1.906 2.304 3.019 1.271 1.193-1.033 2.623-1.986 3.102-2.305 2.145-1.431 1.351-2.463-2.226-1.828-3.578 0.637-3.578 2.067-3.895 2.862z"/>
+   <path fill="#f4c000" d="m152.993 86.269c-0.31 0.775 1.861 2.25 2.948 1.241 1.164-1.008 2.56-1.939 3.026-2.25 2.095-1.397 1.319-2.405-2.173-1.784-3.491 0.62-3.491 2.017-3.801 2.793z"/>
+   <path fill="#efba00" d="m153.051 86.258c-0.302 0.757 1.817 2.195 2.878 1.211 1.136-0.984 2.497-1.892 2.952-2.195 2.044-1.363 1.287-2.347-2.118-1.741-3.409 0.606-3.409 1.968-3.712 2.725z"/>
+   <path fill="#eab500" d="m153.11 86.248c-0.295 0.738 1.771 2.141 2.805 1.181 1.108-0.959 2.437-1.845 2.88-2.141 1.993-1.329 1.255-2.289-2.066-1.698-3.324 0.591-3.324 1.92-3.619 2.658z"/>
+   <path fill="#e5af00" d="m153.169 86.238c-0.287 0.719 1.727 2.086 2.733 1.151 1.08-0.935 2.374-1.798 2.807-2.086 1.942-1.296 1.224-2.23-2.015-1.655s-3.238 1.87-3.525 2.59z"/>
+   <path fill="#e0a900" d="m153.228 86.228c-0.28 0.7 1.681 2.032 2.661 1.121 1.052-0.91 2.312-1.751 2.732-2.031 1.893-1.262 1.191-2.172-1.961-1.611-3.152 0.559-3.152 1.82-3.432 2.521z"/>
+   <path fill="#dba300" d="m153.286 86.217c-0.271 0.681 1.636 1.977 2.591 1.09 1.023-0.886 2.25-1.704 2.659-1.977 1.84-1.228 1.159-2.114-1.909-1.568-3.068 0.547-3.068 1.773-3.341 2.455z"/>
+   <path fill="#d69e00" d="m153.345 86.207c-0.265 0.662 1.591 1.922 2.519 1.061 0.995-0.862 2.188-1.657 2.586-1.922 1.789-1.194 1.127-2.055-1.855-1.525-2.985 0.53-2.985 1.723-3.25 2.386z"/>
+   <path fill="#d19800" d="m153.404 86.197c-0.257 0.643 1.546 1.868 2.447 1.03 0.967-0.837 2.126-1.61 2.512-1.868 1.739-1.16 1.095-1.997-1.803-1.481-2.899 0.516-2.899 1.674-3.156 2.319z"/>
+   <path fill="#cc9200" d="m153.463 86.187c-0.25 0.625 1.5 1.813 2.375 1 0.939-0.813 2.064-1.563 2.439-1.813 1.688-1.126 1.063-1.938-1.75-1.438-2.814 0.5-2.814 1.625-3.064 2.251z"/>
+   <path fill="#c68c00" d="m153.521 86.176c-0.242 0.605 1.456 1.758 2.304 0.97 0.911-0.788 2.002-1.516 2.366-1.758 1.637-1.092 1.031-1.88-1.698-1.395-2.729 0.486-2.729 1.576-2.972 2.183z"/>
+   <path fill="#c18700" d="m153.58 86.166c-0.233 0.587 1.41 1.704 2.233 0.939 0.882-0.763 1.938-1.469 2.292-1.704 1.586-1.058 0.999-1.822-1.646-1.352-2.644 0.472-2.644 1.529-2.879 2.117z"/>
+   <path fill="#bc8100" d="m153.639 86.156c-0.228 0.568 1.364 1.649 2.16 0.91 0.854-0.739 1.878-1.422 2.219-1.649 1.536-1.024 0.967-1.764-1.593-1.308s-2.559 1.477-2.786 2.047z"/>
+   <path fill="#b77b00" d="m153.698 86.146c-0.22 0.549 1.32 1.594 2.089 0.879 0.825-0.715 1.815-1.375 2.146-1.595 1.484-0.99 0.935-1.705-1.54-1.265s-2.475 1.43-2.695 1.981z"/>
+   <path fill="#b27500" d="m153.756 86.135c-0.211 0.53 1.275 1.54 2.019 0.85 0.797-0.69 1.753-1.328 2.072-1.54 1.434-0.957 0.902-1.646-1.487-1.221s-2.391 1.38-2.604 1.911z"/>
+   <path fill="#ad7000" d="m153.815 86.125c-0.204 0.512 1.229 1.486 1.946 0.82 0.769-0.666 1.69-1.281 1.997-1.486 1.385-0.922 0.871-1.588-1.434-1.178s-2.304 1.331-2.509 1.844z"/>
+   <path fill="#a86a00" d="m153.874 86.114c-0.196 0.493 1.185 1.431 1.875 0.79 0.74-0.642 1.628-1.234 1.924-1.431 1.332-0.889 0.84-1.53-1.381-1.135s-2.221 1.283-2.418 1.776z"/>
+   <path fill="#a36400" d="m153.933 86.104c-0.189 0.474 1.139 1.376 1.803 0.759 0.712-0.617 1.566-1.187 1.851-1.376 1.281-0.855 0.808-1.472-1.329-1.092-2.135 0.38-2.135 1.234-2.325 1.709z"/>
+   <path fill="#9e5e00" d="m153.991 86.094c-0.181 0.455 1.095 1.322 1.732 0.729 0.684-0.592 1.504-1.14 1.776-1.321 1.231-0.821 0.775-1.414-1.274-1.048-2.051 0.364-2.051 1.184-2.234 1.64z"/>
+   <path fill="#995900" d="m154.05 86.083c-0.174 0.436 1.05 1.267 1.66 0.699 0.656-0.568 1.442-1.093 1.704-1.267 1.181-0.787 0.743-1.355-1.223-1.005s-1.966 1.136-2.141 1.573z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#fc0" d="m156.951 107.887c-0.229 2.858 6.343-4.286 6.743-4.915 0.856-1.543 3.715-5.886 4.172-7.715 0.857-3.2 2.401-5.543 1.429-8.915-0.343-1.086-2.742-1.372-3.829-0.687-3.086 1.829-2.629 4.058-2.972 6.115-1.143 5.831-5.143 11.717-5.543 16.117z"/>
+   <path fill="#ffcc02" d="m157.22 107.441c-0.22 2.787 6.178-4.188 6.566-4.802 0.833-1.506 3.614-5.745 4.056-7.529 0.831-3.122 2.333-5.408 1.382-8.695-0.337-1.058-2.678-1.333-3.735-0.663-3.006 1.788-2.557 3.96-2.889 5.967-1.105 5.685-4.997 11.431-5.38 15.722z"/>
+   <path fill="#ffcc05" d="m157.488 106.995c-0.209 2.715 6.014-4.091 6.392-4.69 0.811-1.469 3.513-5.603 3.941-7.342 0.804-3.043 2.264-5.273 1.331-8.474-0.329-1.031-2.61-1.295-3.64-0.64-2.927 1.747-2.486 3.863-2.806 5.818-1.068 5.541-4.851 11.146-5.218 15.328z"/>
+   <path fill="#ffcc07" d="m157.757 106.548c-0.198 2.645 5.85-3.993 6.217-4.577 0.785-1.431 3.409-5.461 3.824-7.156 0.779-2.964 2.196-5.138 1.282-8.253-0.322-1.003-2.543-1.257-3.545-0.618-2.847 1.706-2.414 3.766-2.722 5.67-1.031 5.398-4.706 10.862-5.056 14.934z"/>
+   <path fill="#ffcd0a" d="m158.026 106.102c-0.189 2.573 5.684-3.896 6.04-4.465 0.762-1.394 3.309-5.32 3.709-6.969 0.753-2.886 2.129-5.004 1.233-8.033-0.315-0.976-2.478-1.219-3.45-0.595-2.768 1.665-2.343 3.668-2.64 5.522-0.993 5.254-4.558 10.577-4.892 14.54z"/>
+   <path fill="#ffcd0c" d="m158.294 105.655c-0.179 2.503 5.52-3.798 5.865-4.351 0.738-1.357 3.207-5.179 3.594-6.783 0.727-2.807 2.061-4.869 1.185-7.813-0.309-0.948-2.411-1.18-3.356-0.572-2.687 1.623-2.271 3.571-2.556 5.374-0.958 5.11-4.414 10.291-4.732 14.145z"/>
+   <path fill="#ffcd0f" d="m158.563 105.209c-0.169 2.431 5.354-3.701 5.688-4.239 0.715-1.319 3.106-5.037 3.479-6.596 0.7-2.728 1.992-4.734 1.135-7.592-0.301-0.92-2.344-1.142-3.261-0.549-2.608 1.583-2.199 3.474-2.473 5.226-0.919 4.965-4.267 10.005-4.568 13.75z"/>
+   <path fill="#ffcd11" d="m158.831 104.762c-0.159 2.361 5.19-3.602 5.515-4.126 0.69-1.282 3.004-4.896 3.361-6.409 0.674-2.649 1.924-4.599 1.087-7.372-0.295-0.893-2.277-1.104-3.167-0.526-2.527 1.541-2.128 3.376-2.389 5.077-0.883 4.822-4.122 9.721-4.407 13.356z"/>
+   <path fill="#ffce14" d="m159.1 104.316c-0.149 2.289 5.024-3.505 5.338-4.014 0.667-1.244 2.901-4.754 3.247-6.223 0.646-2.571 1.854-4.464 1.037-7.151-0.287-0.865-2.211-1.065-3.072-0.504-2.448 1.5-2.056 3.279-2.306 4.929-0.845 4.679-3.976 9.437-4.244 12.963z"/>
+   <path fill="#ffce16" d="m159.369 103.869c-0.139 2.219 4.86-3.407 5.162-3.9 0.643-1.208 2.801-4.613 3.131-6.037 0.622-2.492 1.787-4.329 0.988-6.93-0.28-0.838-2.146-1.027-2.978-0.481-2.368 1.459-1.983 3.182-2.223 4.781-0.807 4.533-3.829 9.151-4.08 12.567z"/>
+   <path fill="#ffce19" d="m159.637 103.423c-0.13 2.147 4.695-3.31 4.986-3.788 0.62-1.17 2.699-4.471 3.016-5.85 0.596-2.414 1.719-4.195 0.939-6.71-0.273-0.81-2.079-0.989-2.883-0.458-2.289 1.418-1.913 3.084-2.139 4.632-0.77 4.391-3.684 8.866-3.919 12.174z"/>
+   <path fill="#ffce1c" d="m159.906 102.977c-0.119 2.076 4.531-3.213 4.811-3.676 0.597-1.133 2.599-4.33 2.899-5.664 0.57-2.335 1.651-4.06 0.891-6.49-0.267-0.782-2.012-0.95-2.787-0.435-2.21 1.377-1.842 2.987-2.057 4.484-0.734 4.247-3.539 8.582-3.757 11.781z"/>
+   <path fill="#ffcf1e" d="m160.174 102.53c-0.108 2.005 4.366-3.115 4.637-3.563 0.571-1.096 2.496-4.189 2.784-5.478 0.543-2.256 1.581-3.925 0.841-6.269-0.26-0.754-1.945-0.912-2.693-0.412-2.129 1.336-1.77 2.889-1.973 4.336-0.697 4.103-3.394 8.297-3.596 11.386z"/>
+   <path fill="#ffcf21" d="m160.443 102.084c-0.099 1.934 4.201-3.018 4.46-3.45 0.548-1.059 2.394-4.047 2.668-5.291 0.517-2.178 1.514-3.79 0.793-6.049-0.253-0.727-1.879-0.874-2.599-0.39-2.051 1.295-1.698 2.792-1.891 4.188-0.658 3.959-3.246 8.012-3.431 10.992z"/>
+   <path fill="#ffcf23" d="m160.712 101.637c-0.089 1.863 4.036-2.919 4.283-3.337 0.526-1.021 2.294-3.905 2.553-5.104 0.491-2.099 1.447-3.655 0.744-5.828-0.246-0.699-1.813-0.835-2.505-0.367-1.969 1.253-1.625 2.694-1.805 4.04-0.623 3.814-3.101 7.726-3.27 10.596z"/>
+   <path fill="#ffcf26" d="m160.98 101.191c-0.079 1.792 3.872-2.822 4.107-3.225 0.502-0.984 2.192-3.764 2.438-4.918 0.464-2.02 1.378-3.52 0.694-5.607-0.238-0.672-1.746-0.797-2.41-0.344-1.89 1.212-1.555 2.597-1.723 3.891-0.583 3.671-2.953 7.442-3.106 10.203z"/>
+   <path fill="#ffd028" d="m161.249 100.744c-0.068 1.721 3.707-2.724 3.933-3.112 0.478-0.947 2.091-3.623 2.321-4.731 0.439-1.942 1.311-3.386 0.646-5.387-0.232-0.645-1.68-0.758-2.316-0.321-1.81 1.171-1.481 2.5-1.639 3.743-0.548 3.527-2.809 7.156-2.945 9.808z"/>
+   <path fill="#ffd02b" d="m161.517 100.298c-0.06 1.65 3.543-2.627 3.757-2.999 0.454-0.91 1.989-3.481 2.206-4.545 0.413-1.863 1.242-3.25 0.597-5.167-0.225-0.617-1.613-0.72-2.221-0.298-1.73 1.13-1.411 2.402-1.557 3.595-0.509 3.383-2.662 6.871-2.782 9.414z"/>
+   <path fill="#ffd02d" d="m161.786 99.852c-0.049 1.579 3.377-2.529 3.581-2.887 0.431-0.872 1.887-3.34 2.091-4.359 0.387-1.784 1.173-3.116 0.547-4.946-0.217-0.589-1.546-0.682-2.126-0.275-1.649 1.089-1.339 2.305-1.472 3.446-0.474 3.24-2.518 6.587-2.621 9.021z"/>
+   <path fill="#ffd030" d="m162.055 99.405c-0.039 1.508 3.212-2.432 3.404-2.773 0.407-0.835 1.786-3.199 1.976-4.172 0.359-1.706 1.104-2.981 0.499-4.726-0.211-0.562-1.481-0.644-2.032-0.253-1.571 1.048-1.268 2.208-1.389 3.298-0.436 3.096-2.372 6.302-2.458 8.626z"/>
+   <path fill="#ffd133" d="m162.323 98.958c-0.029 1.437 3.048-2.334 3.23-2.661 0.383-0.798 1.684-3.057 1.858-3.986 0.334-1.627 1.037-2.846 0.45-4.505-0.204-0.534-1.414-0.605-1.938-0.23-1.49 1.007-1.195 2.11-1.306 3.15-0.397 2.953-2.224 6.018-2.294 8.232z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#fc0" d="m179.646 95.994c-3.168 3.456-5.4 6.767-7.2 9-1.872 2.304-6.48 5.04-4.176 7.704 1.943 2.376 9.936-1.944 16.128-6.552 6.12-4.608 15.696-8.711 11.016-13.967-2.448-2.664-8.208-2.088-10.439-0.648-1.729 1.078-2.737 1.655-5.329 4.463z"/>
+   <path fill="#ffcc02" d="m179.782 96.147c-3.118 3.378-5.313 6.628-7.086 8.809-1.841 2.249-6.375 4.945-4.13 7.534 1.893 2.31 9.724-1.943 15.795-6.469 6.001-4.525 15.38-8.574 10.82-13.682-2.387-2.588-8.022-1.998-10.209-0.584-1.692 1.062-2.665 1.67-5.19 4.392z"/>
+   <path fill="#ffcc05" d="m179.919 96.3c-3.068 3.3-5.227 6.488-6.973 8.619-1.81 2.193-6.271 4.85-4.085 7.364 1.843 2.243 9.513-1.943 15.463-6.386 5.882-4.442 15.064-8.437 10.623-13.396-2.323-2.513-7.835-1.907-9.978-0.52-1.655 1.044-2.593 1.684-5.05 4.319z"/>
+   <path fill="#ffcc07" d="m180.055 96.454c-3.02 3.222-5.14 6.347-6.859 8.428-1.78 2.138-6.166 4.754-4.04 7.194 1.793 2.177 9.302-1.942 15.131-6.303 5.762-4.359 14.748-8.299 10.427-13.11-2.261-2.437-7.648-1.817-9.747-0.456-1.619 1.025-2.522 1.698-4.912 4.247z"/>
+   <path fill="#ffcd0a" d="m180.191 96.607c-2.97 3.143-5.052 6.207-6.745 8.237-1.749 2.082-6.063 4.659-3.994 7.023 1.743 2.111 9.09-1.941 14.798-6.219 5.644-4.276 14.433-8.162 10.231-12.824-2.199-2.361-7.463-1.727-9.518-0.392-1.581 1.008-2.45 1.713-4.772 4.175z"/>
+   <path fill="#ffcd0c" d="m180.327 96.761c-2.92 3.065-4.965 6.066-6.631 8.047-1.718 2.027-5.957 4.564-3.949 6.853 1.693 2.044 8.878-1.94 14.466-6.136 5.524-4.194 14.116-8.024 10.034-12.538-2.137-2.286-7.275-1.636-9.285-0.328-1.546 0.988-2.38 1.726-4.635 4.102z"/>
+   <path fill="#ffcd0f" d="m180.464 96.914c-2.871 2.987-4.879 5.926-6.518 7.857-1.688 1.971-5.854 4.468-3.903 6.683 1.643 1.978 8.666-1.94 14.133-6.053 5.404-4.111 13.801-7.887 9.839-12.251-2.075-2.21-7.091-1.546-9.056-0.264-1.509 0.969-2.308 1.738-4.495 4.028z"/>
+   <path fill="#ffcd11" d="m180.6 97.067c-2.821 2.909-4.792 5.786-6.404 7.667-1.657 1.916-5.748 4.373-3.858 6.512 1.593 1.912 8.455-1.938 13.802-5.969 5.284-4.028 13.484-7.75 9.641-11.966-2.012-2.134-6.902-1.456-8.823-0.199-1.474 0.951-2.238 1.752-4.358 3.955z"/>
+   <path fill="#ffce14" d="m180.736 97.221c-2.771 2.83-4.705 5.645-6.29 7.476-1.626 1.86-5.644 4.278-3.813 6.342 1.542 1.845 8.244-1.938 13.47-5.886 5.166-3.945 13.169-7.612 9.444-11.68-1.949-2.059-6.716-1.365-8.592-0.135-1.437 0.933-2.166 1.766-4.219 3.883z"/>
+   <path fill="#ffce16" d="m180.872 97.375c-2.722 2.752-4.617 5.504-6.176 7.286-1.595 1.805-5.539 4.182-3.767 6.172 1.49 1.779 8.031-1.937 13.136-5.803 5.046-3.862 12.853-7.475 9.249-11.394-1.889-1.983-6.53-1.274-8.362-0.071-1.4 0.914-2.095 1.779-4.08 3.81z"/>
+   <path fill="#ffce19" d="m181.009 97.528c-2.673 2.674-4.53 5.364-6.063 7.095-1.564 1.749-5.435 4.087-3.722 6.001 1.44 1.713 7.82-1.936 12.804-5.719 4.927-3.78 12.537-7.338 9.052-11.108-1.825-1.907-6.343-1.185-8.13-0.007-1.364 0.896-2.024 1.793-3.941 3.738z"/>
+   <path fill="#ffce1c" d="m181.145 97.682c-2.623 2.595-4.444 5.225-5.949 6.904-1.534 1.693-5.33 3.992-3.676 5.831 1.39 1.646 7.608-1.935 12.471-5.636 4.808-3.697 12.221-7.2 8.856-10.822-1.764-1.832-6.157-1.094-7.9 0.057-1.327 0.878-1.952 1.807-3.802 3.666z"/>
+   <path fill="#ffcf1e" d="m181.281 97.835c-2.573 2.517-4.357 5.084-5.835 6.714-1.503 1.638-5.226 3.896-3.631 5.661 1.34 1.58 7.396-1.935 12.139-5.553 4.689-3.614 11.905-7.063 8.659-10.536-1.701-1.756-5.97-1.004-7.668 0.121-1.291 0.86-1.881 1.821-3.664 3.593z"/>
+   <path fill="#ffcf21" d="m181.417 97.988c-2.522 2.439-4.27 4.944-5.721 6.524-1.472 1.582-5.121 3.801-3.586 5.491 1.29 1.513 7.186-1.934 11.807-5.47 4.569-3.531 11.589-6.926 8.463-10.25-1.639-1.68-5.783-0.914-7.438 0.186-1.254 0.84-1.809 1.834-3.525 3.519z"/>
+   <path fill="#ffcf23" d="m181.554 98.142c-2.476 2.361-4.185 4.803-5.608 6.333-1.441 1.527-5.017 3.706-3.54 5.32 1.24 1.447 6.974-1.933 11.474-5.386 4.45-3.448 11.273-6.788 8.268-9.964-1.577-1.605-5.599-0.823-7.207 0.25-1.22 0.822-1.74 1.848-3.387 3.447z"/>
+   <path fill="#ffcf26" d="m181.69 98.295c-2.425 2.283-4.098 4.663-5.494 6.143-1.411 1.471-4.912 3.61-3.495 5.15 1.19 1.381 6.763-1.932 11.142-5.303 4.331-3.366 10.957-6.65 8.07-9.679-1.514-1.529-5.411-0.732-6.976 0.313-1.182 0.805-1.667 1.863-3.247 3.376z"/>
+   <path fill="#ffd028" d="m181.826 98.449c-2.375 2.204-4.009 4.522-5.38 5.952-1.38 1.416-4.808 3.515-3.449 4.98 1.14 1.314 6.551-1.932 10.81-5.22 4.211-3.283 10.641-6.513 7.874-9.393-1.452-1.454-5.226-0.642-6.745 0.378-1.147 0.786-1.597 1.876-3.11 3.303z"/>
+   <path fill="#ffd02b" d="m181.962 98.602c-2.324 2.127-3.922 4.382-5.266 5.762-1.349 1.36-4.703 3.42-3.404 4.809 1.089 1.248 6.34-1.93 10.478-5.136 4.092-3.2 10.325-6.376 7.677-9.106-1.389-1.378-5.038-0.552-6.513 0.441-1.111 0.768-1.526 1.89-2.972 3.23z"/>
+   <path fill="#ffd02d" d="m182.099 98.756c-2.276 2.048-3.836 4.241-5.153 5.571-1.318 1.305-4.599 3.324-3.359 4.639 1.039 1.182 6.128-1.93 10.146-5.053 3.973-3.117 10.009-6.238 7.48-8.82-1.328-1.303-4.852-0.462-6.282 0.506-1.074 0.748-1.454 1.903-2.832 3.157z"/>
+   <path fill="#ffd030" d="m182.235 98.909c-2.228 1.97-3.749 4.101-5.039 5.381-1.288 1.249-4.494 3.229-3.313 4.469 0.988 1.115 5.916-1.929 9.813-4.97 3.853-3.034 9.693-6.101 7.285-8.535-1.267-1.227-4.666-0.371-6.052 0.57-1.038 0.731-1.384 1.918-2.694 3.085z"/>
+   <path fill="#ffd133" d="m182.371 99.063c-2.177 1.892-3.662 3.96-4.925 5.19-1.257 1.193-4.39 3.133-3.268 4.298 0.938 1.049 5.704-1.928 9.479-4.886 3.734-2.952 9.377-5.963 7.088-8.249-1.203-1.151-4.479-0.281-5.821 0.634-0.999 0.713-1.31 1.931-2.553 3.013z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#fff" d="m186.414 168.569c0.864-2.808 28.872-9.432 33.48-7.272 4.536 2.16 26.279 33.768 22.392 35.496-3.888 1.657-12.24-10.512-24.408-16.128s-32.328-9.216-31.464-12.096z"/>
+   <path fill="#f9f9f9" d="m187.239 168.626c0.848-2.761 28.145-9.076 32.69-6.997 4.476 2.079 25.768 32.897 21.943 34.591-3.824 1.625-11.965-10.346-23.94-15.874-11.976-5.527-31.541-8.89-30.693-11.72z"/>
+   <path fill="#f4f4f4" d="m188.063 168.683c0.832-2.714 27.418-8.72 31.899-6.722 4.417 1.998 25.259 32.026 21.497 33.685-3.76 1.595-11.689-10.18-23.474-15.619-11.782-5.438-30.754-8.565-29.922-11.344z"/>
+   <path fill="#efefef" d="m188.888 168.74c0.814-2.668 26.69-8.364 31.109-6.447 4.357 1.917 24.746 31.155 21.049 32.779-3.695 1.563-11.416-10.014-23.007-15.364-11.59-5.349-29.967-8.239-29.151-10.968z"/>
+   <path fill="#eaeaea" d="m189.712 168.797c0.801-2.621 25.964-8.009 30.32-6.173 4.299 1.837 24.235 30.285 20.603 31.874-3.633 1.532-11.142-9.847-22.54-15.109-11.4-5.261-29.182-7.914-28.383-10.592z"/>
+   <path fill="#e5e5e5" d="m190.537 168.853c0.783-2.573 25.236-7.652 29.53-5.897 4.239 1.756 23.723 29.414 20.155 30.968-3.569 1.501-10.867-9.681-22.074-14.854-11.206-5.172-28.395-7.589-27.611-10.217z"/>
+   <path fill="#e0e0e0" d="m191.361 168.91c0.768-2.527 24.51-7.296 28.74-5.622 4.18 1.675 23.212 28.543 19.708 30.063-3.505 1.469-10.593-9.516-21.607-14.6-11.014-5.083-27.608-7.263-26.841-9.841z"/>
+   <path fill="#dbdbdb" d="m192.186 168.967c0.751-2.48 23.781-6.941 27.95-5.347 4.119 1.593 22.7 27.671 19.26 29.157-3.441 1.438-10.318-9.349-21.141-14.345-10.821-4.994-26.821-6.938-26.069-9.465z"/>
+   <path fill="#d6d6d6" d="m193.01 169.024c0.735-2.433 23.057-6.585 27.16-5.073 4.062 1.513 22.19 26.801 18.813 28.252-3.377 1.407-10.043-9.183-20.673-14.09-10.629-4.906-26.035-6.612-25.3-9.089z"/>
+   <path fill="#d1d1d1" d="m193.835 169.081c0.72-2.387 22.328-6.229 26.37-4.798 4.001 1.432 21.678 25.93 18.365 27.346-3.313 1.376-9.768-9.017-20.206-13.835-10.437-4.817-25.248-6.287-24.529-8.713z"/>
+   <path fill="#ccc" d="m194.659 169.137c0.703-2.339 21.603-5.873 25.58-4.521 3.942 1.351 21.167 25.059 17.918 26.44-3.249 1.345-9.493-8.851-19.739-13.58-10.245-4.729-24.462-5.963-23.759-8.339z"/>
+   <path fill="#c6c6c6" d="m195.484 169.194c0.687-2.292 20.874-5.517 24.79-4.247 3.882 1.27 20.655 24.188 17.47 25.535-3.185 1.314-9.219-8.685-19.271-13.326-10.054-4.639-23.676-5.636-22.989-7.962z"/>
+   <path fill="#c1c1c1" d="m196.308 169.251c0.671-2.246 20.147-5.161 24-3.973 3.822 1.19 20.145 23.318 17.022 24.63-3.121 1.283-8.943-8.519-18.805-13.071-9.859-4.551-22.888-5.311-22.217-7.586z"/>
+   <path fill="#bcbcbc" d="m197.133 169.308c0.654-2.199 19.421-4.805 23.21-3.698 3.764 1.109 19.634 22.447 16.575 23.724-3.057 1.252-8.669-8.353-18.338-12.816-9.668-4.462-22.102-4.985-21.447-7.21z"/>
+   <path fill="#b7b7b7" d="m197.957 169.365c0.64-2.152 18.693-4.45 22.42-3.423 3.705 1.027 19.122 21.575 16.129 22.818-2.993 1.221-8.395-8.186-17.872-12.561-9.476-4.373-21.315-4.66-20.677-6.834z"/>
+   <path fill="#b2b2b2" d="m198.782 169.421c0.622-2.105 17.966-4.093 21.63-3.147 3.646 0.946 18.61 20.704 15.681 21.912-2.93 1.19-8.12-8.02-17.404-12.306-9.284-4.284-20.53-4.335-19.907-6.459z"/>
+   <path fill="#adadad" d="m199.606 169.478c0.606-2.058 17.239-3.737 20.84-2.873 3.586 0.866 18.099 19.834 15.234 21.008-2.866 1.158-7.847-7.855-16.938-12.052-9.091-4.196-19.742-4.009-19.136-6.083z"/>
+   <path fill="#a8a8a8" d="m200.431 169.535c0.59-2.011 16.512-3.382 20.05-2.598 3.525 0.785 17.588 18.963 14.786 20.102-2.803 1.127-7.571-7.688-16.472-11.797-8.898-4.107-18.955-3.684-18.364-5.707z"/>
+   <path fill="#a3a3a3" d="m201.255 169.592c0.574-1.965 15.785-3.026 19.261-2.323 3.467 0.704 17.076 18.092 14.339 19.196-2.738 1.096-7.296-7.522-16.004-11.542-8.707-4.018-18.17-3.358-17.596-5.331z"/>
+   <path fill="#9e9e9e" d="m202.08 169.649c0.559-1.918 15.059-2.67 18.47-2.048 3.407 0.623 16.565 17.221 13.892 18.29-2.674 1.065-7.022-7.356-15.537-11.287-8.515-3.929-17.383-3.033-16.825-4.955z"/>
+   <path fill="#999" d="m202.904 169.705c0.542-1.871 14.331-2.314 17.68-1.773 3.349 0.542 16.055 16.35 13.444 17.385-2.61 1.034-6.747-7.19-15.07-11.032-8.322-3.841-16.596-2.708-16.054-4.58z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#fff" d="m151.134 211.625c2.881 0.144 0.145 16.271 0.145 32.903s2.231 22.464 0.144 24.552-5.688-5.399-5.688-22.031c-0.001-16.632 2.519-35.568 5.399-35.424z"/>
+   <path fill="#f9f9f9" d="m151.105 212.016c2.783 0.162 0.109 16.052 0.097 32.419-0.012 16.366 2.188 22.208 0.164 24.237-2.02 2.029-5.561-5.383-5.546-21.752 0.012-16.367 2.502-35.065 5.285-34.904z"/>
+   <path fill="#f4f4f4" d="m151.075 212.407c2.687 0.18 0.076 15.832 0.051 31.934-0.023 16.102 2.143 21.951 0.185 23.924-1.953 1.968-5.435-5.367-5.405-21.473 0.024-16.103 2.484-34.564 5.169-34.385z"/>
+   <path fill="#efefef" d="m151.046 212.797c2.588 0.197 0.041 15.613 0.004 31.449-0.036 15.836 2.098 21.694 0.204 23.609-1.886 1.907-5.308-5.352-5.263-21.195 0.037-15.835 2.467-34.058 5.055-33.863z"/>
+   <path fill="#eaeaea" d="m151.017 213.189c2.49 0.214 0.007 15.392-0.043 30.962-0.05 15.571 2.052 21.439 0.224 23.297-1.818 1.848-5.181-5.334-5.122-20.916 0.049-15.571 2.45-33.557 4.941-33.343z"/>
+   <path fill="#e5e5e5" d="m150.987 213.581c2.394 0.23-0.027 15.17-0.089 30.477s2.007 21.182 0.244 22.982c-1.751 1.787-5.055-5.32-4.98-20.638 0.061-15.305 2.431-33.053 4.825-32.821z"/>
+   <path fill="#e0e0e0" d="m150.958 213.971c2.297 0.248-0.062 14.951-0.136 29.99-0.074 15.041 1.962 20.927 0.264 22.668-1.683 1.728-4.928-5.301-4.839-20.356 0.074-15.04 2.414-32.551 4.711-32.302z"/>
+   <path fill="#dbdbdb" d="m150.928 214.362c2.199 0.266-0.096 14.73-0.182 29.506-0.087 14.775 1.915 20.67 0.282 22.354-1.615 1.667-4.8-5.286-4.696-20.078 0.087-14.776 2.397-32.048 4.596-31.782z"/>
+   <path fill="#d6d6d6" d="m150.899 214.752c2.102 0.283-0.13 14.511-0.229 29.021-0.099 14.511 1.87 20.413 0.303 22.04-1.549 1.607-4.674-5.27-4.556-19.799 0.1-14.51 2.38-31.545 4.482-31.262z"/>
+   <path fill="#d1d1d1" d="m150.87 215.144c2.005 0.301-0.165 14.29-0.274 28.535-0.112 14.245 1.824 20.155 0.321 21.725-1.479 1.548-4.547-5.252-4.413-19.519 0.11-14.245 2.361-31.043 4.366-30.741z"/>
+   <path fill="#ccc" d="m150.84 215.536c1.908 0.317-0.197 14.069-0.32 28.049-0.124 13.979 1.779 19.899 0.342 21.412-1.413 1.486-4.42-5.238-4.272-19.242 0.122-13.979 2.343-30.54 4.25-30.219z"/>
+   <path fill="#c6c6c6" d="m150.811 215.926c1.811 0.334-0.233 13.85-0.368 27.564-0.136 13.713 1.735 19.643 0.362 21.096-1.346 1.428-4.293-5.219-4.131-18.961 0.136-13.712 2.327-30.035 4.137-29.699z"/>
+   <path fill="#c1c1c1" d="m150.781 216.317c1.714 0.354-0.267 13.629-0.414 27.078s1.69 19.387 0.382 20.783c-1.277 1.367-4.166-5.203-3.989-18.682 0.148-13.449 2.308-29.533 4.021-29.179z"/>
+   <path fill="#bcbcbc" d="m150.752 216.708c1.616 0.371-0.301 13.41-0.461 26.594-0.161 13.184 1.646 19.13 0.402 20.469-1.211 1.307-4.04-5.188-3.847-18.402 0.16-13.185 2.29-29.033 3.906-28.661z"/>
+   <path fill="#b7b7b7" d="m150.723 217.099c1.519 0.387-0.336 13.188-0.509 26.106-0.173 12.92 1.601 18.875 0.423 20.156-1.144 1.246-3.913-5.171-3.706-18.123 0.172-12.919 2.273-28.529 3.792-28.139z"/>
+   <path fill="#b2b2b2" d="m150.693 217.491c1.422 0.404-0.37 12.969-0.554 25.621-0.186 12.653 1.555 18.617 0.441 19.842-1.076 1.187-3.786-5.156-3.563-17.846 0.184-12.652 2.255-28.024 3.676-27.617z"/>
+   <path fill="#adadad" d="m150.664 217.881c1.325 0.422-0.404 12.748-0.601 25.136-0.198 12.388 1.51 18.36 0.462 19.528-1.008 1.125-3.66-5.139-3.423-17.566 0.197-12.389 2.238-27.521 3.562-27.098z"/>
+   <path fill="#a8a8a8" d="m150.634 218.272c1.229 0.439-0.438 12.527-0.646 24.65-0.21 12.123 1.464 18.104 0.48 19.213-0.939 1.066-3.531-5.121-3.279-17.285 0.208-12.123 2.219-27.019 3.445-26.578z"/>
+   <path fill="#a3a3a3" d="m150.605 218.663c1.13 0.457-0.474 12.309-0.694 24.166-0.222 11.857 1.419 17.848 0.501 18.899-0.873 1.006-3.405-5.106-3.139-17.009 0.222-11.855 2.202-26.515 3.332-26.056z"/>
+   <path fill="#9e9e9e" d="m150.576 219.054c1.033 0.474-0.507 12.088-0.741 23.68-0.234 11.593 1.374 17.591 0.521 18.585-0.806 0.946-3.279-5.089-2.997-16.729 0.233-11.591 2.184-26.011 3.217-25.536z"/>
+   <path fill="#999" d="m150.546 219.444c0.937 0.492-0.541 11.868-0.787 23.195-0.246 11.326 1.329 17.335 0.541 18.271-0.737 0.885-3.151-5.074-2.855-16.449 0.245-11.328 2.166-25.509 3.101-25.017z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#fff" d="m157.434 167.161c1.735 0.192 12.437-2.218 12.822-1.254 0.386 0.772-6.651 2.893-8.966 5.303-0.771 0.771-2.796 2.603-4.049 2.41-0.964-0.096-1.543-2.121-2.989-3.664-3.471-3.47-5.688-3.181-5.013-4.531 0.579-1.06 5.207 1.446 8.195 1.736z"/>
+   <path fill="#fbfbfb" d="m157.479 167.201c1.7 0.188 12.176-2.171 12.554-1.227 0.377 0.755-6.512 2.832-8.778 5.191-0.755 0.755-2.736 2.549-3.964 2.36-0.942-0.094-1.51-2.077-2.926-3.587-3.398-3.397-5.568-3.115-4.907-4.436 0.565-1.038 5.096 1.415 8.021 1.699z"/>
+   <path fill="#f8f8f8" d="m157.525 167.241c1.663 0.184 11.914-2.124 12.283-1.201 0.369 0.739-6.372 2.771-8.589 5.08-0.738 0.739-2.679 2.494-3.879 2.309-0.924-0.092-1.479-2.032-2.863-3.51-3.325-3.324-5.449-3.048-4.803-4.341 0.555-1.015 4.988 1.385 7.851 1.663z"/>
+   <path fill="#f5f5f5" d="m157.57 167.281c1.626 0.18 11.652-2.078 12.014-1.175 0.361 0.723-6.231 2.711-8.4 4.969-0.723 0.722-2.619 2.439-3.793 2.258-0.903-0.09-1.446-1.987-2.802-3.433-3.252-3.251-5.329-2.981-4.695-4.245 0.54-0.993 4.876 1.354 7.676 1.626z"/>
+   <path fill="#f2f2f2" d="m157.615 167.321c1.59 0.176 11.391-2.031 11.745-1.148 0.352 0.706-6.093 2.649-8.212 4.856-0.707 0.707-2.562 2.385-3.709 2.208-0.883-0.088-1.413-1.943-2.738-3.356-3.179-3.178-5.209-2.914-4.591-4.15 0.529-0.971 4.768 1.324 7.505 1.59z"/>
+   <path fill="#efefef" d="m157.66 167.361c1.554 0.172 11.13-1.985 11.475-1.122 0.346 0.69-5.952 2.589-8.022 4.745-0.69 0.69-2.503 2.33-3.624 2.157-0.863-0.086-1.381-1.898-2.675-3.279-3.106-3.105-5.09-2.847-4.486-4.055 0.517-0.948 4.658 1.294 7.332 1.554z"/>
+   <path fill="#ebebeb" d="m157.705 167.401c1.518 0.168 10.868-1.938 11.206-1.096 0.336 0.674-5.813 2.528-7.835 4.634-0.674 0.674-2.444 2.275-3.539 2.106-0.842-0.084-1.348-1.853-2.612-3.202-3.032-3.032-4.97-2.78-4.38-3.959 0.505-0.926 4.549 1.263 7.16 1.517z"/>
+   <path fill="#e8e8e8" d="m157.751 167.441c1.48 0.164 10.606-1.892 10.936-1.069 0.329 0.657-5.673 2.467-7.646 4.522-0.658 0.657-2.385 2.22-3.453 2.055-0.822-0.082-1.315-1.809-2.549-3.124-2.96-2.96-4.851-2.714-4.275-3.865 0.491-0.904 4.438 1.233 6.987 1.481z"/>
+   <path fill="#e5e5e5" d="m157.796 167.481c1.444 0.16 10.346-1.845 10.666-1.043 0.32 0.641-5.532 2.406-7.458 4.41-0.641 0.642-2.325 2.166-3.367 2.005-0.803-0.08-1.284-1.764-2.486-3.047-2.887-2.887-4.732-2.647-4.17-3.769 0.48-0.882 4.329 1.202 6.815 1.444z"/>
+   <path fill="#e2e2e2" d="m157.841 167.521c1.407 0.156 10.083-1.799 10.397-1.017 0.312 0.625-5.394 2.346-7.271 4.299-0.625 0.625-2.267 2.111-3.282 1.954-0.782-0.078-1.251-1.719-2.423-2.97-2.814-2.814-4.612-2.58-4.065-3.674 0.469-0.859 4.221 1.172 6.644 1.408z"/>
+   <path fill="#dfdfdf" d="m157.886 167.56c1.37 0.152 9.821-1.751 10.127-0.99 0.304 0.609-5.254 2.285-7.081 4.188-0.609 0.609-2.208 2.056-3.198 1.903-0.761-0.076-1.218-1.675-2.36-2.893-2.741-2.741-4.492-2.513-3.959-3.579 0.456-0.837 4.111 1.142 6.471 1.371z"/>
+   <path fill="#dbdbdb" d="m157.931 167.6c1.335 0.148 9.561-1.704 9.857-0.963 0.296 0.592-5.114 2.223-6.893 4.076-0.593 0.593-2.149 2.001-3.113 1.853-0.741-0.074-1.186-1.631-2.297-2.817-2.668-2.667-4.373-2.446-3.854-3.483 0.445-0.815 4.003 1.111 6.3 1.334z"/>
+   <path fill="#d8d8d8" d="m157.977 167.64c1.298 0.144 9.299-1.658 9.587-0.937 0.288 0.576-4.974 2.163-6.704 3.964-0.576 0.577-2.091 1.947-3.027 1.803-0.721-0.072-1.153-1.586-2.234-2.74-2.596-2.594-4.253-2.379-3.748-3.388 0.431-0.792 3.891 1.081 6.126 1.298z"/>
+   <path fill="#d5d5d5" d="m158.022 167.68c1.261 0.14 9.037-1.611 9.317-0.911 0.28 0.56-4.834 2.102-6.516 3.853-0.56 0.561-2.032 1.892-2.942 1.752-0.7-0.07-1.12-1.541-2.172-2.663-2.521-2.521-4.133-2.312-3.643-3.292 0.421-0.77 3.784 1.05 5.956 1.261z"/>
+   <path fill="#d2d2d2" d="m158.067 167.72c1.225 0.136 8.775-1.564 9.049-0.884 0.271 0.543-4.695 2.041-6.327 3.741-0.545 0.544-1.974 1.837-2.857 1.701-0.682-0.068-1.09-1.497-2.109-2.585-2.449-2.449-4.014-2.246-3.538-3.198 0.407-0.748 3.673 1.02 5.782 1.225z"/>
+   <path fill="#cfcfcf" d="m158.112 167.76c1.188 0.132 8.515-1.518 8.779-0.858 0.264 0.527-4.555 1.98-6.139 3.63-0.527 0.528-1.915 1.782-2.772 1.65-0.66-0.066-1.057-1.452-2.046-2.508-2.376-2.376-3.895-2.179-3.433-3.103 0.397-0.725 3.565 0.99 5.611 1.189z"/>
+   <path fill="#ccc" d="m158.157 167.8c1.152 0.128 8.253-1.472 8.51-0.832 0.255 0.511-4.415 1.92-5.95 3.518-0.512 0.512-1.855 1.728-2.688 1.6-0.64-0.064-1.023-1.407-1.983-2.431-2.303-2.303-3.773-2.112-3.326-3.007 0.383-0.703 3.454 0.959 5.437 1.152z"/>
+   <path fill="#c8c8c8" d="m158.203 167.84c1.115 0.124 7.991-1.425 8.239-0.805 0.248 0.494-4.274 1.858-5.761 3.406-0.496 0.496-1.798 1.673-2.603 1.549-0.62-0.063-0.992-1.363-1.921-2.354-2.229-2.229-3.655-2.045-3.221-2.912 0.372-0.681 3.346 0.929 5.267 1.116z"/>
+   <path fill="#c5c5c5" d="m158.248 167.88c1.079 0.12 7.73-1.379 7.97-0.779 0.239 0.478-4.135 1.798-5.572 3.295-0.479 0.479-1.739 1.618-2.518 1.498-0.6-0.06-0.959-1.318-1.857-2.277-2.157-2.157-3.535-1.978-3.116-2.816 0.359-0.659 3.235 0.898 5.093 1.079z"/>
+   <path fill="#c2c2c2" d="m158.293 167.92c1.042 0.116 7.469-1.332 7.701-0.753 0.231 0.462-3.995 1.737-5.385 3.184-0.463 0.463-1.68 1.563-2.432 1.447-0.579-0.058-0.927-1.273-1.796-2.2-2.084-2.084-3.415-1.911-3.01-2.721 0.348-0.636 3.127 0.868 4.922 1.043z"/>
+   <path fill="#bfbfbf" d="m158.338 167.959c1.007 0.112 7.207-1.285 7.432-0.726 0.223 0.446-3.855 1.676-5.196 3.072-0.447 0.447-1.621 1.509-2.347 1.397-0.56-0.056-0.895-1.229-1.732-2.123-2.011-2.011-3.296-1.844-2.905-2.626 0.334-0.614 3.016 0.838 4.748 1.006z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path d="m194.253 11.922c-1.222 2.631-3.812 23.214-0.248 20.892 3.594-2.341 13.57-5.312 19.886-7.013 7.003-1.886-17.188-19.463-19.638-13.879z"/>
+   <path fill="#060606" d="m194.485 12.307c-1.21 2.594-3.704 22.255-0.234 20.007 3.491-2.262 13.077-5.1 19.039-6.782 6.59-1.905-16.436-18.609-18.805-13.225z"/>
+   <path fill="#0c0c0c" d="m194.717 12.691c-1.198 2.557-3.595 21.296-0.221 19.124 3.391-2.184 12.586-4.888 18.194-6.551 6.177-1.924-15.684-17.757-17.973-12.573z"/>
+   <path fill="#131313" d="m194.949 13.076c-1.187 2.52-3.487 20.337-0.207 18.239 3.288-2.105 12.093-4.676 17.348-6.321 5.763-1.941-14.933-16.903-17.141-11.918z"/>
+   <path fill="#191919" d="m195.181 13.46c-1.177 2.483-3.379 19.378-0.193 17.355 3.187-2.027 11.6-4.464 16.502-6.09 5.349-1.959-14.182-16.05-16.309-11.265z"/>
+   <path fill="#1f1f1f" d="m195.413 13.845c-1.164 2.446-3.27 18.419-0.18 16.471 3.086-1.949 11.107-4.252 15.657-5.859 4.935-1.978-13.43-15.198-15.477-10.612z"/>
+   <path fill="#262626" d="m195.645 14.229c-1.153 2.409-3.162 17.46-0.166 15.586 2.983-1.87 10.616-4.04 14.811-5.628 4.521-1.995-12.679-14.344-14.645-9.958z"/>
+   <path fill="#2c2c2c" d="m195.878 14.614c-1.142 2.372-3.055 16.501-0.152 14.702 2.882-1.792 10.123-3.828 13.965-5.398 4.107-2.013-11.929-13.49-13.813-9.304z"/>
+   <path fill="#333" d="m196.11 14.999c-1.131 2.335-2.946 15.542-0.14 13.817 2.78-1.713 9.631-3.616 13.119-5.167 3.695-2.031-11.175-12.637-12.979-8.65z"/>
+   <path fill="#393939" d="m196.342 15.383c-1.118 2.299-2.838 14.583-0.126 12.934 2.68-1.636 9.139-3.404 12.274-4.937 3.28-2.049-10.425-11.784-12.148-7.997z"/>
+   <path fill="#3f3f3f" d="m196.574 15.768c-1.108 2.261-2.729 13.624-0.112 12.049 2.577-1.557 8.646-3.192 11.429-4.706 2.865-2.068-9.675-10.931-11.317-7.343z"/>
+   <path fill="#464646" d="m196.806 16.152c-1.097 2.225-2.622 12.665-0.1 11.165 2.477-1.479 8.154-2.98 10.583-4.475 2.453-2.086-8.922-10.078-10.483-6.69z"/>
+   <path fill="#4c4c4c" d="m197.038 16.537c-1.085 2.188-2.513 11.706-0.085 10.28 2.374-1.4 7.661-2.768 9.737-4.244 2.039-2.104-8.171-9.225-9.652-6.036z"/>
+   <path fill="#525252" d="m197.27 16.921c-1.073 2.151-2.405 10.747-0.071 9.396 2.272-1.322 7.168-2.556 8.891-4.013 1.625-2.122-7.42-8.371-8.82-5.383z"/>
+   <path fill="#595959" d="m197.502 17.306c-1.062 2.113-2.297 9.788-0.058 8.512 2.172-1.244 6.677-2.344 8.046-3.783 1.211-2.14-6.669-7.518-7.988-4.729z"/>
+   <path fill="#5f5f5f" d="m197.734 17.69c-1.05 2.077-2.188 8.829-0.044 7.627 2.069-1.165 6.184-2.132 7.2-3.552 0.797-2.157-5.917-6.664-7.156-4.075z"/>
+   <path fill="#666" d="m197.966 18.075c-1.038 2.04-2.079 7.87-0.029 6.743 1.968-1.087 5.69-1.92 6.354-3.321 0.382-2.176-5.167-5.812-6.325-3.422z"/>
+   <path fill="#6c6c6c" d="m198.198 18.459c-1.027 2.003-1.972 6.911-0.017 5.859 1.866-1.008 5.198-1.708 5.509-3.09-0.03-2.194-4.415-4.959-5.492-2.769z"/>
+   <path fill="#727272" d="m198.43 18.844c-1.017 1.966-1.863 5.952-0.003 4.975 1.765-0.93 4.706-1.496 4.662-2.86-0.443-2.212-3.662-4.106-4.659-2.115z"/>
+   <path fill="#797979" d="m198.662 19.228c-1.004 1.929-1.755 4.993 0.011 4.09 1.663-0.852 4.215-1.284 3.817-2.629-0.858-2.23-2.912-3.251-3.828-1.461z"/>
+   <path fill="#7f7f7f" d="m198.894 19.612c-0.993 1.892-1.647 4.034 0.023 3.206 1.563-0.773 3.723-1.072 2.973-2.398-1.272-2.248-2.161-2.399-2.996-0.808z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path d="m143.502 46.386c-0.72 2.16 8.712 5.112 10.801 6.984 2.808 2.52 3.023 7.488 6.336 5.472 2.159-1.296 0.504-4.176-3.456-8.568-5.833-6.481-13.033-5.689-13.681-3.888z"/>
+   <path fill="#050505" d="m143.991 46.582c-0.716 2.073 8.275 4.9 10.336 6.741 2.745 2.457 2.961 7.249 6.146 5.313 2.094-1.254 0.449-4.072-3.343-8.28-5.574-6.203-12.491-5.505-13.139-3.774z"/>
+   <path fill="#0a0a0a" d="m144.479 46.779c-0.71 1.987 7.839 4.688 9.873 6.498 2.682 2.394 2.897 7.009 5.956 5.154 2.028-1.212 0.395-3.968-3.228-7.993-5.319-5.926-11.953-5.321-12.601-3.659z"/>
+   <path fill="#0f0f0f" d="m144.967 46.976c-0.704 1.9 7.403 4.476 9.41 6.254 2.62 2.33 2.835 6.77 5.766 4.995 1.964-1.171 0.342-3.864-3.112-7.706-5.064-5.647-11.415-5.137-12.064-3.543z"/>
+   <path fill="#141414" d="m145.456 47.172c-0.701 1.813 6.966 4.263 8.946 6.011 2.557 2.266 2.772 6.53 5.575 4.835 1.897-1.129 0.287-3.76-2.998-7.418-4.807-5.369-10.874-4.952-11.523-3.428z"/>
+   <path fill="#191919" d="m145.944 47.369c-0.696 1.726 6.53 4.051 8.483 5.768 2.493 2.203 2.71 6.291 5.385 4.676 1.833-1.087 0.231-3.656-2.884-7.13-4.551-5.093-10.335-4.769-10.984-3.314z"/>
+   <path fill="#1e1e1e" d="m146.433 47.565c-0.692 1.64 6.093 3.839 8.019 5.525 2.431 2.14 2.647 6.052 5.194 4.517 1.768-1.046 0.179-3.552-2.77-6.843-4.293-4.814-9.794-4.585-10.443-3.199z"/>
+   <path fill="#232323" d="m146.921 47.762c-0.686 1.553 5.657 3.627 7.558 5.282 2.367 2.076 2.583 5.813 5.003 4.357 1.702-1.003 0.124-3.448-2.654-6.555-4.04-4.537-9.257-4.401-9.907-3.084z"/>
+   <path fill="#282828" d="m147.409 47.959c-0.681 1.466 5.221 3.415 7.094 5.039 2.305 2.013 2.521 5.573 4.813 4.198 1.637-0.962 0.07-3.344-2.54-6.268-3.782-4.26-8.717-4.218-9.367-2.969z"/>
+   <path fill="#2d2d2d" d="m147.898 48.156c-0.677 1.379 4.784 3.203 6.63 4.795 2.242 1.949 2.457 5.333 4.622 4.039 1.572-0.92 0.016-3.24-2.425-5.98-3.526-3.983-8.177-4.034-8.827-2.854z"/>
+   <path fill="#333" d="m148.386 48.353c-0.673 1.292 4.348 2.99 6.167 4.552 2.179 1.886 2.394 5.095 4.432 3.88 1.506-0.878-0.038-3.136-2.312-5.693-3.268-3.705-7.636-3.85-8.287-2.739z"/>
+   <path fill="#383838" d="m148.875 48.549c-0.668 1.206 3.911 2.778 5.703 4.309 2.116 1.823 2.331 4.855 4.242 3.721 1.439-0.836-0.093-3.032-2.197-5.405-3.013-3.428-7.098-3.667-7.748-2.625z"/>
+   <path fill="#3d3d3d" d="m149.363 48.746c-0.662 1.119 3.475 2.566 5.24 4.065 2.053 1.759 2.268 4.616 4.052 3.562 1.375-0.795-0.147-2.928-2.082-5.118-2.757-3.15-6.559-3.483-7.21-2.509z"/>
+   <path fill="#424242" d="m149.851 48.942c-0.657 1.032 3.039 2.354 4.776 3.823 1.99 1.696 2.205 4.376 3.861 3.402 1.31-0.753-0.201-2.824-1.967-4.831-2.5-2.871-6.018-3.298-6.67-2.394z"/>
+   <path fill="#474747" d="m150.34 49.139c-0.652 0.946 2.603 2.142 4.313 3.58 1.927 1.632 2.143 4.137 3.671 3.243 1.244-0.712-0.256-2.72-1.853-4.543-2.245-2.595-5.48-3.115-6.131-2.28z"/>
+   <path fill="#4c4c4c" d="m150.828 49.336c-0.647 0.859 2.166 1.93 3.851 3.336 1.863 1.569 2.079 3.898 3.48 3.084 1.179-0.67-0.31-2.616-1.739-4.255-1.988-2.317-4.94-2.932-5.592-2.165z"/>
+   <path fill="#515151" d="m151.317 49.533c-0.645 0.772 1.729 1.718 3.386 3.093 1.802 1.505 2.018 3.658 3.29 2.925 1.114-0.628-0.364-2.512-1.624-3.968-1.732-2.04-4.4-2.748-5.052-2.05z"/>
+   <path fill="#565656" d="m151.805 49.729c-0.639 0.685 1.293 1.505 2.923 2.85 1.738 1.442 1.954 3.419 3.1 2.766 1.048-0.586-0.418-2.408-1.509-3.681-1.476-1.762-3.862-2.563-4.514-1.935z"/>
+   <path fill="#5b5b5b" d="m152.293 49.926c-0.633 0.598 0.857 1.293 2.46 2.606 1.677 1.379 1.892 3.18 2.91 2.606 0.983-0.544-0.473-2.304-1.395-3.393-1.22-1.483-3.322-2.379-3.975-1.819z"/>
+   <path fill="#606060" d="m152.782 50.123c-0.629 0.512 0.42 1.081 1.996 2.363 1.613 1.315 1.828 2.94 2.719 2.447 0.918-0.502-0.525-2.2-1.28-3.105-0.963-1.207-2.782-2.196-3.435-1.705z"/>
+   <path fill="#666" d="m153.27 50.319c-0.624 0.425-0.017 0.869 1.533 2.12 1.55 1.252 1.765 2.701 2.528 2.288 0.853-0.461-0.581-2.096-1.166-2.818-0.706-0.929-2.242-2.012-2.895-1.59z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path d="m193.47 45.594c-0.072 1.08 2.951 1.728 4.896 2.448 1.944 0.648 5.76 3.24 7.56 5.256 1.801 1.944 5.688 7.704 6.553 6.192 0.863-1.368-2.017-5.328-2.809-6.984s-3.239-5.256-7.128-6.48c-3.384-1.008-9-1.297-9.072-0.432z"/>
+   <path fill="#060606" d="m193.779 45.67c-0.071 1.05 2.869 1.685 4.758 2.387 1.891 0.633 5.598 3.161 7.345 5.122 1.747 1.893 5.535 7.493 6.376 6.027 0.84-1.328-1.936-5.173-2.738-6.795-0.8-1.622-3.175-5.09-6.952-6.301-3.282-0.995-8.718-1.28-8.789-0.44z"/>
+   <path fill="#0c0c0c" d="m194.088 45.747c-0.07 1.021 2.785 1.641 4.62 2.327 1.836 0.618 5.436 3.081 7.131 4.988 1.692 1.842 5.382 7.282 6.198 5.862 0.814-1.288-1.855-5.019-2.67-6.607-0.808-1.587-3.11-4.925-6.776-6.122-3.178-0.983-8.433-1.264-8.503-0.448z"/>
+   <path fill="#131313" d="m194.397 45.824c-0.071 0.991 2.702 1.598 4.481 2.267 1.782 0.603 5.272 3.001 6.916 4.854 1.64 1.791 5.229 7.071 6.022 5.697 0.788-1.248-1.776-4.865-2.603-6.418-0.815-1.554-3.044-4.759-6.599-5.942-3.073-0.973-8.148-1.251-8.217-0.458z"/>
+   <path fill="#191919" d="m194.706 45.9c-0.069 0.961 2.618 1.555 4.345 2.206 1.728 0.588 5.109 2.922 6.7 4.721 1.586 1.74 5.075 6.86 5.846 5.531 0.764-1.207-1.696-4.711-2.532-6.23-0.824-1.519-2.979-4.593-6.424-5.763-2.972-0.959-7.866-1.234-7.935-0.465z"/>
+   <path fill="#1f1f1f" d="m195.015 45.977c-0.07 0.931 2.534 1.511 4.207 2.146 1.672 0.573 4.945 2.843 6.485 4.586 1.531 1.689 4.921 6.649 5.668 5.367 0.738-1.167-1.616-4.557-2.464-6.042-0.832-1.485-2.914-4.428-6.247-5.583-2.868-0.948-7.581-1.219-7.649-0.474z"/>
+   <path fill="#262626" d="m195.324 46.054c-0.069 0.901 2.451 1.468 4.069 2.085 1.618 0.557 4.784 2.763 6.271 4.453 1.479 1.638 4.769 6.438 5.491 5.201 0.714-1.127-1.536-4.402-2.396-5.854-0.839-1.451-2.848-4.263-6.07-5.404-2.765-0.934-7.298-1.202-7.365-0.481z"/>
+   <path fill="#2c2c2c" d="m195.632 46.13c-0.067 0.872 2.369 1.424 3.933 2.025 1.563 0.542 4.621 2.684 6.056 4.318 1.424 1.587 4.615 6.228 5.315 5.036 0.688-1.086-1.456-4.248-2.326-5.665-0.848-1.416-2.783-4.097-5.896-5.224-2.662-0.923-7.015-1.187-7.082-0.49z"/>
+   <path fill="#333" d="m195.941 46.207c-0.068 0.842 2.285 1.381 3.794 1.964 1.51 0.527 4.458 2.605 5.842 4.185 1.37 1.536 4.461 6.016 5.138 4.871 0.662-1.046-1.377-4.093-2.258-5.476-0.855-1.382-2.718-3.932-5.718-5.045-2.56-0.911-6.732-1.172-6.798-0.499z"/>
+   <path fill="#393939" d="m196.25 46.284c-0.066 0.813 2.202 1.338 3.656 1.904 1.456 0.512 4.296 2.525 5.627 4.051 1.317 1.485 4.308 5.805 4.961 4.706 0.638-1.006-1.296-3.939-2.188-5.288-0.863-1.348-2.652-3.766-5.542-4.866-2.457-0.899-6.449-1.157-6.514-0.507z"/>
+   <path fill="#3f3f3f" d="m196.559 46.36c-0.067 0.783 2.118 1.295 3.518 1.844 1.402 0.497 4.133 2.446 5.412 3.917 1.263 1.434 4.155 5.594 4.785 4.541 0.612-0.966-1.217-3.785-2.12-5.1-0.872-1.313-2.587-3.6-5.366-4.687-2.353-0.886-6.165-1.141-6.229-0.515z"/>
+   <path fill="#464646" d="m196.868 46.437c-0.065 0.753 2.035 1.251 3.38 1.783 1.349 0.482 3.972 2.367 5.197 3.783 1.21 1.383 4.002 5.383 4.608 4.375 0.588-0.926-1.137-3.63-2.052-4.911-0.879-1.279-2.521-3.435-5.189-4.507-2.25-0.874-5.881-1.125-5.944-0.523z"/>
+   <path fill="#4c4c4c" d="m197.177 46.514c-0.066 0.723 1.95 1.208 3.241 1.723 1.293 0.467 3.809 2.287 4.983 3.649 1.155 1.332 3.848 5.172 4.431 4.21 0.563-0.885-1.057-3.476-1.982-4.723-0.888-1.245-2.456-3.269-5.014-4.328-2.146-0.862-5.597-1.109-5.659-0.531z"/>
+   <path fill="#525252" d="m197.486 46.591c-0.066 0.693 1.868 1.164 3.104 1.662 1.239 0.452 3.646 2.208 4.769 3.515 1.102 1.281 3.695 4.961 4.254 4.045 0.537-0.845-0.976-3.321-1.913-4.534-0.896-1.21-2.391-3.103-4.838-4.148-2.044-0.851-5.315-1.095-5.376-0.54z"/>
+   <path fill="#595959" d="m197.795 46.667c-0.064 0.664 1.784 1.121 2.968 1.602 1.184 0.437 3.481 2.128 4.552 3.381 1.049 1.23 3.542 4.75 4.078 3.88 0.512-0.805-0.897-3.167-1.846-4.346-0.902-1.176-2.325-2.938-4.66-3.969-1.942-0.838-5.031-1.078-5.092-0.548z"/>
+   <path fill="#5f5f5f" d="m198.104 46.744c-0.065 0.634 1.701 1.078 2.829 1.541 1.13 0.421 3.318 2.049 4.338 3.248 0.994 1.179 3.388 4.539 3.899 3.715 0.487-0.765-0.815-3.013-1.775-4.157-0.911-1.142-2.261-2.772-4.485-3.79-1.837-0.826-4.746-1.064-4.806-0.557z"/>
+   <path fill="#666" d="m198.413 46.821c-0.063 0.604 1.617 1.034 2.691 1.481 1.076 0.406 3.157 1.969 4.123 3.113 0.94 1.128 3.234 4.328 3.724 3.55 0.462-0.725-0.737-2.858-1.707-3.969-0.919-1.108-2.195-2.606-4.309-3.61-1.734-0.814-4.463-1.049-4.522-0.565z"/>
+   <path fill="#6c6c6c" d="m198.721 46.897c-0.063 0.574 1.534 0.991 2.554 1.42 1.021 0.391 2.994 1.89 3.908 2.979 0.887 1.077 3.082 4.117 3.548 3.384 0.436-0.685-0.657-2.704-1.64-3.78-0.927-1.074-2.13-2.44-4.132-3.431-1.631-0.8-4.179-1.031-4.238-0.572z"/>
+   <path fill="#727272" d="m199.03 46.974c-0.063 0.544 1.451 0.948 2.416 1.36 0.967 0.376 2.831 1.811 3.694 2.846 0.833 1.026 2.928 3.906 3.369 3.219 0.411-0.644-0.576-2.549-1.569-3.592-0.936-1.04-2.064-2.275-3.956-3.251-1.528-0.79-3.896-1.017-3.954-0.582z"/>
+   <path fill="#797979" d="m199.339 47.051c-0.062 0.515 1.368 0.904 2.278 1.299 0.913 0.361 2.669 1.731 3.479 2.712 0.779 0.975 2.774 3.695 3.193 3.054 0.386-0.604-0.497-2.396-1.501-3.403-0.942-1.005-1.999-2.11-3.78-3.072-1.424-0.778-3.612-1.002-3.669-0.59z"/>
+   <path fill="#7f7f7f" d="m199.648 47.127c-0.063 0.485 1.284 0.861 2.14 1.239 0.859 0.346 2.506 1.652 3.265 2.578 0.726 0.924 2.621 3.484 3.017 2.889 0.361-0.564-0.417-2.241-1.432-3.215-0.951-0.971-1.935-1.944-3.604-2.893-1.323-0.765-3.33-0.986-3.386-0.598z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#995900" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-20.017 11.592-31.104 19.152-13.968 9.576-18.792 13.824-23.328 18.359-7.056 7.057-13.752 9.432-24.48 9.432s-15.552-2.231-18.863-5.184c-3.313-2.88-6.984-10.225-6.624-21.168 0.288-10.872 3.744-20.809 5.399-37.729 0.721-7.271 0.648-16.271 0.648-24.264 0-10.08 0.144-18.648 2.304-19.943 3.889-2 [...]
+   <path fill="#9e5e00" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-20.12 11.556-31.26 19.008-13.885 9.371-18.903 13.54-23.521 17.902-6.912 6.74-13.414 9.084-23.915 9.019-10.411-0.047-15.116-2.181-18.414-5.118-3.297-2.867-6.931-9.966-6.613-20.578 0.205-10.851 3.701-20.683 5.256-37.279 0.666-7.379 0.407-16.303 0.335-24.375-0.076-10.068-0.072-18.627 2.084-1 [...]
+   <path fill="#a36400" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-20.226 11.52-31.414 18.863-13.803 9.166-19.016 13.256-23.717 17.447-6.768 6.422-13.075 8.733-23.35 8.604-10.094-0.094-14.682-2.131-17.964-5.055-3.283-2.852-6.876-9.705-6.603-19.987 0.122-10.828 3.657-20.556 5.112-36.828 0.612-7.487 0.165-16.336 0.021-24.487-0.15-10.058-0.287-18.605 1.865- [...]
+   <path fill="#a86a00" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-20.329 11.484-31.568 18.72-13.721 8.961-19.127 12.972-23.911 16.989-6.624 6.105-12.737 8.384-22.785 8.189-9.777-0.141-14.245-2.08-17.514-4.99-3.27-2.836-6.822-9.445-6.591-19.396 0.038-10.807 3.613-20.43 4.968-36.378 0.558-7.597-0.076-16.368-0.292-24.599-0.228-10.047-0.504-18.584 1.645-19. [...]
+   <path fill="#ad7000" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-20.434 11.447-31.724 18.576-13.637 8.756-19.238 12.687-24.106 16.531-6.479 5.789-12.397 8.035-22.219 7.776-9.461-0.188-13.809-2.03-17.063-4.925-3.254-2.823-6.769-9.188-6.581-18.807-0.043-10.785 3.571-20.305 4.824-35.928 0.504-7.705-0.316-16.402-0.604-24.711-0.303-10.037-0.72-18.563 1.425- [...]
+   <path fill="#b27500" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-20.538 11.412-31.879 18.432-13.554 8.551-19.35 12.402-24.3 16.074-6.336 5.473-12.06 7.686-21.654 7.361-9.144-0.233-13.374-1.979-16.613-4.859-3.24-2.809-6.714-8.928-6.57-18.216-0.126-10.765 3.528-20.179 4.68-35.478 0.45-7.813-0.558-16.435-0.918-24.822-0.378-10.026-0.936-18.541 1.206-19.836 [...]
+   <path fill="#b77b00" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-20.643 11.376-32.033 18.288-13.472 8.345-19.461 12.118-24.494 15.616-6.192 5.156-11.723 7.338-21.089 6.949-8.827-0.281-12.938-1.93-16.164-4.795-3.226-2.795-6.66-8.67-6.56-17.627-0.209-10.742 3.485-20.052 4.536-35.027 0.396-7.92-0.799-16.467-1.23-24.934-0.454-10.015-1.152-18.52 0.985-19.81 [...]
+   <path fill="#bc8100" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-20.747 11.34-32.188 18.145-13.389 8.139-19.574 11.834-24.689 15.159-6.048 4.839-11.383 6.988-20.523 6.534-8.51-0.328-12.503-1.879-15.714-4.73-3.211-2.779-6.606-8.41-6.549-17.035-0.292-10.721 3.441-19.926 4.393-34.578 0.342-8.028-1.041-16.498-1.545-25.045-0.529-10.004-1.368-18.498 0.767-19 [...]
+   <path fill="#c18700" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-20.852 11.304-32.343 18-13.306 7.936-19.685 11.549-24.883 14.703-5.904 4.521-11.045 6.638-19.959 6.119-8.193-0.375-12.067-1.828-15.264-4.666-3.197-2.764-6.553-8.149-6.537-16.444-0.375-10.699 3.397-19.8 4.248-34.128 0.288-8.137-1.282-16.531-1.858-25.156-0.604-9.994-1.584-18.477 0.547-19.77 [...]
+   <path fill="#c68c00" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-20.955 11.268-32.498 17.855-13.223 7.73-19.796 11.266-25.077 14.246-5.761 4.204-10.706 6.289-19.394 5.707-7.877-0.423-11.631-1.779-14.813-4.602-3.183-2.751-6.498-7.891-6.527-15.855-0.457-10.677 3.355-19.674 4.104-33.678 0.234-8.244-1.521-16.563-2.17-25.268-0.681-9.983-1.8-18.455 0.327-19. [...]
+   <path fill="#cc9200" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-21.061 11.232-32.652 17.712-13.141 7.524-19.908 10.979-25.272 13.788-5.616 3.888-10.368 5.939-18.828 5.292-7.56-0.468-11.195-1.728-14.363-4.536-3.168-2.736-6.444-7.632-6.517-15.264-0.54-10.656 3.313-19.549 3.96-33.229 0.181-8.352-1.764-16.596-2.483-25.38-0.757-9.972-2.017-18.433 0.107-19. [...]
+   <path fill="#d19800" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-21.164 11.195-32.808 17.568-13.057 7.318-20.019 10.695-25.466 13.33-5.473 3.571-10.03 5.592-18.263 4.879-7.243-0.516-10.761-1.678-13.914-4.472-3.153-2.722-6.391-7.372-6.506-14.674-0.623-10.634 3.27-19.422 3.816-32.778 0.126-8.459-2.005-16.627-2.797-25.49-0.832-9.961-2.232-18.412-0.112-19. [...]
+   <path fill="#d69e00" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-21.27 11.16-32.962 17.424-12.975 7.114-20.132 10.412-25.661 12.874-5.327 3.254-9.69 5.242-17.697 4.464-6.927-0.563-10.325-1.627-13.464-4.406-3.14-2.707-6.337-7.113-6.494-14.084-0.706-10.611 3.225-19.295 3.672-32.328 0.072-8.567-2.247-16.66-3.111-25.603-0.907-9.95-2.448-18.39-0.331-19.685  [...]
+   <path fill="#dba300" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-21.373 11.124-33.116 17.279-12.893 6.91-20.243 10.127-25.855 12.418-5.184 2.937-9.353 4.892-17.133 4.05-6.609-0.609-9.889-1.577-13.014-4.343-3.125-2.692-6.282-6.854-6.483-13.492-0.789-10.592 3.182-19.17 3.528-31.879 0.018-8.676-2.488-16.692-3.425-25.713-0.982-9.94-2.664-18.369-0.551-19.66 [...]
+   <path fill="#e0a900" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-21.478 11.088-33.271 17.136-12.81 6.704-20.354 9.843-26.05 11.96-5.04 2.62-9.015 4.543-16.567 3.637-6.293-0.656-9.453-1.527-12.563-4.277-3.11-2.68-6.229-6.596-6.474-12.903-0.871-10.569 3.141-19.044 3.384-31.428-0.035-8.784-2.728-16.726-3.735-25.826-1.06-9.929-2.88-18.347-0.771-19.642 3.88 [...]
+   <path fill="#e5af00" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-21.582 11.052-33.427 16.992-12.726 6.498-20.466 9.558-26.244 11.502-4.896 2.304-8.676 4.193-16.002 3.222-5.976-0.702-9.018-1.476-12.114-4.212-3.096-2.664-6.174-6.336-6.462-12.313-0.953-10.547 3.097-18.918 3.24-30.978-0.09-8.892-2.97-16.758-4.05-25.938-1.134-9.918-3.096-18.324-0.99-19.619  [...]
+   <path fill="#eab500" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-21.687 11.016-33.582 16.848-12.643 6.293-20.576 9.274-26.438 11.045-4.752 1.987-8.338 3.846-15.438 2.809-5.658-0.75-8.582-1.426-11.664-4.147-3.08-2.649-6.119-6.077-6.45-11.722-1.037-10.526 3.053-18.792 3.096-30.528-0.144-9-3.211-16.79-4.363-26.049-1.21-9.907-3.312-18.304-1.21-19.599 3.889 [...]
+   <path fill="#efba00" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-21.791 10.98-33.735 16.703-12.562 6.089-20.69 8.99-26.633 10.589-4.608 1.67-7.999 3.496-14.872 2.394-5.343-0.796-8.147-1.375-11.215-4.082-3.066-2.636-6.065-5.818-6.439-11.132-1.12-10.504 3.009-18.666 2.952-30.077-0.198-9.109-3.453-16.822-4.677-26.162-1.285-9.896-3.528-18.281-1.43-19.576 3 [...]
+   <path fill="#f4c000" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-21.896 10.943-33.891 16.561-12.478 5.883-20.801 8.704-26.827 10.131-4.464 1.353-7.661 3.146-14.307 1.979-5.025-0.843-7.711-1.325-10.765-4.019-3.053-2.621-6.012-5.558-6.429-10.541-1.203-10.482 2.966-18.539 2.809-29.627-0.253-9.217-3.694-16.855-4.99-26.272-1.361-9.886-3.744-18.261-1.649-19. [...]
+   <path fill="#f9c600" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-21.999 10.908-34.046 16.416-12.395 5.678-20.912 8.421-27.021 9.674-4.32 1.036-7.322 2.797-13.741 1.566-4.709-0.891-7.275-1.275-10.314-3.953-3.037-2.607-5.958-5.299-6.419-9.951-1.284-10.461 2.925-18.414 2.664-29.178-0.306-9.324-3.934-16.887-5.302-26.385-1.437-9.875-3.96-18.238-1.869-19.533 [...]
+   <path fill="#fc0" d="m303.631 262.529c4.464 6.479-0.145 14.904 3.096 20.089 5.328 8.496 16.056 17.063 20.16 19.439 2.952 1.8 7.128 3.527 6.983 8.783-0.216 5.977-3.168 7.561-4.823 9.217-3.313 3.313-22.104 10.872-34.2 16.271-12.313 5.473-21.024 8.137-27.217 9.217-4.176 0.72-6.983 2.447-13.176 1.151-4.392-0.937-6.84-1.224-9.864-3.888-3.023-2.592-5.903-5.04-6.407-9.359-1.368-10.441 2.88-18.289 2.52-28.729-0.36-9.432-4.176-16.92-5.616-26.496-1.512-9.864-4.176-18.217-2.088-19.512 3.889-2.37 [...]
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#fc0" d="m236.263 275.762c-0.709-0.258-3.932-15.209-2.191-16.239 3.351-1.997 4.253-2.319 8.377-2.319s6.057 0.322 7.346 1.61c2.126 2.127-1.159 6.702-2.448 7.991-3.738 3.673-10.375 9.215-11.084 8.957z"/>
+   <path fill="#ffcc02" d="m236.492 275.286c-0.77-0.326-4.102-14.719-2.368-15.742 3.344-1.992 4.278-2.211 8.322-2.211 4.124 0 5.976 0.269 7.282 1.602 2.105 2.136-1.119 6.572-2.398 7.852-3.727 3.663-10.081 8.811-10.838 8.499z"/>
+   <path fill="#ffcc05" d="m236.721 274.809c-0.832-0.393-4.273-14.229-2.547-15.247 3.339-1.983 4.306-2.101 8.269-2.101 4.124 0 5.896 0.213 7.217 1.592 2.087 2.146-1.076 6.443-2.346 7.714-3.718 3.653-9.788 8.409-10.593 8.042z"/>
+   <path fill="#ffcc07" d="m236.949 274.333c-0.892-0.461-4.443-13.74-2.722-14.75 3.331-1.979 4.33-1.992 8.213-1.992 4.124 0 5.814 0.158 7.151 1.582 2.068 2.156-1.033 6.316-2.294 7.574-3.707 3.644-9.494 8.007-10.348 7.586z"/>
+   <path fill="#ffcd0a" d="m237.178 273.855c-0.954-0.528-4.614-13.249-2.9-14.254 3.326-1.972 4.355-1.882 8.158-1.882 4.124 0 5.734 0.104 7.089 1.572 2.048 2.166-0.993 6.187-2.243 7.437-3.699 3.634-9.202 7.605-10.104 7.127z"/>
+   <path fill="#ffcd0c" d="m237.407 273.377c-1.015-0.596-4.785-12.758-3.077-13.758 3.319-1.965 4.382-1.771 8.104-1.771 4.124 0 5.653 0.049 7.023 1.563 2.029 2.176-0.951 6.057-2.19 7.299-3.69 3.623-8.91 7.201-9.86 6.667z"/>
+   <path fill="#ffcd0f" d="m237.636 272.901c-1.077-0.662-4.956-12.27-3.256-13.261 3.313-1.959 4.408-1.663 8.05-1.663 4.124 0 5.573-0.006 6.959 1.553 2.01 2.186-0.908 5.93-2.14 7.159-3.679 3.614-8.615 6.8-9.613 6.212z"/>
+   <path fill="#ffcd11" d="m237.864 272.424c-1.137-0.731-5.126-11.779-3.431-12.766 3.306-1.951 4.433-1.553 7.994-1.553 4.123 0 5.492-0.061 6.895 1.543 1.991 2.193-0.867 5.801-2.089 7.021-3.669 3.606-8.321 6.397-9.369 5.755z"/>
+   <path fill="#ffce14" d="m238.093 271.948c-1.197-0.799-5.297-11.289-3.607-12.27 3.299-1.946 4.459-1.443 7.938-1.443 4.124 0 5.412-0.115 6.83 1.533 1.973 2.204-0.824 5.671-2.037 6.883-3.659 3.596-8.028 5.993-9.124 5.297z"/>
+   <path fill="#ffce16" d="m238.322 271.471c-1.26-0.867-5.468-10.801-3.786-11.773 3.293-1.939 4.485-1.334 7.884-1.334 4.124 0 5.332-0.171 6.767 1.524 1.953 2.213-0.783 5.542-1.985 6.743-3.651 3.586-7.736 5.591-8.88 4.84z"/>
+   <path fill="#ffce19" d="m238.551 270.995c-1.32-0.935-5.639-10.312-3.963-11.277 3.286-1.934 4.511-1.225 7.829-1.225 4.124 0 5.252-0.226 6.702 1.514 1.934 2.224-0.741 5.414-1.934 6.605-3.64 3.576-7.442 5.187-8.634 4.383z"/>
+   <path fill="#ffce1c" d="m238.779 270.517c-1.382-1.002-5.809-9.821-4.14-10.781 3.279-1.926 4.535-1.114 7.774-1.114 4.124 0 5.171-0.279 6.637 1.504 1.914 2.233-0.698 5.285-1.882 6.467-3.63 3.566-7.148 4.784-8.389 3.924z"/>
+   <path fill="#ffcf1e" d="m239.008 270.04c-1.442-1.068-5.979-9.33-4.316-10.283 3.272-1.922 4.562-1.006 7.72-1.006 4.124 0 5.09-0.334 6.572 1.494 1.895 2.244-0.657 5.156-1.83 6.328-3.622 3.556-6.857 4.383-8.146 3.467z"/>
+   <path fill="#ffcf21" d="m239.237 269.563c-1.505-1.137-6.151-8.841-4.495-9.788 3.267-1.914 4.588-0.896 7.666-0.896 4.124 0 5.009-0.389 6.508 1.486 1.875 2.252-0.616 5.025-1.778 6.188-3.613 3.548-6.564 3.981-7.901 3.01z"/>
+   <path fill="#ffcf23" d="m239.466 269.086c-1.565-1.205-6.321-8.352-4.672-9.293 3.262-1.906 4.613-0.785 7.61-0.785 4.124 0 4.93-0.444 6.444 1.476 1.855 2.261-0.573 4.897-1.728 6.052-3.601 3.537-6.269 3.575-7.654 2.55z"/>
+   <path fill="#ffcf26" d="m239.694 268.61c-1.627-1.273-6.492-7.861-4.849-8.796 3.255-1.901 4.64-0.677 7.556-0.677 4.124 0 4.849-0.499 6.379 1.466 1.837 2.271-0.531 4.769-1.675 5.912-3.593 3.528-5.977 3.174-7.411 2.095z"/>
+   <path fill="#ffd028" d="m239.923 268.133c-1.688-1.34-6.663-7.373-5.025-8.301 3.248-1.895 4.665-0.566 7.501-0.566 4.124 0 4.768-0.555 6.314 1.456 1.817 2.28-0.489 4.64-1.624 5.774-3.583 3.519-5.684 2.771-7.166 1.637z"/>
+   <path fill="#ffd02b" d="m240.152 267.657c-1.749-1.408-6.834-6.883-5.203-7.805 3.241-1.889 4.69-0.457 7.446-0.457 4.124 0 4.687-0.609 6.25 1.447 1.798 2.289-0.448 4.51-1.573 5.635-3.572 3.509-5.39 2.367-6.92 1.18z"/>
+   <path fill="#ffd02d" d="m240.381 267.178c-1.811-1.475-7.005-6.391-5.381-7.307 3.235-1.881 4.717-0.348 7.393-0.348 4.124 0 4.606-0.664 6.185 1.438 1.779 2.299-0.405 4.381-1.521 5.496-3.564 3.501-5.098 1.965-6.676 0.721z"/>
+   <path fill="#ffd030" d="m240.609 266.702c-1.871-1.543-7.175-5.902-5.557-6.811 3.228-1.875 4.741-0.238 7.336-0.238 4.124 0 4.526-0.719 6.122 1.428 1.759 2.31-0.364 4.252-1.471 5.357-3.552 3.49-4.803 1.562-6.43 0.264z"/>
+   <path fill="#ffd133" d="m240.838 266.225c-1.933-1.611-7.346-5.413-5.734-6.314 3.222-1.869 4.768-0.129 7.281-0.129 4.124 0 4.446-0.773 6.058 1.418 1.74 2.318-0.322 4.123-1.418 5.219-3.545 3.48-4.512 1.16-6.187-0.194z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#fc0" d="m302.769 263.374c3.742 5.461-0.062 12.76 2.638 17.117-6.809-6.258-9.938-8.834-19.324 0.367 2.577-3.742 3.129-6.257 4.725-9.814 1.104-2.455 4.354-9.57 5.029-9.57 0.613-0.001 4.724-1.35 6.932 1.9z"/>
+   <path fill="#ffcc02" d="m302.73 263.413c3.655 5.334 0.035 12.601 2.578 16.723-6.668-6.098-9.729-8.666-18.908 0.322 2.421-3.527 3.025-6.094 4.605-9.592 1.122-2.462 4.243-9.302 4.951-9.311 0.628-0.008 4.617-1.318 6.774 1.858z"/>
+   <path fill="#ffcc05" d="m302.691 263.45c3.568 5.209 0.132 12.441 2.517 16.332-6.526-5.938-9.519-8.5-18.492 0.277 2.268-3.314 2.924-5.934 4.488-9.372 1.141-2.468 4.132-9.032 4.873-9.052 0.641-0.013 4.508-1.284 6.614 1.815z"/>
+   <path fill="#ffcc07" d="m302.652 263.487c3.48 5.086 0.229 12.282 2.457 15.939-6.386-5.777-9.311-8.332-18.076 0.232 2.111-3.1 2.819-5.771 4.369-9.15 1.158-2.475 4.021-8.762 4.795-8.791 0.655-0.019 4.399-1.254 6.455 1.77z"/>
+   <path fill="#ffcd0a" d="m302.614 263.524c3.393 4.96 0.323 12.123 2.396 15.549-6.245-5.617-9.102-8.164-17.66 0.188 1.955-2.887 2.716-5.611 4.251-8.93 1.176-2.481 3.91-8.494 4.716-8.533 0.67-0.027 4.291-1.219 6.297 1.726z"/>
+   <path fill="#ffcd0c" d="m302.575 263.562c3.306 4.835 0.419 11.964 2.335 15.155-6.104-5.457-8.891-7.996-17.244 0.143 1.8-2.673 2.613-5.449 4.133-8.707 1.194-2.488 3.8-8.225 4.638-8.273 0.684-0.036 4.182-1.189 6.138 1.682z"/>
+   <path fill="#ffcd0f" d="m302.536 263.599c3.219 4.71 0.517 11.805 2.275 14.765-5.963-5.299-8.683-7.83-16.828 0.098 1.644-2.461 2.51-5.289 4.015-8.486 1.212-2.496 3.688-7.956 4.559-8.016 0.698-0.04 4.075-1.155 5.979 1.639z"/>
+   <path fill="#ffcd11" d="m302.497 263.637c3.131 4.585 0.612 11.645 2.216 14.371-5.822-5.137-8.474-7.661-16.413 0.053 1.489-2.245 2.406-5.125 3.896-8.264 1.229-2.504 3.576-7.688 4.479-7.756 0.714-0.046 3.968-1.123 5.822 1.596z"/>
+   <path fill="#ffce14" d="m302.458 263.674c3.044 4.459 0.708 11.486 2.154 13.979-5.681-4.978-8.263-7.493-15.996 0.009 1.334-2.033 2.303-4.965 3.779-8.043 1.247-2.511 3.464-7.418 4.4-7.498 0.728-0.052 3.859-1.089 5.663 1.553z"/>
+   <path fill="#ffce16" d="m302.42 263.711c2.956 4.336 0.804 11.328 2.094 13.588-5.54-4.817-8.055-7.326-15.58-0.036 1.178-1.819 2.199-4.804 3.659-7.822 1.267-2.517 3.354-7.149 4.323-7.237 0.741-0.061 3.75-1.058 5.504 1.507z"/>
+   <path fill="#ffce19" d="m302.381 263.749c2.868 4.211 0.9 11.168 2.033 13.196-5.398-4.657-7.845-7.159-15.164-0.081 1.022-1.605 2.097-4.642 3.542-7.601 1.283-2.524 3.241-6.88 4.244-6.979 0.755-0.067 3.642-1.026 5.345 1.465z"/>
+   <path fill="#ffce1c" d="m302.342 263.788c2.78 4.084 0.997 11.008 1.973 12.803-5.258-4.498-7.635-6.991-14.748-0.127 0.867-1.391 1.994-4.479 3.424-7.379 1.302-2.531 3.13-6.61 4.166-6.719 0.768-0.074 3.532-0.992 5.185 1.422z"/>
+   <path fill="#ffcf1e" d="m302.302 263.825c2.693 3.959 1.093 10.85 1.913 12.411-5.117-4.338-7.427-6.825-14.333-0.172 0.713-1.177 1.891-4.317 3.307-7.157 1.318-2.537 3.018-6.342 4.086-6.461 0.784-0.08 3.426-0.959 5.027 1.379z"/>
+   <path fill="#ffcf21" d="m302.263 263.862c2.606 3.834 1.188 10.689 1.853 12.02-4.976-4.178-7.217-6.657-13.916-0.217 0.556-0.963 1.786-4.156 3.188-6.936 1.337-2.545 2.906-6.072 4.008-6.202 0.797-0.086 3.318-0.927 4.867 1.335z"/>
+   <path fill="#ffcf23" d="m302.225 263.899c2.519 3.71 1.285 10.531 1.791 11.628-4.835-4.019-7.008-6.489-13.5-0.262 0.4-0.75 1.684-3.994 3.068-6.714 1.356-2.553 2.797-5.805 3.931-5.943 0.813-0.093 3.209-0.895 4.71 1.291z"/>
+   <path fill="#ffcf26" d="m302.186 263.937c2.431 3.584 1.381 10.371 1.73 11.235-4.693-3.857-6.798-6.322-13.084-0.307 0.245-0.535 1.58-3.832 2.951-6.492 1.373-2.56 2.686-5.535 3.852-5.685 0.828-0.1 3.101-0.861 4.551 1.249z"/>
+   <path fill="#ffd028" d="m302.147 263.974c2.344 3.46 1.477 10.213 1.671 10.845-4.553-3.699-6.589-6.156-12.668-0.354 0.089-0.321 1.477-3.67 2.832-6.271 1.392-2.565 2.574-5.267 3.772-5.425 0.842-0.104 2.994-0.828 4.393 1.205z"/>
+   <path fill="#ffd02b" d="m302.108 264.012c2.257 3.334 1.573 10.053 1.61 10.451-4.412-3.537-6.38-5.987-12.253-0.396-0.064-0.109 1.374-3.51 2.716-6.05 1.408-2.573 2.462-4.997 3.693-5.166 0.856-0.112 2.886-0.796 4.234 1.161z"/>
+   <path fill="#ffd02d" d="m302.069 264.049c2.17 3.209 1.67 9.894 1.55 10.061-4.271-3.379-6.17-5.82-11.836-0.441-0.221 0.104 1.271-3.35 2.596-5.83 1.428-2.58 2.352-4.728 3.615-4.906 0.87-0.12 2.777-0.765 4.075 1.116z"/>
+   <path fill="#ffd030" d="m302.03 264.086c2.082 3.084 1.767 9.736 1.49 9.668-4.131-3.219-5.961-5.652-11.42-0.486-0.377 0.318 1.167-3.188 2.478-5.607 1.445-2.586 2.239-4.459 3.536-4.647 0.884-0.127 2.669-0.732 3.916 1.072z"/>
+   <path fill="#ffd133" d="m301.991 264.124c1.995 2.959 1.862 9.576 1.43 9.277-3.989-3.059-5.752-5.486-11.005-0.531-0.532 0.531 1.064-3.027 2.36-5.387 1.463-2.594 2.128-4.189 3.458-4.389 0.899-0.133 2.561-0.699 3.757 1.03z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#fc0" d="m305.862 283.481c5.977 7.848 17.064 16.271 21.024 18.576 2.88 1.656 7.056 3.6 6.983 8.783-0.144 5.904-3.168 7.561-4.823 9.217-3.313 3.313-22.177 10.943-34.2 16.271-12.24 5.4-21.097 8.209-27.217 9.217-4.104 0.647-7.056 2.375-13.176 1.151-4.32-0.864-6.912-1.296-9.864-3.888-2.951-2.52-5.976-5.184-6.407-9.359-1.225-10.369 3.672-16.921 8.424-25.921 3.888-7.2 11.735-8.64 16.632-7.991 17.568 2.375 16.416-8.641 21.24-13.465 4.464-4.463 17.208-8.064 21.384-2.591z"/>
+   <path fill="#ffcc02" d="m305.81 283.553c5.962 7.83 17.024 16.234 20.975 18.533 2.873 1.652 7.039 3.592 6.969 8.764-0.145 5.891-3.161 7.542-4.813 9.195-3.304 3.304-22.34 10.992-34.24 16.088-12.259 5.176-20.647 7.873-26.802 8.959-4.077 0.684-7.156 2.394-13.258 1.177-4.304-0.854-6.767-1.231-9.707-3.812-2.939-2.51-5.756-4.961-6.185-9.117-1.211-10.34 3.365-16.657 8.044-25.65 3.89-7.375 11.791-8.434 16.665-7.777 17.514 2.414 16.206-8.959 21.02-13.772 4.452-4.454 17.166-8.047 21.332-2.588z"/>
+   <path fill="#ffcc05" d="m305.76 283.627c5.946 7.812 16.982 16.195 20.925 18.488 2.866 1.648 7.022 3.584 6.951 8.743-0.144 5.876-3.153 7.524-4.801 9.173-3.298 3.297-22.506 11.043-34.28 15.907-12.279 4.949-20.201 7.538-26.389 8.699-4.051 0.721-7.256 2.413-13.341 1.202-4.286-0.846-6.619-1.168-9.55-3.733-2.924-2.501-5.536-4.741-5.959-8.877-1.198-10.312 3.058-16.394 7.664-25.379 3.89-7.552 11.845-8.229 16.698-7.563 17.458 2.453 15.995-9.279 20.797-14.08 4.443-4.443 17.127-8.026 21.285-2.58z"/>
+   <path fill="#ffcc07" d="m305.707 283.702c5.935 7.791 16.943 16.156 20.876 18.444 2.859 1.644 7.007 3.574 6.935 8.722-0.144 5.862-3.146 7.508-4.79 9.151-3.288 3.289-22.668 11.093-34.319 15.726-12.298 4.723-19.753 7.202-25.974 8.44-4.024 0.756-7.357 2.431-13.423 1.226-4.27-0.836-6.473-1.101-9.394-3.654-2.911-2.492-5.317-4.52-5.735-8.635-1.185-10.285 2.75-16.133 7.284-25.109 3.892-7.727 11.9-8.023 16.731-7.35 17.402 2.494 15.785-9.599 20.575-14.389 4.433-4.432 17.087-8.007 21.234-2.572z"/>
+   <path fill="#ffcd0a" d="m305.655 283.774c5.92 7.773 16.904 16.119 20.826 18.4 2.854 1.642 6.99 3.566 6.919 8.703-0.143 5.848-3.138 7.488-4.779 9.129-3.28 3.281-22.832 11.143-34.358 15.543-12.317 4.498-19.307 6.867-25.561 8.182-3.997 0.793-7.457 2.45-13.506 1.251-4.252-0.828-6.325-1.036-9.236-3.577-2.896-2.482-5.096-4.298-5.51-8.393-1.172-10.258 2.443-15.869 6.904-24.84 3.892-7.901 11.955-7.818 16.763-7.135 17.349 2.532 15.576-9.918 20.355-14.697 4.422-4.422 17.046-7.987 21.183-2.566z"/>
+   <path fill="#ffcd0c" d="m305.603 283.847c5.906 7.756 16.864 16.081 20.777 18.358 2.846 1.635 6.973 3.557 6.901 8.68-0.142 5.835-3.131 7.472-4.767 9.107-3.273 3.273-22.997 11.193-34.399 15.361-12.337 4.273-18.858 6.533-25.146 7.924-3.971 0.829-7.557 2.469-13.588 1.276-4.234-0.82-6.179-0.972-9.078-3.5-2.884-2.474-4.878-4.076-5.287-8.152-1.158-10.229 2.137-15.606 6.523-24.569 3.895-8.076 12.01-7.611 16.797-6.92 17.293 2.571 15.366-10.236 20.134-15.004 4.412-4.411 17.006-7.969 21.133-2.561z"/>
+   <path fill="#ffcd0f" d="m305.552 283.92c5.892 7.736 16.824 16.043 20.728 18.313 2.839 1.634 6.957 3.55 6.886 8.66-0.142 5.821-3.124 7.454-4.756 9.086-3.266 3.267-23.161 11.243-34.438 15.179-12.356 4.047-18.411 6.198-24.733 7.666-3.943 0.865-7.656 2.486-13.67 1.301-4.218-0.812-6.032-0.908-8.922-3.422-2.869-2.465-4.656-3.855-5.063-7.91-1.145-10.203 1.83-15.344 6.145-24.299 3.895-8.252 12.064-7.408 16.83-6.707 17.237 2.61 15.154-10.557 19.912-15.313 4.399-4.399 16.963-7.949 21.081-2.554z"/>
+   <path fill="#ffcd11" d="m305.501 283.993c5.877 7.719 16.782 16.004 20.678 18.271 2.833 1.628 6.939 3.54 6.869 8.639-0.143 5.807-3.116 7.436-4.745 9.064-3.257 3.258-23.324 11.293-34.479 14.996-12.375 3.822-17.963 5.863-24.319 7.408-3.917 0.9-7.757 2.504-13.752 1.324-4.2-0.802-5.886-0.842-8.765-3.344-2.856-2.454-4.438-3.633-4.838-7.669-1.132-10.173 1.521-15.081 5.764-24.029 3.896-8.426 12.119-7.2 16.863-6.491 17.183 2.649 14.945-10.875 19.689-15.621 4.391-4.389 16.926-7.93 21.035-2.548z"/>
+   <path fill="#ffce14" d="m305.448 284.066c5.863 7.701 16.743 15.966 20.629 18.228 2.826 1.625 6.924 3.531 6.853 8.619-0.142 5.793-3.108 7.418-4.733 9.043-3.25 3.25-23.489 11.342-34.518 14.813-12.396 3.598-17.517 5.529-23.905 7.148-3.891 0.938-7.857 2.524-13.834 1.351-4.185-0.793-5.74-0.776-8.609-3.267-2.841-2.444-4.217-3.412-4.613-7.426-1.118-10.146 1.216-14.818 5.385-23.76 3.896-8.602 12.174-6.996 16.896-6.277 17.128 2.688 14.735-11.195 19.468-15.929 4.378-4.38 16.883-7.911 20.981-2.543z"/>
+   <path fill="#ffce16" d="m305.396 284.139c5.85 7.682 16.703 15.928 20.579 18.184 2.82 1.62 6.907 3.523 6.837 8.598-0.141 5.779-3.101 7.4-4.722 9.021-3.242 3.242-23.653 11.393-34.559 14.631-12.414 3.372-17.068 5.194-23.491 6.891-3.862 0.975-7.957 2.543-13.917 1.375-4.167-0.783-5.592-0.713-8.451-3.188-2.827-2.437-3.997-3.19-4.389-7.187-1.105-10.117 0.908-14.555 5.004-23.487 3.898-8.776 12.229-6.79 16.928-6.063 17.074 2.728 14.525-11.515 19.248-16.236 4.37-4.371 16.845-7.894 20.933-2.539z"/>
+   <path fill="#ffce19" d="m305.344 284.211c5.836 7.664 16.663 15.891 20.529 18.141 2.813 1.617 6.892 3.516 6.82 8.578-0.14 5.765-3.093 7.382-4.71 8.999-3.235 3.233-23.817 11.442-34.598 14.448-12.434 3.146-16.621 4.859-23.077 6.633-3.837 1.01-8.058 2.561-13.999 1.4-4.15-0.775-5.446-0.648-8.295-3.111-2.814-2.426-3.777-2.969-4.164-6.944-1.094-10.09 0.601-14.293 4.624-23.22 3.898-8.951 12.282-6.584 16.961-5.848 17.019 2.767 14.314-11.834 19.025-16.545 4.361-4.359 16.806-7.872 20.884-2.531z"/>
+   <path fill="#ffce1c" d="m305.292 284.286c5.822 7.646 16.623 15.852 20.481 18.096 2.806 1.613 6.874 3.507 6.804 8.558-0.141 5.751-3.086 7.364-4.699 8.978-3.227 3.227-23.981 11.492-34.638 14.267-12.453 2.921-16.173 4.524-22.663 6.374-3.81 1.046-8.158 2.578-14.082 1.424-4.133-0.766-5.299-0.583-8.137-3.033-2.801-2.416-3.558-2.748-3.94-6.703-1.08-10.062 0.293-14.029 4.244-22.947 3.9-9.127 12.338-6.379 16.994-5.635 16.964 2.805 14.105-12.152 18.805-16.853 4.348-4.351 16.763-7.856 20.831-2.526z"/>
+   <path fill="#ffcf1e" d="m305.241 284.358c5.808 7.627 16.582 15.814 20.432 18.053 2.799 1.609 6.856 3.498 6.787 8.536-0.141 5.738-3.079 7.347-4.688 8.957-3.219 3.218-24.145 11.541-34.677 14.084-12.473 2.695-15.727 4.188-22.25 6.115-3.783 1.083-8.258 2.599-14.163 1.448-4.116-0.756-5.153-0.518-7.981-2.954-2.786-2.408-3.337-2.526-3.716-6.462-1.066-10.034-0.013-13.766 3.864-22.678 3.901-9.303 12.393-6.172 17.027-5.42 16.908 2.844 13.896-12.473 18.583-17.16 4.338-4.337 16.723-7.835 20.782-2 [...]
+   <path fill="#ffcf21" d="m305.189 284.431c5.793 7.608 16.542 15.776 20.382 18.009 2.792 1.605 6.84 3.49 6.771 8.516-0.14 5.725-3.071 7.33-4.677 8.936-3.211 3.211-24.309 11.591-34.717 13.902-12.491 2.47-15.278 3.854-21.836 5.856-3.756 1.119-8.357 2.616-14.246 1.474-4.099-0.748-5.006-0.453-7.823-2.877-2.772-2.398-3.118-2.306-3.492-6.22-1.053-10.007-0.319-13.505 3.484-22.407 3.903-9.479 12.448-5.969 17.062-5.207 16.853 2.883 13.684-12.791 18.36-17.469 4.328-4.328 16.683-7.819 20.732-2.513z"/>
+   <path fill="#ffcf23" d="m305.137 284.504c5.778 7.59 16.503 15.736 20.332 17.965 2.786 1.602 6.825 3.482 6.755 8.496-0.139 5.709-3.064 7.311-4.665 8.912-3.204 3.203-24.474 11.642-34.759 13.721-12.51 2.244-14.829 3.52-21.421 5.598-3.729 1.155-8.457 2.635-14.327 1.499-4.082-0.739-4.86-0.389-7.667-2.8-2.76-2.389-2.897-2.083-3.268-5.979-1.04-9.979-0.627-13.24 3.104-22.138 3.903-9.653 12.503-5.762 17.093-4.991 16.799 2.922 13.475-13.111 18.141-17.777 4.318-4.316 16.643-7.799 20.682-2.506z"/>
+   <path fill="#ffcf26" d="m305.086 284.579c5.765 7.57 16.463 15.697 20.282 17.92 2.779 1.599 6.809 3.474 6.738 8.476-0.139 5.696-3.056 7.293-4.654 8.892-3.194 3.194-24.637 11.69-34.797 13.536-12.529 2.021-14.382 3.185-21.007 5.341-3.703 1.191-8.559 2.652-14.411 1.523-4.065-0.73-4.713-0.324-7.509-2.723-2.745-2.379-2.679-1.861-3.043-5.735-1.027-9.952-0.936-12.979 2.724-21.868 3.905-9.828 12.557-5.557 17.126-4.777 16.744 2.961 13.265-13.431 17.919-18.084 4.307-4.309 16.602-7.783 20.632-2.501z"/>
+   <path fill="#ffd028" d="m305.033 284.651c5.752 7.553 16.423 15.66 20.234 17.878 2.771 1.593 6.791 3.464 6.722 8.454-0.139 5.682-3.049 7.275-4.643 8.869-3.188 3.188-24.801 11.74-34.838 13.355-12.548 1.793-13.935 2.85-20.593 5.082-3.676 1.228-8.658 2.67-14.493 1.547-4.048-0.721-4.565-0.258-7.353-2.644-2.731-2.37-2.457-1.64-2.818-5.495-1.014-9.923-1.242-12.716 2.345-21.597 3.905-10.004 12.611-5.351 17.158-4.563 16.689 3 13.055-13.75 17.698-18.393 4.297-4.295 16.562-7.761 20.581-2.493z"/>
+   <path fill="#ffd02b" d="m304.982 284.724c5.737 7.534 16.382 15.622 20.184 17.834 2.766 1.59 6.774 3.456 6.705 8.433-0.138 5.67-3.041 7.26-4.631 8.85-3.18 3.179-24.966 11.789-34.877 13.172-12.568 1.568-13.487 2.515-20.179 4.824-3.65 1.263-8.759 2.688-14.575 1.572-4.031-0.713-4.42-0.195-7.196-2.566-2.718-2.361-2.238-1.42-2.594-5.254-1.001-9.896-1.549-12.453 1.964-21.328 3.907-10.178 12.666-5.145 17.192-4.348 16.634 3.039 12.844-14.068 17.476-18.701 4.285-4.286 16.521-7.743 20.531-2.488z"/>
+   <path fill="#ffd02d" d="m304.93 284.797c5.723 7.516 16.342 15.584 20.135 17.789 2.758 1.588 6.758 3.449 6.688 8.414-0.138 5.654-3.034 7.24-4.619 8.826-3.173 3.172-25.13 11.84-34.918 12.99-12.587 1.344-13.039 2.18-19.766 4.564-3.622 1.301-8.856 2.709-14.657 1.599-4.014-0.704-4.272-0.13-7.039-2.489-2.702-2.352-2.018-1.197-2.369-5.012-0.987-9.868-1.855-12.189 1.584-21.057 3.908-10.354 12.722-4.94 17.226-4.135 16.578 3.078 12.634-14.389 17.254-19.009 4.275-4.273 16.481-7.721 20.481-2.48z"/>
+   <path fill="#ffd030" d="m304.879 284.87c5.709 7.498 16.302 15.547 20.085 17.748 2.752 1.582 6.741 3.438 6.673 8.391-0.139 5.642-3.027 7.224-4.609 8.806-3.164 3.164-25.293 11.89-34.956 12.808-12.606 1.119-12.592 1.844-19.352 4.308-3.596 1.336-8.958 2.726-14.739 1.622-3.997-0.695-4.127-0.065-6.882-2.411-2.69-2.343-1.799-0.976-2.146-4.771-0.974-9.84-2.163-11.928 1.204-20.787 3.91-10.529 12.777-4.734 17.258-3.92 16.524 3.117 12.424-14.707 17.034-19.316 4.263-4.267 16.439-7.706 20.43-2.478z"/>
+   <path fill="#ffd133" d="m304.826 284.943c5.695 7.479 16.263 15.509 20.036 17.703 2.745 1.579 6.726 3.431 6.656 8.372-0.137 5.627-3.02 7.205-4.597 8.783-3.157 3.156-25.458 11.939-34.997 12.625-12.626 0.893-12.145 1.51-18.938 4.049-3.569 1.373-9.058 2.745-14.822 1.646-3.979-0.686-3.979 0-6.725-2.332-2.676-2.334-1.578-0.756-1.921-4.529-0.961-9.813-2.471-11.665 0.824-20.516 3.91-10.705 12.83-4.529 17.29-3.707 16.47 3.156 12.215-15.027 16.813-19.625 4.255-4.253 16.401-7.684 20.381-2.469z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#995900" d="m52.494 273.618c-6.479 4.68-22.896 4.248-27.072 9.719-4.104 5.473 0.145 13.393 0.072 28.08 0 6.265-1.08 11.017-1.8 14.832-1.008 4.824-1.656 8.209 0.36 11.664 3.672 6.121 9.575 7.633 43.344 14.688 18.072 3.744 35.136 13.464 46.584 14.399 11.448 0.865 13.896-2.951 20.88-9.144 6.912-6.192 9.144-4.248 8.928-17.856-0.216-13.535-8.928-17.567-18.792-33.191s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-8.208 13.2 [...]
+   <path fill="#9e5e00" d="m52.598 273.905c-6.397 4.702-22.475 3.788-27.062 9.512-4.154 5.414 0.228 13.276 0.098 27.955-0.025 6.23-1.152 10.881-1.937 14.877-1.037 4.871-1.678 8.201 0.349 11.619 3.787 6.162 9.695 7.123 43.456 14.168 18.061 3.737 34.541 13.307 46.343 14.112 11.186 0.792 13.564-2.829 20.463-8.96 6.896-6.195 9.024-4.277 8.858-17.406-0.075-13.521-8.305-17.349-18.169-32.973s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-8 [...]
+   <path fill="#a36400" d="m52.703 274.193c-6.314 4.724-22.054 3.327-27.051 9.304-4.204 5.356 0.31 13.16 0.123 27.828-0.051 6.198-1.225 10.748-2.074 14.924-1.065 4.918-1.699 8.194 0.339 11.571 3.902 6.206 9.813 6.617 43.567 13.651 18.05 3.73 33.948 13.146 46.101 13.824 10.923 0.72 13.234-2.707 20.045-8.777 6.885-6.199 8.907-4.305 8.792-16.956 0.064-13.507-7.683-17.129-17.547-32.753s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-8.1  [...]
+   <path fill="#a86a00" d="m52.807 274.481c-6.231 4.745-21.633 2.866-27.04 9.094-4.255 5.299 0.393 13.047 0.148 27.702-0.076 6.167-1.297 10.616-2.211 14.972-1.095 4.965-1.721 8.188 0.328 11.524 4.018 6.25 9.932 6.108 43.679 13.134 18.039 3.721 33.354 12.988 45.86 13.535 10.659 0.648 12.902-2.585 19.627-8.593 6.869-6.203 8.788-4.335 8.723-16.507 0.205-13.492-7.06-16.909-16.924-32.533s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-8.0 [...]
+   <path fill="#ad7000" d="m52.912 274.769c-6.149 4.767-21.211 2.405-27.029 8.885-4.306 5.242 0.476 12.931 0.173 27.576-0.101 6.136-1.368 10.483-2.347 15.019-1.123 5.012-1.742 8.181 0.316 11.478 4.133 6.293 10.052 5.603 43.791 12.614 18.028 3.716 32.76 12.83 45.619 13.248 10.396 0.576 12.57-2.463 19.21-8.409 6.854-6.206 8.668-4.363 8.653-16.056 0.347-13.479-6.437-16.69-16.301-32.314s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7.9 [...]
+   <path fill="#b27500" d="m53.016 275.057c-6.066 4.787-20.79 1.943-27.019 8.676-4.355 5.184 0.559 12.816 0.198 27.45-0.126 6.103-1.44 10.351-2.484 15.065-1.151 5.059-1.764 8.172 0.307 11.431 4.248 6.336 10.17 5.094 43.901 12.096 18.019 3.708 32.166 12.672 45.378 12.96 10.135 0.504 12.24-2.34 18.792-8.227 6.841-6.209 8.551-4.391 8.586-15.605 0.486-13.464-5.813-16.47-15.678-32.094s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7.937  [...]
+   <path fill="#b77b00" d="m53.121 275.344c-5.983 4.811-20.369 1.484-27.008 8.469-4.406 5.126 0.641 12.7 0.224 27.324-0.151 6.068-1.512 10.216-2.621 15.111-1.181 5.105-1.785 8.166 0.295 11.385 4.363 6.379 10.289 4.586 44.014 11.576 18.008 3.701 31.572 12.515 45.137 12.672 9.872 0.433 11.909-2.217 18.375-8.041 6.825-6.215 8.431-4.422 8.518-15.156 0.627-13.45-5.191-16.251-15.056-31.875s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7. [...]
+   <path fill="#bc8100" d="m53.225 275.633c-5.9 4.832-19.948 1.023-26.997 8.259-4.457 5.069 0.724 12.585 0.249 27.198-0.177 6.037-1.584 10.082-2.758 15.158-1.21 5.152-1.808 8.158 0.284 11.338 4.479 6.422 10.407 4.078 44.125 11.059 17.997 3.693 30.979 12.355 44.896 12.384 9.608 0.36 11.578-2.095 17.957-7.858 6.812-6.217 8.313-4.449 8.45-14.707 0.766-13.435-4.569-16.03-14.434-31.654s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7.829 [...]
+   <path fill="#c18700" d="m53.329 275.92c-5.817 4.854-19.526 0.563-26.985 8.051-4.507 5.011 0.807 12.47 0.273 27.072-0.201 6.004-1.655 9.949-2.894 15.205-1.239 5.199-1.829 8.151 0.273 11.291 4.594 6.465 10.526 3.57 44.236 10.541 17.985 3.686 30.384 12.196 44.655 12.096 9.345 0.287 11.245-1.973 17.539-7.676 6.797-6.221 8.193-4.479 8.381-14.256 0.906-13.42-3.946-15.812-13.811-31.436s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7.77 [...]
+   <path fill="#c68c00" d="m53.433 276.209c-5.734 4.875-19.104 0.101-26.975 7.84-4.558 4.955 0.89 12.355 0.299 26.947-0.227 5.973-1.728 9.816-3.031 15.252-1.267 5.246-1.851 8.145 0.263 11.244 4.709 6.508 10.646 3.063 44.349 10.022 17.975 3.679 29.79 12.038 44.413 11.808 9.083 0.217 10.915-1.851 17.122-7.492 6.782-6.224 8.074-4.506 8.313-13.806 1.048-13.405-3.323-15.592-13.188-31.216s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7.7 [...]
+   <path fill="#cc9200" d="m53.538 276.497c-5.651 4.896-18.684-0.359-26.964 7.633-4.607 4.896 0.972 12.24 0.324 26.82-0.252 5.939-1.8 9.684-3.168 15.299-1.296 5.293-1.872 8.137 0.252 11.196 4.824 6.552 10.764 2.556 44.46 9.505 17.964 3.672 29.196 11.879 44.172 11.52 8.82 0.144 10.584-1.729 16.704-7.309 6.768-6.228 7.956-4.535 8.244-13.355 1.188-13.393-2.7-15.372-12.564-30.996s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7.668 15.5 [...]
+   <path fill="#d19800" d="m53.642 276.786c-5.569 4.918-18.263-0.82-26.953 7.424-4.658 4.838 1.055 12.123 0.35 26.693-0.277 5.907-1.872 9.551-3.305 15.346-1.325 5.34-1.894 8.129 0.241 11.15 4.938 6.596 10.883 2.048 44.571 8.984 17.953 3.666 28.602 11.723 43.931 11.232 8.558 0.072 10.253-1.605 16.287-7.123 6.753-6.232 7.837-4.566 8.175-12.906 1.329-13.379-2.077-15.153-11.941-30.777s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7.614 [...]
+   <path fill="#d69e00" d="m53.747 277.073c-5.486 4.94-17.842-1.281-26.942 7.215-4.709 4.781 1.138 12.01 0.374 26.568-0.302 5.875-1.943 9.417-3.441 15.393-1.354 5.387-1.915 8.123 0.23 11.104 5.055 6.639 11.002 1.541 44.684 8.467 17.942 3.658 28.008 11.563 43.688 10.944 8.296 0 9.923-1.483 15.869-6.941 6.74-6.235 7.72-4.593 8.108-12.456 1.468-13.363-1.455-14.933-11.319-30.557s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7.56 16.012 [...]
+   <path fill="#dba300" d="m53.851 277.361c-5.403 4.962-17.421-1.741-26.932 7.007-4.759 4.723 1.221 11.893 0.399 26.441-0.327 5.843-2.016 9.283-3.578 15.439-1.383 5.434-1.937 8.115 0.22 11.057 5.169 6.682 11.12 1.033 44.795 7.949 17.932 3.649 27.414 11.404 43.448 10.656 8.031-0.072 9.59-1.361 15.451-6.758 6.725-6.238 7.6-4.623 8.039-12.006 1.609-13.35-0.832-14.714-10.696-30.338s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7.504 16 [...]
+   <path fill="#e0a900" d="m53.956 277.649c-5.321 4.982-16.999-2.203-26.921 6.797-4.81 4.666 1.303 11.779 0.425 26.316-0.353 5.811-2.088 9.15-3.715 15.486-1.411 5.48-1.959 8.108 0.208 11.01 5.285 6.725 11.239 0.525 44.907 7.431 17.92 3.644 26.819 11.246 43.207 10.368 7.769-0.145 9.259-1.239 15.034-6.574 6.71-6.242 7.479-4.65 7.97-11.557 1.75-13.334-0.209-14.493-10.073-30.117s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7.452 16.47 [...]
+   <path fill="#e5af00" d="m54.06 277.937c-5.238 5.004-16.578-2.664-26.91 6.588-4.86 4.608 1.386 11.664 0.45 26.19-0.378 5.777-2.16 9.018-3.853 15.533-1.439 5.526-1.979 8.101 0.198 10.963 5.4 6.768 11.358 0.018 45.018 6.912 17.91 3.635 26.227 11.088 42.967 10.08 7.506-0.217 8.928-1.117 14.615-6.391 6.696-6.246 7.362-4.68 7.902-11.105 1.89-13.32 0.414-14.274-9.45-29.898s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7.397 16.704-13.1 [...]
+   <path fill="#eab500" d="m54.165 278.225c-5.155 5.025-16.157-3.124-26.899 6.38-4.91 4.55 1.469 11.548 0.476 26.063-0.403 5.746-2.232 8.885-3.989 15.58-1.469 5.573-2.002 8.094 0.188 10.916 5.515 6.812 11.477-0.49 45.129 6.394 17.899 3.629 25.633 10.93 42.725 9.792 7.243-0.288 8.598-0.993 14.199-6.206 6.681-6.25 7.243-4.709 7.833-10.656 2.031-13.306 1.037-14.055-8.827-29.679s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7.346 16.93 [...]
+   <path fill="#efba00" d="m54.269 278.513c-5.073 5.048-15.736-3.585-26.889 6.171-4.961 4.492 1.552 11.434 0.5 25.938-0.428 5.713-2.304 8.752-4.125 15.627-1.498 5.621-2.023 8.086 0.176 10.869 5.631 6.854 11.596-0.996 45.241 5.875 17.889 3.623 25.038 10.771 42.483 9.504 6.981-0.359 8.266-0.871 13.781-6.022 6.668-6.253 7.125-4.737 7.766-10.206 2.17-13.291 1.659-13.835-8.205-29.459s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7.289 1 [...]
+   <path fill="#f4c000" d="m54.374 278.801c-4.99 5.068-15.314-4.047-26.878 5.962-5.012 4.435 1.634 11.317 0.525 25.812-0.453 5.682-2.376 8.618-4.263 15.674-1.526 5.668-2.045 8.08 0.166 10.822 5.745 6.898 11.714-1.505 45.353 5.357 17.878 3.613 24.444 10.613 42.243 9.216 6.717-0.433 7.934-0.749 13.362-5.839 6.653-6.258 7.007-4.768 7.697-9.756 2.312-13.277 2.282-13.616-7.582-29.24s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7.235 17 [...]
+   <path fill="#f9c600" d="m54.477 279.088c-4.906 5.092-14.893-4.506-26.866 5.754-5.062 4.377 1.717 11.203 0.551 25.686-0.479 5.648-2.448 8.485-4.399 15.721-1.555 5.715-2.066 8.072 0.155 10.775 5.86 6.941 11.833-2.012 45.464 4.839 17.867 3.607 23.851 10.454 42.001 8.929 6.455-0.504 7.604-0.627 12.946-5.656 6.638-6.26 6.886-4.795 7.628-9.307 2.452-13.262 2.905-13.396-6.959-29.02s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7.182 17 [...]
+   <path fill="#fc0" d="m54.582 279.377c-4.823 5.111-14.472-4.969-26.855 5.543-5.112 4.32 1.8 11.088 0.576 25.561-0.504 5.616-2.521 8.352-4.536 15.768-1.584 5.76-2.088 8.064 0.144 10.729 5.977 6.984 11.952-2.52 45.576 4.32 17.856 3.6 23.256 10.295 41.76 8.64 6.192-0.576 7.272-0.504 12.528-5.472 6.624-6.264 6.768-4.824 7.56-8.856 2.592-13.248 3.528-13.176-6.336-28.8s-11.448-18.504-18-28.872c-6.552-10.224-19.512-28.8-26.928-29.017-5.904-0.144-9.216 3.024-12.888 6.769s-7.129 17.855-12.601 2 [...]
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#fc0" d="m57.701 285.002c-4.278 4.539-18.28-1.36-24.892 3.631-4.732 3.5 2.398 7.908 1.426 20.873-0.389 4.926-3.824 5.834-2.398 12.64 1.103 5.121 2.27 4.991 4.214 7.325 5.315 6.223 4.084 1.686 34.355 7.777 16.011 3.242 20.938 9.271 37.596 7.779 5.575-0.518 6.612-0.453 11.279-4.926 5.964-5.575 2.917-4.408 3.565-7.973 2.269-11.863 0.453-13.938-8.428-28.004-8.88-14.066-8.102-14.844-13.936-24.113-5.834-9.141-13.872-25.799-20.549-25.93-5.25-0.129-8.297 2.723-11.603 6.094-3.305 3 [...]
+   <path fill="#ffcc02" d="m57.995 285.094c-4.461 4.701-18.604-1.196-25.06 3.705-4.701 3.514 2.578 8.05 1.608 20.68-0.4 4.896-3.733 5.877-2.458 12.634 0.986 5.093 2.357 4.938 4.334 7.201 5.686 6.131 4.673 1.826 34.119 7.743 15.918 3.211 20.815 9.215 37.372 7.732 5.541-0.513 6.479-0.463 11.155-4.849 5.865-5.407 2.858-4.287 3.412-8.058 2.066-11.787 0.442-13.981-8.188-27.649-8.83-13.983-8.143-14.698-13.941-23.913-5.8-9.085-13.701-25.805-20.338-25.934-5.219-0.129-8.248 2.705-11.533 6.057-3.2 [...]
+   <path fill="#ffcc05" d="m58.289 285.185c-4.644 4.866-18.93-1.031-25.229 3.78-4.669 3.527 2.759 8.191 1.792 20.488-0.413 4.866-3.642 5.918-2.519 12.625 0.872 5.066 2.447 4.887 4.455 7.078 6.057 6.04 5.263 1.969 33.883 7.709 15.825 3.18 20.693 9.159 37.148 7.686 5.508-0.506 6.345-0.471 11.03-4.77 5.768-5.24 2.803-4.168 3.26-8.142 1.865-11.716 0.432-14.027-7.949-27.298-8.78-13.899-8.183-14.553-13.948-23.713-5.764-9.03-13.529-25.811-20.126-25.938-5.188-0.129-8.198 2.688-11.465 6.021-3.266 [...]
+   <path fill="#ffcc07" d="m58.584 285.276c-4.827 5.03-19.255-0.865-25.397 3.855-4.639 3.541 2.938 8.332 1.975 20.295-0.425 4.838-3.551 5.961-2.578 12.619 0.757 5.039 2.536 4.834 4.575 6.955 6.428 5.949 5.852 2.108 33.646 7.674 15.733 3.147 20.571 9.103 36.925 7.639 5.475-0.501 6.211-0.48 10.905-4.693 5.67-5.072 2.745-4.045 3.107-8.224 1.663-11.642 0.42-14.073-7.711-26.946-8.73-13.814-8.223-14.406-13.952-23.511-5.729-8.976-13.358-25.817-19.916-25.944-5.156-0.127-8.148 2.674-11.396 5.984s [...]
+   <path fill="#ffcd0a" d="m58.878 285.368c-5.01 5.193-19.579-0.701-25.565 3.93-4.607 3.555 3.117 8.475 2.157 20.102-0.437 4.809-3.459 6.004-2.639 12.613 0.643 5.011 2.626 4.781 4.695 6.83 6.799 5.857 6.442 2.25 33.411 7.64 15.641 3.118 20.45 9.048 36.701 7.593 5.44-0.494 6.076-0.488 10.781-4.615 5.57-4.904 2.688-3.926 2.954-8.308 1.462-11.569 0.409-14.118-7.472-26.593-8.68-13.732-8.263-14.262-13.958-23.311-5.695-8.922-13.188-25.824-19.705-25.951-5.125-0.127-8.1 2.658-11.326 5.949-3.227  [...]
+   <path fill="#ffcd0c" d="m59.173 285.458c-5.193 5.358-19.905-0.535-25.734 4.008-4.577 3.566 3.297 8.613 2.34 19.908-0.449 4.778-3.368 6.045-2.698 12.605 0.526 4.982 2.715 4.729 4.815 6.707 7.17 5.766 7.031 2.391 33.175 7.604 15.549 3.088 20.328 8.994 36.477 7.547 5.408-0.488 5.943-0.498 10.657-4.537 5.472-4.737 2.63-3.805 2.802-8.393 1.261-11.494 0.398-14.162-7.232-26.24-8.63-13.647-8.304-14.117-13.964-23.109-5.66-8.867-13.017-25.829-19.494-25.956-5.094-0.126-8.05 2.642-11.257 5.912-3. [...]
+   <path fill="#ffcd0f" d="m59.467 285.547c-5.376 5.523-20.229-0.369-25.903 4.084-4.545 3.58 3.478 8.756 2.523 19.715-0.461 4.75-3.277 6.088-2.758 12.599 0.411 4.955 2.804 4.677 4.936 6.584 7.541 5.675 7.621 2.532 32.938 7.569 15.456 3.056 20.206 8.938 36.253 7.5 5.375-0.482 5.811-0.506 10.533-4.459 5.374-4.57 2.572-3.686 2.649-8.477 1.058-11.42 0.387-14.209-6.995-25.888-8.58-13.563-8.344-13.972-13.969-22.909-5.626-8.813-12.846-25.834-19.283-25.961-5.063-0.125-8 2.625-11.188 5.877-3.188  [...]
+   <path fill="#ffcd11" d="m59.76 285.639c-5.559 5.688-20.555-0.205-26.071 4.158-4.515 3.594 3.657 8.896 2.706 19.521-0.473 4.721-3.186 6.131-2.818 12.594 0.297 4.926 2.894 4.623 5.057 6.459 7.911 5.584 8.21 2.674 32.703 7.535 15.362 3.025 20.084 8.883 36.027 7.453 5.342-0.477 5.677-0.515 10.409-4.381 5.275-4.402 2.516-3.564 2.497-8.561 0.855-11.348 0.375-14.254-6.756-25.535-8.53-13.479-8.385-13.825-13.976-22.709-5.59-8.758-12.673-25.842-19.071-25.965-5.031-0.125-7.951 2.608-11.119 5.838 [...]
+   <path fill="#ffce14" d="m60.055 285.73c-5.742 5.851-20.88-0.04-26.24 4.233-4.483 3.607 3.837 9.039 2.889 19.33-0.485 4.69-3.095 6.172-2.878 12.584 0.182 4.9 2.982 4.572 5.177 6.338 8.282 5.492 8.8 2.814 32.467 7.498 15.271 2.996 19.962 8.828 35.804 7.408 5.309-0.472 5.543-0.523 10.285-4.304 5.177-4.235 2.458-3.444 2.344-8.644 0.654-11.273 0.364-14.299-6.518-25.184-8.479-13.395-8.425-13.679-13.98-22.507-5.556-8.704-12.502-25.849-18.86-25.972-5-0.123-7.901 2.593-11.05 5.803s-4.765 18.54 [...]
+   <path fill="#ffce16" d="m60.349 285.821c-5.925 6.016-21.205 0.125-26.408 4.309-4.453 3.621 4.017 9.18 3.07 19.137-0.496 4.662-3.002 6.215-2.938 12.579 0.066 4.872 3.072 4.518 5.298 6.213 8.653 5.401 9.389 2.956 32.23 7.464 15.178 2.964 19.84 8.771 35.58 7.361 5.275-0.465 5.409-0.532 10.159-4.225 5.079-4.068 2.401-3.324 2.192-8.729 0.452-11.2 0.354-14.346-6.279-24.831-8.429-13.312-8.464-13.534-13.985-22.306-5.521-8.65-12.331-25.854-18.649-25.978-4.969-0.123-7.853 2.577-10.98 5.767-3.12 [...]
+   <path fill="#ffce19" d="m60.643 285.911c-6.107 6.18-21.529 0.291-26.577 4.385-4.421 3.635 4.197 9.322 3.254 18.945-0.508 4.631-2.911 6.256-2.997 12.571-0.049 4.845 3.161 4.465 5.418 6.089 9.023 5.309 9.979 3.098 31.994 7.43 15.085 2.934 19.718 8.717 35.355 7.314 5.242-0.459 5.276-0.541 10.036-4.148 4.98-3.899 2.344-3.203 2.039-8.811 0.25-11.127 0.342-14.391-6.04-24.479-8.38-13.228-8.505-13.389-13.991-22.105-5.486-8.596-12.16-25.859-18.438-25.982-4.938-0.123-7.803 2.561-10.911 5.73-3.1 [...]
+   <path fill="#ffce1c" d="m60.938 286.002c-6.291 6.344-21.855 0.455-26.746 4.459-4.391 3.648 4.377 9.463 3.437 18.752-0.521 4.603-2.82 6.299-3.058 12.564-0.163 4.817 3.251 4.413 5.539 5.965 9.395 5.219 10.567 3.24 31.758 7.396 14.993 2.903 19.597 8.661 35.132 7.269 5.209-0.453 5.143-0.55 9.912-4.07 4.882-3.732 2.286-3.082 1.887-8.895 0.048-11.053 0.329-14.436-5.802-24.126-8.33-13.144-8.545-13.243-13.997-21.905-5.451-8.541-11.988-25.865-18.228-25.988-4.906-0.121-7.753 2.545-10.843 5.695- [...]
+   <path fill="#ffcf1e" d="m61.232 286.092c-6.473 6.51-22.18 0.621-26.914 4.535-4.359 3.662 4.557 9.604 3.619 18.559-0.532 4.574-2.729 6.342-3.117 12.559-0.278 4.789 3.34 4.36 5.659 5.842 9.766 5.127 11.157 3.381 31.521 7.359 14.9 2.872 19.475 8.607 34.908 7.223 5.176-0.447 5.008-0.559 9.787-3.992 4.784-3.565 2.229-2.963 1.735-8.979-0.155-10.98 0.317-14.482-5.564-23.773-8.279-13.061-8.585-13.098-14.002-21.705-5.416-8.485-11.817-25.871-18.017-25.992-4.875-0.121-7.704 2.527-10.773 5.658-3. [...]
+   <path fill="#ffcf21" d="m61.526 286.184c-6.655 6.673-22.505 0.785-27.082 4.611-4.328 3.674 4.736 9.744 3.802 18.365-0.544 4.543-2.638 6.383-3.178 12.551-0.394 4.761 3.43 4.308 5.78 5.718 10.136 5.036 11.746 3.522 31.285 7.325 14.808 2.841 19.353 8.551 34.685 7.176 5.142-0.441 4.875-0.567 9.663-3.914 4.685-3.398 2.171-2.842 1.582-9.063-0.357-10.906 0.307-14.527-5.325-23.422-8.23-12.976-8.625-12.951-14.008-21.503-5.382-8.432-11.646-25.878-17.806-25.999-4.844-0.119-7.654 2.512-10.704 5.6 [...]
+   <path fill="#ffcf23" d="m61.821 286.275c-6.839 6.837-22.83 0.95-27.251 4.687-4.298 3.688 4.916 9.886 3.984 18.172-0.557 4.515-2.546 6.426-3.237 12.545-0.509 4.732 3.519 4.255 5.9 5.594 10.507 4.945 12.336 3.663 31.05 7.29 14.715 2.812 19.23 8.496 34.46 7.129 5.108-0.435 4.74-0.575 9.538-3.835 4.587-3.23 2.113-2.723 1.43-9.146-0.559-10.834 0.296-14.572-5.086-23.069-8.18-12.892-8.666-12.806-14.014-21.302-5.347-8.377-11.476-25.885-17.595-26.004-4.813-0.119-7.605 2.496-10.635 5.584-3.029  [...]
+   <path fill="#ffcf26" d="m62.115 286.366c-7.021 7.002-23.154 1.115-27.42 4.762-4.266 3.701 5.096 10.027 4.168 17.979-0.568 4.486-2.455 6.469-3.297 12.538-0.624 4.706 3.607 4.203 6.021 5.472 10.878 4.852 12.925 3.803 30.813 7.254 14.622 2.78 19.108 8.441 34.236 7.084 5.075-0.43 4.606-0.584 9.413-3.759 4.489-3.063 2.058-2.601 1.277-9.229-0.761-10.76 0.284-14.618-4.848-22.717-8.129-12.809-8.706-12.66-14.019-21.102-5.313-8.322-11.304-25.891-17.384-26.01-4.781-0.118-7.556 2.48-10.566 5.55-3 [...]
+   <path fill="#ffd028" d="m62.409 286.456c-7.204 7.166-23.479 1.281-27.588 4.838-4.235 3.715 5.275 10.168 4.351 17.787-0.58 4.455-2.364 6.51-3.357 12.53-0.738 4.679 3.697 4.149 6.142 5.347 11.249 4.763 13.515 3.946 30.577 7.221 14.529 2.748 18.986 8.386 34.012 7.037 5.043-0.424 4.474-0.594 9.289-3.68 4.392-2.897 2-2.481 1.125-9.314-0.963-10.686 0.273-14.664-4.608-22.364-8.079-12.726-8.746-12.517-14.024-20.901-5.277-8.269-11.133-25.896-17.173-26.015-4.75-0.116-7.506 2.464-10.497 5.513-2. [...]
+   <path fill="#ffd02b" d="m62.704 286.547c-7.388 7.33-23.805 1.445-27.757 4.912-4.204 3.729 5.455 10.311 4.533 17.594-0.593 4.427-2.272 6.553-3.417 12.523-0.854 4.651 3.786 4.098 6.262 5.225 11.619 4.671 14.104 4.087 30.341 7.185 14.438 2.72 18.864 8.33 33.787 6.991 5.01-0.418 4.341-0.604 9.166-3.604 4.292-2.729 1.942-2.359 0.972-9.396-1.163-10.613 0.263-14.709-4.369-22.012-8.03-12.641-8.787-12.371-14.03-20.7-5.243-8.214-10.962-25.903-16.962-26.021-4.719-0.117-7.457 2.447-10.428 5.477-2 [...]
+   <path fill="#ffd02d" d="m62.998 286.638c-7.57 7.493-24.13 1.61-27.925 4.987-4.174 3.742 5.635 10.451 4.716 17.4-0.604 4.398-2.182 6.596-3.478 12.518-0.969 4.623 3.875 4.045 6.382 5.101 11.991 4.579 14.694 4.228 30.105 7.149 14.345 2.688 18.743 8.275 33.563 6.944 4.977-0.411 4.207-0.61 9.042-3.524 4.193-2.562 1.884-2.239 0.819-9.481-1.366-10.538 0.251-14.754-4.133-21.659-7.979-12.557-8.825-12.224-14.034-20.498-5.208-8.16-10.791-25.91-16.751-26.027-4.688-0.114-7.407 2.433-10.358 5.441-2 [...]
+   <path fill="#ffd030" d="m63.292 286.729c-7.753 7.658-24.454 1.775-28.094 5.063-4.142 3.756 5.815 10.594 4.899 17.209-0.616 4.367-2.09 6.638-3.537 12.51-1.084 4.596 3.964 3.992 6.502 4.977 12.362 4.488 15.283 4.369 29.869 7.115 14.252 2.656 18.621 8.22 33.34 6.898 4.943-0.406 4.073-0.621 8.917-3.447 4.095-2.395 1.828-2.119 0.667-9.565-1.568-10.465 0.239-14.8-3.894-21.307-7.929-12.474-8.866-12.078-14.04-20.298-5.173-8.105-10.619-25.916-16.54-26.031-4.656-0.115-7.357 2.415-10.289 5.404-2 [...]
+   <path fill="#ffd133" d="m63.587 286.82c-7.937 7.822-24.78 1.94-28.263 5.138-4.111 3.77 5.995 10.734 5.081 17.016-0.627 4.339-1.998 6.68-3.597 12.504-1.199 4.568 4.054 3.939 6.623 4.854 12.732 4.396 15.873 4.51 29.633 7.08 14.16 2.625 18.499 8.164 33.116 6.852 4.909-0.4 3.939-0.629 8.793-3.369 3.997-2.227 1.77-1.999 0.514-9.648-1.771-10.393 0.228-14.846-3.654-20.955-7.88-12.39-8.907-11.934-14.046-20.098-5.139-8.051-10.448-25.922-16.329-26.037-4.625-0.113-7.309 2.398-10.221 5.368s-3.254 [...]
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path d="m88.782 218.681c-0.936 2.088-1.728 20.017 2.952 27 4.68 6.911 3.312 10.872-1.872 5.616-5.4-5.112-8.928-12.816-9-18.145 0-3.096 2.376-15.84 3.313-17.208 1.007-1.44 5.327 1.153 4.607 2.737z"/>
+   <path fill="#030303" d="m88.692 219.032c-0.903 2.34-1.656 19.698 3.01 26.668 4.665 6.901 3.186 10.49-1.84 5.356-5.23-4.997-8.607-12.47-8.741-17.787-0.043-3.114 2.236-15.419 3.133-16.791 0.961-1.394 5.126 0.989 4.438 2.554z"/>
+   <path fill="#070707" d="m88.602 219.379c-0.871 2.593-1.584 19.383 3.067 26.338 4.65 6.891 3.06 10.109-1.808 5.098-5.062-4.882-8.287-12.125-8.481-17.432-0.087-3.131 2.095-14.998 2.952-16.373 0.915-1.345 4.926 0.828 4.27 2.369z"/>
+   <path fill="#0b0b0b" d="m88.512 219.729c-0.839 2.844-1.513 19.066 3.124 26.006 4.638 6.881 2.935 9.729-1.774 4.84-4.893-4.768-7.967-11.779-8.223-17.076-0.129-3.149 1.955-14.576 2.772-15.955 0.868-1.299 4.724 0.665 4.101 2.185z"/>
+   <path fill="#0f0f0f" d="m88.422 220.079c-0.806 3.096-1.439 18.748 3.183 25.674 4.623 6.869 2.809 9.347-1.742 4.58-4.724-4.651-7.646-11.434-7.963-16.719-0.173-3.168 1.814-14.154 2.592-15.537 0.819-1.252 4.52 0.504 3.93 2.002z"/>
+   <path fill="#131313" d="m88.332 220.426c-0.773 3.349-1.368 18.433 3.24 25.345 4.608 6.858 2.682 8.964-1.71 4.319-4.554-4.535-7.326-11.088-7.704-16.361-0.216-3.186 1.674-13.734 2.412-15.12 0.774-1.206 4.32 0.343 3.762 1.817z"/>
+   <path fill="#161616" d="m88.242 220.777c-0.741 3.601-1.296 18.115 3.298 25.013 4.594 6.848 2.556 8.582-1.678 4.061-4.385-4.421-7.006-10.742-7.444-16.006-0.26-3.203 1.533-13.313 2.231-14.702 0.728-1.16 4.118 0.18 3.593 1.634z"/>
+   <path fill="#1a1a1a" d="m88.152 221.125c-0.709 3.853-1.224 17.799 3.355 24.682 4.579 6.837 2.43 8.201-1.646 3.802-4.216-4.306-6.686-10.397-7.186-15.649-0.303-3.221 1.394-12.892 2.052-14.285 0.682-1.112 3.918 0.018 3.425 1.45z"/>
+   <path fill="#1e1e1e" d="m88.062 221.475c-0.677 4.104-1.152 17.482 3.413 24.35 4.564 6.826 2.304 7.82-1.613 3.543-4.046-4.191-6.365-10.051-6.927-15.293-0.345-3.24 1.253-12.47 1.872-13.867 0.634-1.066 3.716-0.144 3.255 1.267z"/>
+   <path fill="#222" d="m87.972 221.825c-0.645 4.355-1.08 17.164 3.47 24.018 4.551 6.816 2.179 7.439-1.58 3.285-3.877-4.076-6.044-9.707-6.667-14.938-0.389-3.258 1.112-12.049 1.691-13.449 0.587-1.019 3.514-0.306 3.086 1.084z"/>
+   <path fill="#262626" d="m87.883 222.172c-0.612 4.609-1.009 16.849 3.527 23.688 4.536 6.804 2.052 7.056-1.548 3.024-3.708-3.961-5.724-9.36-6.408-14.58-0.432-3.276 0.973-11.629 1.513-13.032 0.54-0.971 3.311-0.467 2.916 0.9z"/>
+   <path fill="#2a2a2a" d="m87.792 222.523c-0.579 4.86-0.936 16.531 3.586 23.356 4.521 6.793 1.926 6.675-1.516 2.765-3.539-3.845-5.403-9.015-6.148-14.224-0.476-3.293 0.831-11.207 1.332-12.614 0.493-0.925 3.11-0.63 2.746 0.717z"/>
+   <path fill="#2d2d2d" d="m87.702 222.872c-0.547 5.112-0.864 16.215 3.644 23.025 4.507 6.783 1.8 6.293-1.483 2.506-3.369-3.73-5.083-8.669-5.89-13.867-0.519-3.312 0.691-10.785 1.152-12.197 0.446-0.878 2.908-0.792 2.577 0.533z"/>
+   <path fill="#313131" d="m87.612 223.221c-0.515 5.363-0.792 15.898 3.701 22.693 4.492 6.772 1.674 5.912-1.451 2.248-3.2-3.615-4.763-8.324-5.63-13.512-0.563-3.33 0.551-10.363 0.972-11.779 0.399-0.831 2.707-0.953 2.408 0.35z"/>
+   <path fill="#353535" d="m87.522 223.57c-0.482 5.616-0.72 15.581 3.758 22.363 4.479 6.761 1.549 5.53-1.418 1.987-3.031-3.5-4.442-7.978-5.371-13.154-0.604-3.348 0.41-9.943 0.792-11.361 0.352-0.785 2.506-1.115 2.239 0.165z"/>
+   <path fill="#393939" d="m87.432 223.918c-0.45 5.869-0.648 15.265 3.815 22.033 4.464 6.75 1.422 5.147-1.386 1.728-2.862-3.384-4.122-7.632-5.112-12.798-0.647-3.366 0.271-9.522 0.612-10.944 0.307-0.737 2.305-1.278 2.071-0.019z"/>
+   <path fill="#3d3d3d" d="m87.343 224.269c-0.418 6.12-0.576 14.946 3.873 21.7 4.45 6.74 1.296 4.767-1.354 1.469-2.692-3.27-3.802-7.286-4.853-12.441-0.691-3.383 0.129-9.101 0.432-10.527 0.26-0.691 2.103-1.44 1.902-0.201z"/>
+   <path fill="#414141" d="m87.252 224.618c-0.385 6.373-0.504 14.631 3.932 21.369 4.436 6.729 1.17 4.385-1.321 1.211-2.523-3.154-3.481-6.941-4.594-12.086-0.734-3.402-0.011-8.68 0.252-10.109 0.212-0.644 1.901-1.602 1.731-0.385z"/>
+   <path fill="#444" d="m87.162 224.967c-0.353 6.623-0.432 14.314 3.989 21.037 4.421 6.719 1.044 4.004-1.289 0.951-2.354-3.039-3.161-6.595-4.334-11.729-0.778-3.42-0.151-8.258 0.071-9.691 0.166-0.597 1.7-1.763 1.563-0.568z"/>
+   <path fill="#484848" d="m87.072 225.316c-0.32 6.876-0.36 13.997 4.047 20.707 4.406 6.707 0.918 3.622-1.257 0.692-2.186-2.924-2.841-6.25-4.075-11.373-0.82-3.438-0.292-7.838-0.108-9.273 0.119-0.551 1.498-1.926 1.393-0.753z"/>
+   <path fill="#4c4c4c" d="m86.982 225.665c-0.288 7.129-0.288 13.68 4.104 20.377 4.393 6.695 0.792 3.24-1.224 0.432s-2.52-5.904-3.816-11.016c-0.863-3.457-0.432-7.416-0.287-8.856 0.071-0.505 1.295-2.089 1.223-0.937z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path d="m88.782 218.681c4.32-9.433 6.696-19.584 12.888-29.448 6.12-9.792 3.672-13.608-0.863-8.64-4.536 4.968-9.504 15.48-9.504 15.48s-5.832 9.216-7.128 19.872c-0.217 1.8 3.887 4.248 4.607 2.736z"/>
+   <path fill="#020202" d="m88.968 218.071c4.279-9.5 6.615-19.246 12.586-28.802 5.901-9.488 3.608-13.279-0.764-8.472-4.403 4.847-9.302 15.236-9.368 15.381 0 0-5.637 8.993-6.877 19.239-0.209 1.771 3.72 4.145 4.423 2.654z"/>
+   <path fill="#050505" d="m89.152 217.459c4.239-9.566 6.535-18.908 12.284-28.155 5.683-9.183 3.547-12.95-0.663-8.303-4.27 4.725-9.099 14.991-9.231 15.282 0 0-5.442 8.766-6.627 18.605-0.201 1.741 3.554 4.042 4.237 2.571z"/>
+   <path fill="#070707" d="m89.338 216.849c4.199-9.634 6.454-18.572 11.981-27.51 5.465-8.878 3.484-12.621-0.563-8.135-4.137 4.605-8.896 14.748-9.096 15.184 0 0-5.247 8.542-6.376 17.972-0.192 1.713 3.387 3.937 4.054 2.489z"/>
+   <path fill="#0a0a0a" d="m89.522 216.239c4.159-9.701 6.375-18.234 11.68-26.865 5.247-8.573 3.422-12.292-0.461-7.966-4.005 4.483-8.693 14.503-8.96 15.085 0 0-5.053 8.317-6.126 17.337-0.186 1.684 3.219 3.837 3.867 2.409z"/>
+   <path fill="#0c0c0c" d="m89.708 215.627c4.118-9.769 6.294-17.897 11.376-26.218 5.029-8.268 3.36-11.962-0.359-7.797-3.871 4.361-8.49 14.259-8.823 14.985 0 0-4.858 8.093-5.876 16.706-0.179 1.653 3.051 3.731 3.682 2.324z"/>
+   <path fill="#0f0f0f" d="m89.893 215.017c4.077-9.836 6.213-17.56 11.073-25.573 4.812-7.963 3.298-11.633-0.259-7.629-3.738 4.241-8.288 14.015-8.688 14.887 0 0-4.663 7.868-5.625 16.072-0.169 1.624 2.886 3.628 3.499 2.243z"/>
+   <path fill="#111" d="m90.078 214.407c4.037-9.904 6.133-17.224 10.772-24.928 4.593-7.658 3.234-11.304-0.159-7.46-3.605 4.119-8.085 13.771-8.551 14.788 0 0-4.47 7.645-5.375 15.439-0.162 1.594 2.718 3.524 3.313 2.161z"/>
+   <path fill="#141414" d="m90.263 213.795c3.997-9.971 6.052-16.885 10.47-24.281 4.374-7.353 3.172-10.975-0.059-7.291-3.472 3.998-7.882 13.526-8.415 14.689 0 0-4.273 7.418-5.124 14.805-0.154 1.565 2.551 3.421 3.128 2.078z"/>
+   <path fill="#161616" d="m90.449 213.184c3.956-10.037 5.972-16.548 10.167-23.635 4.156-7.048 3.11-10.645 0.043-7.123-3.34 3.877-7.68 13.283-8.279 14.591 0 0-4.08 7.194-4.874 14.172-0.147 1.535 2.383 3.317 2.943 1.995z"/>
+   <path fill="#191919" d="m90.634 212.573c3.916-10.105 5.892-16.209 9.865-22.989 3.938-6.743 3.047-10.316 0.144-6.954-3.207 3.755-7.477 13.038-8.143 14.491 0 0-3.886 6.969-4.624 13.54-0.139 1.506 2.217 3.213 2.758 1.912z"/>
+   <path fill="#1c1c1c" d="m90.819 211.963c3.875-10.174 5.811-15.874 9.563-22.344 3.721-6.438 2.984-9.987 0.244-6.785-3.073 3.634-7.274 12.793-8.007 14.392 0 0-3.69 6.745-4.373 12.905-0.131 1.477 2.049 3.112 2.573 1.832z"/>
+   <path fill="#1e1e1e" d="m91.004 211.352c3.836-10.24 5.73-15.536 9.262-21.698 3.501-6.133 2.922-9.658 0.344-6.617-2.94 3.513-7.071 12.55-7.87 14.293 0 0-3.496 6.521-4.123 12.272-0.124 1.447 1.881 3.009 2.387 1.75z"/>
+   <path fill="#212121" d="m91.189 210.741c3.795-10.307 5.649-15.198 8.958-21.052 3.284-5.828 2.859-9.328 0.445-6.448-2.808 3.392-6.868 12.305-7.734 14.195 0 0-3.301 6.295-3.872 11.639-0.115 1.418 1.715 2.904 2.203 1.666z"/>
+   <path fill="#232323" d="m91.375 210.129c3.754-10.373 5.569-14.86 8.655-20.405 3.066-5.523 2.797-8.999 0.547-6.279-2.675 3.27-6.666 12.061-7.599 14.097 0 0-3.106 6.07-3.622 11.004-0.107 1.388 1.548 2.801 2.019 1.583z"/>
+   <path fill="#262626" d="m91.559 209.519c3.714-10.44 5.489-14.523 8.354-19.76 2.847-5.218 2.735-8.67 0.647-6.111-2.542 3.149-6.463 11.817-7.462 13.997 0 0-2.912 5.848-3.372 10.373-0.099 1.357 1.381 2.697 1.833 1.501z"/>
+   <path fill="#282828" d="m91.745 208.909c3.674-10.509 5.408-14.187 8.051-19.115 2.629-4.913 2.672-8.341 0.748-5.942-2.409 3.028-6.261 11.573-7.326 13.898 0 0-2.717 5.621-3.121 9.738-0.092 1.33 1.213 2.595 1.648 1.421z"/>
+   <path fill="#2b2b2b" d="m91.929 208.297c3.634-10.575 5.328-13.848 7.75-18.468 2.41-4.608 2.609-8.011 0.848-5.773-2.275 2.906-6.058 11.328-7.189 13.799 0 0-2.522 5.397-2.871 9.106-0.084 1.299 1.046 2.491 1.462 1.336z"/>
+   <path fill="#2d2d2d" d="m92.115 207.687c3.593-10.643 5.247-13.512 7.447-17.823 2.191-4.303 2.547-7.682 0.949-5.605-2.144 2.786-5.855 11.085-7.055 13.701 0 0-2.327 5.172-2.62 8.473-0.076 1.269 0.881 2.386 1.279 1.254z"/>
+   <path fill="#303030" d="m92.301 207.077c3.552-10.71 5.167-13.175 7.145-17.178 1.974-3.998 2.484-7.353 1.05-5.436-2.011 2.664-5.652 10.84-6.918 13.602 0 0-2.133 4.947-2.37 7.839-0.07 1.24 0.712 2.283 1.093 1.173z"/>
+   <path fill="#333" d="m92.485 206.465c3.513-10.778 5.087-12.837 6.843-16.531s2.422-7.024 1.15-5.268c-1.877 2.543-5.449 10.596-6.781 13.502 0 0-1.938 4.724-2.12 7.207-0.061 1.211 0.545 2.18 0.908 1.09z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path d="m273.03 225.592c2.088-5.903 1.872-20.951-3.456-30.671-1.872-3.528-3.672-7.632-4.752-7.848-1.152-0.216-3.24 2.088-3.024 2.448 0.288 0.576 10.009 14.256 7.992 32.832-0.144 1.513 2.736 4.608 3.24 3.239z"/>
+   <path fill="#030303" d="m272.936 224.831c2.025-5.719 1.753-20.379-3.344-29.663-1.815-3.407-3.535-7.374-4.595-7.59-1.122-0.214-3.125 2.022-2.925 2.367 0.258 0.562 9.605 13.778 7.729 31.753-0.129 1.487 2.647 4.456 3.135 3.133z"/>
+   <path fill="#070707" d="m272.841 224.068c1.967-5.532 1.637-19.808-3.228-28.654-1.762-3.286-3.401-7.115-4.44-7.332-1.091-0.211-3.009 1.956-2.824 2.287 0.227 0.548 9.201 13.299 7.466 30.672-0.118 1.463 2.555 4.305 3.026 3.027z"/>
+   <path fill="#0b0b0b" d="m272.747 223.305c1.904-5.348 1.518-19.235-3.115-27.645-1.706-3.165-3.265-6.856-4.282-7.073-1.062-0.21-2.896 1.889-2.727 2.206 0.197 0.534 8.799 12.821 7.203 29.592-0.103 1.44 2.466 4.153 2.921 2.92z"/>
+   <path fill="#0f0f0f" d="m272.652 222.542c1.843-5.162 1.398-18.662-3.001-26.635-1.65-3.044-3.13-6.598-4.127-6.815-1.03-0.207-2.779 1.823-2.626 2.126 0.167 0.52 8.396 12.341 6.94 28.511-0.09 1.416 2.376 4.001 2.814 2.813z"/>
+   <path fill="#131313" d="m272.558 221.779c1.78-4.976 1.279-18.09-2.889-25.626-1.595-2.923-2.994-6.34-3.97-6.557-1-0.205-2.664 1.756-2.527 2.045 0.137 0.506 7.993 11.861 6.679 27.432-0.078 1.392 2.285 3.849 2.707 2.706z"/>
+   <path fill="#161616" d="m272.463 221.016c1.721-4.79 1.163-17.518-2.773-24.617-1.539-2.802-2.858-6.081-3.814-6.299-0.969-0.203-2.548 1.691-2.427 1.965 0.106 0.492 7.59 11.383 6.415 26.352-0.065 1.369 2.194 3.697 2.599 2.599z"/>
+   <path fill="#1a1a1a" d="m272.369 220.254c1.659-4.605 1.044-16.946-2.66-23.609-1.483-2.681-2.723-5.822-3.658-6.04-0.938-0.201-2.434 1.624-2.326 1.884 0.074 0.478 7.185 10.904 6.15 25.271-0.051 1.344 2.106 3.546 2.494 2.494z"/>
+   <path fill="#1e1e1e" d="m272.274 219.491c1.598-4.42 0.926-16.373-2.546-22.6-1.43-2.56-2.587-5.564-3.501-5.782-0.908-0.198-2.319 1.558-2.229 1.804 0.044 0.464 6.782 10.425 5.889 24.19-0.037 1.321 2.016 3.396 2.387 2.388z"/>
+   <path fill="#222" d="m272.18 218.728c1.535-4.233 0.807-15.802-2.434-21.59-1.373-2.439-2.452-5.306-3.345-5.524-0.877-0.197-2.203 1.491-2.128 1.723 0.014 0.45 6.379 9.947 5.625 23.111-0.023 1.297 1.927 3.242 2.282 2.28z"/>
+   <path fill="#262626" d="m272.085 217.965c1.476-4.049 0.69-15.229-2.318-20.582-1.317-2.317-2.316-5.046-3.188-5.265-0.847-0.194-2.088 1.425-2.029 1.642-0.016 0.436 5.977 9.468 5.362 22.032-0.011 1.272 1.835 3.089 2.173 2.173z"/>
+   <path fill="#2a2a2a" d="m271.991 217.202c1.413-3.861 0.571-14.656-2.206-19.572-1.262-2.196-2.18-4.788-3.032-5.007-0.815-0.191-1.973 1.36-1.929 1.562-0.047 0.422 5.573 8.988 5.099 20.951 0.003 1.247 1.746 2.939 2.068 2.066z"/>
+   <path fill="#2d2d2d" d="m271.896 216.439c1.353-3.677 0.453-14.084-2.091-18.563-1.207-2.076-2.045-4.529-2.876-4.749-0.786-0.19-1.858 1.293-1.83 1.481-0.077 0.408 5.17 8.51 4.836 19.87 0.017 1.226 1.656 2.789 1.961 1.961z"/>
+   <path fill="#313131" d="m271.802 215.676c1.29-3.491 0.334-13.512-1.979-17.553-1.151-1.956-1.909-4.272-2.72-4.493-0.755-0.187-1.742 1.227-1.73 1.401-0.106 0.394 4.768 8.031 4.573 18.791 0.031 1.202 1.567 2.637 1.856 1.854z"/>
+   <path fill="#353535" d="m271.707 214.915c1.23-3.307 0.217-12.94-1.864-16.545-1.096-1.834-1.773-4.014-2.563-4.234-0.725-0.185-1.627 1.16-1.631 1.32-0.138 0.38 4.364 7.552 4.311 17.71 0.042 1.176 1.475 2.485 1.747 1.749z"/>
+   <path fill="#393939" d="m271.613 214.151c1.168-3.119 0.098-12.367-1.751-15.535-1.04-1.714-1.638-3.755-2.407-3.976-0.693-0.183-1.512 1.094-1.531 1.24-0.168 0.366 3.962 7.074 4.049 16.63 0.055 1.153 1.384 2.332 1.64 1.641z"/>
+   <path fill="#3d3d3d" d="m271.518 213.388c1.106-2.935-0.021-11.796-1.638-14.527-0.983-1.592-1.502-3.496-2.25-3.716-0.664-0.181-1.396 1.028-1.432 1.159-0.198 0.352 3.558 6.594 3.785 15.549 0.07 1.13 1.296 2.183 1.535 1.535z"/>
+   <path fill="#414141" d="m271.424 212.625c1.047-2.75-0.139-11.223-1.522-13.518-0.93-1.471-1.367-3.238-2.094-3.459-0.635-0.178-1.282 0.962-1.333 1.079-0.229 0.338 3.153 6.114 3.521 14.47 0.083 1.106 1.205 2.03 1.428 1.428z"/>
+   <path fill="#444" d="m271.329 211.862c0.985-2.563-0.256-10.65-1.409-12.508-0.874-1.35-1.23-2.979-1.938-3.2-0.604-0.177-1.166 0.895-1.233 0.998-0.259 0.324 2.751 5.636 3.259 13.39 0.096 1.082 1.115 1.876 1.321 1.32z"/>
+   <path fill="#484848" d="m271.235 211.099c0.923-2.377-0.375-10.077-1.296-11.499-0.818-1.229-1.097-2.72-1.781-2.942-0.573-0.174-1.052 0.829-1.134 0.918-0.289 0.309 2.348 5.156 2.996 12.309 0.11 1.058 1.025 1.726 1.215 1.214z"/>
+   <path fill="#4c4c4c" d="m271.14 210.336c0.861-2.192-0.493-9.506-1.183-10.49-0.763-1.107-0.96-2.463-1.625-2.684-0.542-0.172-0.936 0.762-1.034 0.836-0.319 0.297 1.945 4.68 2.733 11.229 0.124 1.035 0.936 1.576 1.109 1.109z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path d="m264.822 187.073c-10.224-13.968-23.472-18.504-22.104-14.112 0 0 10.152 5.76 19.08 16.56 1.728 2.088 4.608-0.288 3.024-2.448z"/>
+   <path fill="#030303" d="m264.372 186.687c-9.924-13.495-22.894-17.912-21.539-13.7 0.018 0.012 9.901 5.614 18.609 16.071 1.678 2.016 4.467-0.285 2.93-2.371z"/>
+   <path fill="#070707" d="m263.922 186.3c-9.624-13.022-22.316-17.319-20.975-13.287 0.036 0.023 9.652 5.467 18.139 15.582 1.628 1.943 4.325-0.283 2.836-2.295z"/>
+   <path fill="#0b0b0b" d="m263.472 185.913c-9.324-12.549-21.739-16.726-20.41-12.874 0.053 0.034 9.4 5.32 17.668 15.093 1.578 1.871 4.183-0.28 2.742-2.219z"/>
+   <path fill="#0f0f0f" d="m263.022 185.527c-9.024-12.077-21.162-16.134-19.847-12.462 0.071 0.045 9.151 5.174 17.198 14.604 1.529 1.798 4.043-0.278 2.649-2.142z"/>
+   <path fill="#131313" d="m262.571 185.14c-8.723-11.603-20.583-15.541-19.28-12.049 0.088 0.056 8.901 5.027 16.728 14.114 1.477 1.726 3.899-0.275 2.552-2.065z"/>
+   <path fill="#161616" d="m262.121 184.753c-8.423-11.13-20.006-14.948-18.716-11.636 0.106 0.067 8.651 4.88 16.257 13.625 1.428 1.654 3.759-0.272 2.459-1.989z"/>
+   <path fill="#1a1a1a" d="m261.671 184.367c-8.124-10.658-19.428-14.356-18.15-11.224 0.124 0.078 8.399 4.734 15.785 13.136 1.378 1.581 3.617-0.27 2.365-1.912z"/>
+   <path fill="#1e1e1e" d="m261.221 183.98c-7.824-10.185-18.851-13.763-17.588-10.811 0.143 0.089 8.151 4.587 15.315 12.647 1.33 1.508 3.477-0.267 2.273-1.836z"/>
+   <path fill="#222" d="m260.771 183.593c-7.524-9.711-18.273-13.17-17.022-10.398 0.159 0.1 7.9 4.44 14.844 12.158 1.279 1.436 3.335-0.265 2.178-1.76z"/>
+   <path fill="#262626" d="m260.321 183.206c-7.224-9.238-17.695-12.578-16.458-9.985 0.177 0.111 7.65 4.293 14.374 11.668 1.229 1.364 3.193-0.262 2.084-1.683z"/>
+   <path fill="#2a2a2a" d="m259.871 182.82c-6.924-8.766-17.118-11.986-15.893-9.573 0.193 0.122 7.398 4.147 13.902 11.179 1.18 1.291 3.053-0.259 1.991-1.606z"/>
+   <path fill="#2d2d2d" d="m259.42 182.433c-6.623-8.293-16.539-11.393-15.328-9.16 0.214 0.133 7.15 4 13.434 10.69 1.128 1.219 2.909-0.257 1.894-1.53z"/>
+   <path fill="#313131" d="m258.97 182.046c-6.323-7.819-15.963-10.8-14.764-8.747 0.23 0.144 6.899 3.853 12.962 10.201 1.08 1.146 2.769-0.254 1.802-1.454z"/>
+   <path fill="#353535" d="m258.52 181.66c-6.023-7.347-15.384-10.208-14.199-8.335 0.248 0.155 6.649 3.707 12.492 9.712 1.028 1.073 2.627-0.252 1.707-1.377z"/>
+   <path fill="#393939" d="m258.07 181.273c-5.723-6.874-14.807-9.615-13.634-7.922 0.265 0.166 6.398 3.56 12.021 9.222 0.978 1.002 2.485-0.249 1.613-1.3z"/>
+   <path fill="#3d3d3d" d="m257.62 180.886c-5.423-6.401-14.229-9.021-13.07-7.509 0.283 0.177 6.149 3.413 11.552 8.733 0.927 0.929 2.343-0.246 1.518-1.224z"/>
+   <path fill="#414141" d="m257.17 180.5c-5.124-5.928-13.65-8.43-12.505-7.097 0.301 0.188 5.898 3.267 11.079 8.244 0.879 0.856 2.203-0.244 1.426-1.147z"/>
+   <path fill="#444" d="m256.719 180.113c-4.823-5.455-13.073-7.837-11.94-6.684 0.319 0.199 5.649 3.12 10.609 7.755 0.829 0.784 2.061-0.241 1.331-1.071z"/>
+   <path fill="#484848" d="m256.269 179.726c-4.523-4.982-12.495-7.244-11.375-6.271 0.336 0.21 5.397 2.973 10.138 7.266 0.779 0.711 1.92-0.239 1.237-0.995z"/>
+   <path fill="#4c4c4c" d="m255.819 179.339c-4.223-4.509-11.918-6.652-10.812-5.859 0.354 0.222 5.148 2.827 9.668 6.777 0.73 0.639 1.779-0.236 1.144-0.918z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path d="m273.03 225.592c0.144 6.265-5.76 22.248-7.992 21.673-2.52-0.576 0.504-5.257 2.809-13.177 0.936-3.312 1.655-11.447 1.943-11.735 0.936-0.936 3.24 1.728 3.24 3.239z"/>
+   <path fill="#050505" d="m272.846 226.116c0.103 6.082-5.638 21.594-7.797 21.018-2.422-0.567 0.548-5.146 2.814-12.928 0.899-3.178 1.595-10.947 1.887-11.25 0.914-0.927 3.147 1.527 3.096 3.16z"/>
+   <path fill="#0a0a0a" d="m272.662 226.637c0.063 5.902-5.514 20.939-7.601 20.363-2.323-0.558 0.592-5.035 2.82-12.681 0.861-3.041 1.534-10.446 1.83-10.761 0.89-0.917 3.054 1.327 2.951 3.079z"/>
+   <path fill="#0f0f0f" d="m272.478 227.159c0.021 5.721-5.392 20.284-7.405 19.711-2.224-0.55 0.635-4.927 2.827-12.434 0.824-2.907 1.473-9.945 1.773-10.273 0.866-0.911 2.959 1.125 2.805 2.996z"/>
+   <path fill="#141414" d="m272.294 227.68c-0.02 5.539-5.268 19.63-7.21 19.057-2.125-0.541 0.68-4.816 2.835-12.186 0.786-2.771 1.412-9.445 1.717-9.786 0.84-0.901 2.863 0.924 2.658 2.915z"/>
+   <path fill="#191919" d="m272.11 228.202c-0.063 5.359-5.146 18.977-7.014 18.403-2.027-0.532 0.722-4.706 2.841-11.938 0.748-2.637 1.351-8.944 1.659-9.299 0.818-0.893 2.77 0.722 2.514 2.834z"/>
+   <path fill="#1e1e1e" d="m271.926 228.723c-0.103 5.179-5.021 18.322-6.818 17.75-1.928-0.523 0.766-4.596 2.848-11.691 0.711-2.5 1.29-8.443 1.603-8.811 0.792-0.885 2.674 0.522 2.367 2.752z"/>
+   <path fill="#232323" d="m271.742 229.245c-0.144 4.998-4.9 17.668-6.623 17.096-1.83-0.514 0.811-4.485 2.854-11.442 0.673-2.366 1.229-7.944 1.545-8.325 0.771-0.876 2.583 0.32 2.224 2.671z"/>
+   <path fill="#282828" d="m271.558 229.766c-0.186 4.816-4.777 17.013-6.428 16.443-1.731-0.506 0.854-4.377 2.86-11.196 0.636-2.231 1.168-7.443 1.488-7.837 0.749-0.866 2.49 0.119 2.08 2.59z"/>
+   <path fill="#2d2d2d" d="m271.374 230.288c-0.226 4.637-4.653 16.359-6.231 15.789-1.632-0.496 0.896-4.266 2.866-10.947 0.6-2.098 1.107-6.943 1.433-7.351 0.722-0.859 2.393-0.081 1.932 2.509z"/>
+   <path fill="#333" d="m271.19 230.809c-0.268 4.456-4.531 15.705-6.036 15.136-1.534-0.489 0.94-4.155 2.873-10.7 0.561-1.961 1.046-6.443 1.375-6.863 0.7-0.848 2.3-0.282 1.788 2.427z"/>
+   <path fill="#383838" d="m271.006 231.331c-0.308 4.275-4.407 15.051-5.841 14.482-1.435-0.48 0.984-4.046 2.88-10.453 0.524-1.826 0.985-5.941 1.318-6.375 0.676-0.84 2.206-0.483 1.643 2.346z"/>
+   <path fill="#3d3d3d" d="m270.822 231.853c-0.35 4.093-4.285 14.396-5.645 13.828-1.338-0.472 1.027-3.937 2.886-10.206 0.485-1.691 0.924-5.441 1.261-5.887 0.653-0.832 2.113-0.684 1.498 2.265z"/>
+   <path fill="#424242" d="m270.638 232.374c-0.392 3.914-4.162 13.742-5.45 13.176-1.238-0.463 1.072-3.826 2.893-9.959 0.449-1.555 0.863-4.94 1.204-5.399 0.629-0.824 2.019-0.886 1.353 2.182z"/>
+   <path fill="#474747" d="m270.454 232.896c-0.432 3.731-4.039 13.087-5.254 12.521-1.14-0.453 1.115-3.715 2.9-9.711 0.411-1.42 0.802-4.439 1.146-4.912 0.606-0.815 1.925-1.086 1.208 2.102z"/>
+   <path fill="#4c4c4c" d="m270.27 233.417c-0.474 3.553-3.916 12.434-5.06 11.869-1.041-0.445 1.159-3.606 2.907-9.463 0.373-1.287 0.741-3.941 1.089-4.427 0.583-0.806 1.832-1.287 1.064 2.021z"/>
+   <path fill="#515151" d="m270.086 233.939c-0.514 3.37-3.793 11.778-4.862 11.214-0.942-0.436 1.201-3.496 2.913-9.216 0.336-1.151 0.68-3.438 1.032-3.938 0.558-0.797 1.736-1.489 0.917 1.94z"/>
+   <path fill="#565656" d="m269.902 234.461c-0.555 3.188-3.671 11.123-4.667 10.56-0.844-0.429 1.246-3.386 2.919-8.968 0.298-1.016 0.619-2.939 0.976-3.451 0.535-0.788 1.643-1.689 0.772 1.859z"/>
+   <path fill="#5b5b5b" d="m269.718 234.982c-0.597 3.009-3.548 10.47-4.472 9.907-0.745-0.42 1.29-3.275 2.926-8.721 0.262-0.881 0.559-2.438 0.919-2.963 0.511-0.781 1.549-1.89 0.627 1.777z"/>
+   <path fill="#606060" d="m269.534 235.504c-0.638 2.828-3.425 9.814-4.276 9.252-0.646-0.409 1.333-3.166 2.933-8.473 0.224-0.746 0.497-1.938 0.862-2.476 0.487-0.769 1.454-2.09 0.481 1.697z"/>
+   <path fill="#666" d="m269.35 236.025c-0.68 2.647-3.303 9.161-4.081 8.599-0.548-0.4 1.377-3.056 2.938-8.225 0.187-0.611 0.437-1.438 0.806-1.988 0.464-0.763 1.361-2.293 0.337 1.614z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path d="m251.07 187.865c-1.537 1.622-2.903 9.991 0.938 12.893 3.844 2.818 10.59-2.391 10.59-5.379-0.086-6.746-9.991-9.222-11.528-7.514z"/>
+   <path fill="#010101" d="m251.207 188.006c-1.559 1.611-2.876 9.823 0.857 12.667 3.731 2.764 10.349-2.273 10.384-5.279-0.047-6.576-9.681-9.083-11.241-7.388z"/>
+   <path fill="#030303" d="m251.344 188.146c-1.582 1.601-2.85 9.653 0.774 12.438 3.62 2.709 10.109-2.154 10.178-5.177-0.007-6.404-9.37-8.943-10.952-7.261z"/>
+   <path fill="#050505" d="m251.481 188.287c-1.604 1.589-2.823 9.484 0.691 12.211 3.511 2.653 9.869-2.037 9.975-5.078 0.031-6.232-9.061-8.802-10.666-7.133z"/>
+   <path fill="#070707" d="m251.617 188.427c-1.626 1.579-2.795 9.316 0.611 11.984 3.397 2.6 9.629-1.918 9.768-4.976 0.071-6.062-8.751-8.664-10.379-7.008z"/>
+   <path fill="#090909" d="m251.754 188.567c-1.648 1.568-2.768 9.146 0.529 11.758 3.287 2.543 9.389-1.802 9.563-4.875 0.109-5.892-8.441-8.525-10.092-6.883z"/>
+   <path fill="#0b0b0b" d="m251.891 188.708c-1.671 1.557-2.741 8.978 0.445 11.529 3.177 2.489 9.15-1.683 9.358-4.774 0.15-5.72-8.13-8.385-9.803-6.755z"/>
+   <path fill="#0d0d0d" d="m252.028 188.848c-1.694 1.546-2.715 8.809 0.364 11.302 3.064 2.435 8.908-1.565 9.152-4.673 0.189-5.549-7.82-8.245-9.516-6.629z"/>
+   <path fill="#0f0f0f" d="m252.165 188.989c-1.716 1.535-2.688 8.64 0.282 11.074 2.953 2.38 8.669-1.447 8.948-4.572 0.226-5.378-7.512-8.106-9.23-6.502z"/>
+   <path fill="#111" d="m252.301 189.129c-1.737 1.524-2.659 8.471 0.2 10.847 2.844 2.325 8.431-1.33 8.743-4.471 0.266-5.207-7.201-7.966-8.943-6.376z"/>
+   <path fill="#131313" d="m252.438 189.269c-1.76 1.514-2.633 8.304 0.118 10.619 2.73 2.271 8.189-1.212 8.538-4.369 0.305-5.036-6.892-7.827-8.656-6.25z"/>
+   <path fill="#151515" d="m252.575 189.41c-1.783 1.503-2.606 8.133 0.036 10.391 2.62 2.216 7.949-1.094 8.332-4.268 0.344-4.865-6.581-7.687-8.368-6.123z"/>
+   <path fill="#161616" d="m252.712 189.55c-1.805 1.492-2.58 7.965-0.046 10.164 2.508 2.162 7.709-0.975 8.127-4.167 0.383-4.694-6.272-7.548-8.081-5.997z"/>
+   <path fill="#181818" d="m252.849 189.691c-1.828 1.481-2.554 7.796-0.129 9.937 2.397 2.105 7.47-0.857 7.922-4.066 0.423-4.524-5.961-7.409-7.793-5.871z"/>
+   <path fill="#1a1a1a" d="m252.985 189.831c-1.85 1.47-2.525 7.626-0.21 9.708 2.286 2.053 7.229-0.74 7.717-3.964 0.461-4.352-5.652-7.269-7.507-5.744z"/>
+   <path fill="#1c1c1c" d="m253.122 189.971c-1.872 1.46-2.499 7.459-0.292 9.482 2.175 1.996 6.989-0.623 7.511-3.865 0.501-4.18-5.341-7.128-7.219-5.617z"/>
+   <path fill="#1e1e1e" d="m253.259 190.112c-1.895 1.448-2.472 7.289-0.375 9.254 2.064 1.942 6.75-0.504 7.308-3.763 0.539-4.01-5.033-6.99-6.933-5.491z"/>
+   <path fill="#202020" d="m253.396 190.252c-1.917 1.438-2.445 7.122-0.457 9.027 1.953 1.888 6.51-0.386 7.102-3.662 0.578-3.839-4.722-6.85-6.645-5.365z"/>
+   <path fill="#222" d="m253.533 190.393c-1.939 1.426-2.418 6.951-0.539 8.799 1.841 1.832 6.271-0.268 6.896-3.561 0.618-3.668-4.412-6.711-6.357-5.238z"/>
+   <path fill="#242424" d="m253.669 190.533c-1.961 1.416-2.391 6.783-0.621 8.572 1.731 1.776 6.03-0.149 6.692-3.46 0.657-3.497-4.102-6.571-6.071-5.112z"/>
+   <path fill="#262626" d="m253.806 190.673c-1.984 1.405-2.364 6.615-0.703 8.344 1.619 1.724 5.79-0.032 6.485-3.358 0.697-3.326-3.791-6.432-5.782-4.986z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path d="m250.71 256.698c1.513 1.512 2.809-2.232 4.32-3.457 1.512-1.224 3.96-3.888 8.856-3.888s4.535-0.144 4.319-2.017c-0.144-1.799-1.584-1.655-5.903-1.008-4.32 0.576-7.2 2.809-8.929 4.824-1.654 1.945-3.527 4.681-2.663 5.546z"/>
+   <path fill="#050505" d="m251.043 256.331c1.459 1.449 2.703-2.121 4.205-3.308 1.501-1.187 3.931-3.731 8.64-3.731 4.71-0.002 4.415-0.129 4.209-1.94-0.139-1.743-1.543-1.593-5.749-0.979-4.207 0.543-7.029 2.703-8.712 4.648-1.616 1.877-3.438 4.474-2.593 5.31z"/>
+   <path fill="#0a0a0a" d="m251.376 255.961c1.406 1.389 2.6-2.008 4.089-3.156 1.491-1.148 3.901-3.576 8.425-3.577 4.521-0.001 4.293-0.11 4.096-1.862-0.132-1.688-1.501-1.531-5.594-0.951-4.093 0.51-6.857 2.596-8.495 4.471-1.575 1.812-3.348 4.271-2.521 5.075z"/>
+   <path fill="#0f0f0f" d="m251.709 255.594c1.354 1.326 2.494-1.895 3.975-3.008 1.479-1.111 3.871-3.42 8.207-3.422s4.171-0.094 3.984-1.785c-0.126-1.631-1.46-1.467-5.438-0.924-3.979 0.479-6.687 2.492-8.28 4.297-1.533 1.747-3.257 4.066-2.448 4.842z"/>
+   <path fill="#141414" d="m252.042 255.226c1.302 1.265 2.39-1.783 3.858-2.856 1.47-1.076 3.842-3.266 7.991-3.268s4.05-0.077 3.873-1.709c-0.119-1.575-1.419-1.404-5.284-0.895-3.865 0.444-6.515 2.385-8.063 4.121-1.49 1.678-3.165 3.861-2.375 4.607z"/>
+   <path fill="#191919" d="m252.374 254.859c1.249 1.202 2.285-1.671 3.744-2.708 1.458-1.037 3.813-3.109 7.774-3.111 3.963-0.004 3.929-0.061 3.761-1.633-0.113-1.519-1.377-1.341-5.128-0.867-3.751 0.414-6.344 2.279-7.847 3.945-1.449 1.613-3.075 3.656-2.304 4.374z"/>
+   <path fill="#1e1e1e" d="m252.707 254.491c1.196 1.141 2.182-1.559 3.628-2.558 1.448-1 3.783-2.954 7.56-2.957 3.775-0.003 3.806-0.043 3.648-1.556-0.106-1.461-1.336-1.277-4.974-0.838-3.637 0.379-6.172 2.174-7.63 3.77-1.408 1.546-2.984 3.451-2.232 4.139z"/>
+   <path fill="#232323" d="m253.04 254.124c1.144 1.078 2.076-1.447 3.514-2.41 1.437-0.961 3.753-2.797 7.342-2.799 3.589-0.004 3.685-0.027 3.537-1.48-0.101-1.405-1.294-1.215-4.818-0.811-3.524 0.349-6.001 2.068-7.415 3.594-1.367 1.48-2.894 3.245-2.16 3.906z"/>
+   <path fill="#282828" d="m253.373 253.754c1.09 1.018 1.972-1.334 3.398-2.258 1.426-0.926 3.723-2.642 7.125-2.646 3.402-0.005 3.563-0.011 3.426-1.403-0.095-1.349-1.253-1.15-4.664-0.781-3.409 0.314-5.829 1.961-7.198 3.418-1.325 1.415-2.803 3.041-2.087 3.67z"/>
+   <path fill="#2d2d2d" d="m253.706 253.388c1.038 0.954 1.866-1.222 3.282-2.11 1.416-0.887 3.694-2.486 6.909-2.49 3.217-0.004 3.441 0.008 3.313-1.326-0.088-1.293-1.212-1.088-4.508-0.754-3.296 0.283-5.658 1.857-6.981 3.244-1.284 1.345-2.712 2.836-2.015 3.436z"/>
+   <path fill="#333" d="m254.039 253.02c0.985 0.893 1.762-1.109 3.167-1.96s3.664-2.33 6.693-2.335c3.029-0.006 3.32 0.023 3.202-1.249-0.082-1.237-1.171-1.024-4.354-0.726-3.182 0.25-5.485 1.75-6.765 3.066-1.243 1.282-2.622 2.634-1.943 3.204z"/>
+   <path fill="#383838" d="m254.372 252.652c0.933 0.831 1.657-0.998 3.051-1.81 1.396-0.813 3.636-2.174 6.478-2.18 2.843-0.006 3.199 0.039 3.09-1.172-0.076-1.181-1.129-0.963-4.198-0.697-3.068 0.217-5.314 1.644-6.55 2.891-1.202 1.214-2.531 2.427-1.871 2.968z"/>
+   <path fill="#3d3d3d" d="m254.704 252.284c0.88 0.771 1.553-0.885 2.938-1.66 1.383-0.775 3.604-2.019 6.26-2.024 2.656-0.007 3.078 0.058 2.979-1.095-0.069-1.125-1.088-0.899-4.044-0.67-2.954 0.185-5.144 1.539-6.333 2.715-1.16 1.148-2.441 2.222-1.8 2.734z"/>
+   <path fill="#424242" d="m255.037 251.917c0.827 0.707 1.448-0.773 2.821-1.51 1.373-0.738 3.576-1.863 6.044-1.871 2.47-0.007 2.956 0.074 2.867-1.018-0.063-1.068-1.046-0.836-3.889-0.641-2.841 0.151-4.973 1.433-6.116 2.539-1.119 1.083-2.35 2.018-1.727 2.501z"/>
+   <path fill="#474747" d="m255.37 251.549c0.774 0.645 1.344-0.661 2.706-1.362 1.362-0.7 3.545-1.706 5.828-1.713 2.283-0.009 2.834 0.09 2.754-0.942-0.057-1.012-1.005-0.773-3.733-0.613-2.727 0.119-4.801 1.328-5.899 2.365-1.078 1.013-2.26 1.81-1.656 2.265z"/>
+   <path fill="#4c4c4c" d="m255.703 251.181c0.721 0.584 1.239-0.55 2.59-1.212 1.353-0.663 3.517-1.551 5.612-1.559 2.096-0.009 2.713 0.107 2.643-0.865-0.051-0.955-0.964-0.709-3.577-0.584-2.613 0.086-4.631 1.222-5.686 2.188-1.035 0.949-2.168 1.607-1.582 2.032z"/>
+   <path fill="#515151" d="m256.036 250.813c0.669 0.521 1.134-0.436 2.476-1.063 1.341-0.625 3.485-1.395 5.395-1.402 1.91-0.01 2.591 0.124 2.531-0.789-0.044-0.898-0.922-0.646-3.423-0.557-2.499 0.055-4.458 1.117-5.469 2.014-0.994 0.882-2.077 1.402-1.51 1.797z"/>
+   <path fill="#565656" d="m256.369 250.446c0.616 0.459 1.029-0.324 2.36-0.912 1.33-0.589 3.456-1.24 5.178-1.248 1.723-0.01 2.47 0.141 2.42-0.713-0.039-0.842-0.881-0.582-3.268-0.527-2.387 0.021-4.287 1.01-5.252 1.836-0.953 0.816-1.987 1.199-1.438 1.564z"/>
+   <path fill="#5b5b5b" d="m256.701 250.079c0.564 0.397 0.926-0.213 2.245-0.764s3.427-1.084 4.963-1.093c1.536-0.011 2.348 0.157 2.307-0.636-0.031-0.785-0.839-0.52-3.112-0.5-2.271-0.01-4.116 0.906-5.035 1.662-0.913 0.751-1.898 0.993-1.368 1.331z"/>
+   <path fill="#606060" d="m257.034 249.709c0.511 0.336 0.821-0.1 2.13-0.612 1.309-0.515 3.397-0.929 4.746-0.938 1.351-0.01 2.227 0.176 2.196-0.558-0.026-0.729-0.799-0.457-2.958-0.472-2.158-0.043-3.945 0.799-4.82 1.486-0.87 0.682-1.805 0.788-1.294 1.094z"/>
+   <path fill="#666" d="m257.367 249.342c0.458 0.273 0.716 0.012 2.014-0.465 1.299-0.476 3.368-0.771 4.53-0.781 1.163-0.012 2.105 0.191 2.084-0.482-0.02-0.673-0.757-0.393-2.803-0.443-2.044-0.076-3.773 0.693-4.604 1.311-0.828 0.616-1.714 0.582-1.221 0.86z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path d="m270.222 247.265c0 2.304 4.68 3.096 9.144 3.743 4.392 0.648 7.92 1.513 8.136 6.121 0.216 4.535-0.936 7.775 1.08 7.416 4.32-0.793 5.904-5.473 5.832-7.633 0-2.16-3.168-6.047-8.855-8.207-4.177-1.584-7.2-2.305-10.872-2.449-4.897-0.214-4.465 1.009-4.465 1.009z"/>
+   <path fill="#030303" d="m270.348 247.304c0.012 2.239 4.643 2.97 9.049 3.639 4.352 0.675 7.75 1.511 8.11 6.002 0.345 4.415-0.854 7.515 1.136 7.188 4.145-0.739 5.688-5.2 5.607-7.332-0.015-2.151-3.118-5.91-8.733-8.038-4.129-1.563-7.11-2.298-10.74-2.452-4.754-0.217-4.438 0.952-4.429 0.993z"/>
+   <path fill="#070707" d="m270.474 247.342c0.023 2.174 4.605 2.845 8.953 3.533 4.312 0.701 7.58 1.508 8.087 5.885 0.471 4.295-0.771 7.252 1.189 6.963 3.97-0.689 5.472-4.93 5.384-7.033-0.028-2.145-3.068-5.773-8.61-7.87-4.082-1.543-7.022-2.291-10.609-2.456-4.612-0.218-4.412 0.896-4.394 0.978z"/>
+   <path fill="#0b0b0b" d="m270.6 247.379c0.035 2.109 4.568 2.721 8.857 3.431 4.271 0.728 7.411 1.506 8.063 5.767 0.599 4.174-0.689 6.988 1.245 6.735 3.795-0.638 5.257-4.66 5.159-6.733-0.044-2.137-3.019-5.636-8.488-7.701-4.035-1.522-6.933-2.285-10.478-2.459-4.469-0.219-4.384 0.837-4.358 0.96z"/>
+   <path fill="#0f0f0f" d="m270.726 247.418c0.047 2.043 4.531 2.595 8.762 3.324 4.232 0.754 7.242 1.504 8.039 5.649 0.725 4.052-0.608 6.728 1.299 6.509 3.621-0.586 5.041-4.389 4.937-6.436-0.06-2.127-2.971-5.496-8.367-7.53-3.988-1.502-6.842-2.278-10.346-2.464-4.328-0.22-4.359 0.784-4.324 0.948z"/>
+   <path fill="#131313" d="m270.852 247.458c0.059 1.978 4.495 2.469 8.667 3.219 4.19 0.781 7.071 1.502 8.014 5.531 0.854 3.932-0.526 6.465 1.354 6.283 3.445-0.535 4.824-4.119 4.712-6.137-0.074-2.119-2.92-5.359-8.245-7.361-3.941-1.482-6.753-2.271-10.213-2.469-4.186-0.221-4.333 0.726-4.289 0.934z"/>
+   <path fill="#161616" d="m270.978 247.495c0.07 1.914 4.458 2.344 8.57 3.115 4.151 0.807 6.903 1.5 7.99 5.413 0.98 3.812-0.443 6.202 1.409 6.056 3.271-0.482 4.609-3.848 4.488-5.836-0.088-2.111-2.871-5.222-8.123-7.193-3.894-1.461-6.663-2.264-10.081-2.471-4.043-0.223-4.306 0.67-4.253 0.916z"/>
+   <path fill="#1a1a1a" d="m271.104 247.534c0.082 1.848 4.422 2.219 8.476 3.01 4.111 0.832 6.734 1.498 7.965 5.295 1.108 3.69-0.36 5.94 1.464 5.83 3.097-0.433 4.394-3.578 4.265-5.537-0.104-2.104-2.821-5.084-8-7.023-3.848-1.441-6.575-2.26-9.949-2.477-3.905-0.223-4.283 0.613-4.221 0.902z"/>
+   <path fill="#1e1e1e" d="m271.23 247.573c0.094 1.781 4.385 2.092 8.381 2.904 4.07 0.859 6.563 1.495 7.939 5.178 1.236 3.568-0.278 5.678 1.52 5.602 2.921-0.381 4.177-3.305 4.04-5.237-0.118-2.097-2.771-4.946-7.878-6.854-3.8-1.42-6.485-2.252-9.817-2.479-3.762-0.226-4.256 0.556-4.185 0.886z"/>
+   <path fill="#222" d="m271.356 247.61c0.105 1.717 4.348 1.969 8.285 2.801 4.029 0.885 6.395 1.493 7.916 5.059 1.362 3.449-0.197 5.416 1.573 5.377 2.746-0.329 3.962-3.036 3.816-4.939-0.133-2.087-2.722-4.808-7.756-6.684-3.753-1.4-6.396-2.247-9.686-2.484-3.618-0.227-4.227 0.499-4.148 0.87z"/>
+   <path fill="#262626" d="m271.482 247.648c0.118 1.651 4.311 1.843 8.189 2.694 3.99 0.914 6.226 1.492 7.892 4.943 1.491 3.328-0.115 5.152 1.629 5.149 2.571-0.278 3.746-2.765 3.592-4.64-0.146-2.08-2.672-4.672-7.634-6.516-3.705-1.38-6.306-2.24-9.553-2.488-3.478-0.225-4.203 0.446-4.115 0.858z"/>
+   <path fill="#2a2a2a" d="m271.608 247.687c0.129 1.587 4.273 1.716 8.094 2.59 3.95 0.938 6.056 1.489 7.867 4.825 1.618 3.206-0.033 4.891 1.684 4.922 2.396-0.227 3.53-2.494 3.368-4.34-0.162-2.072-2.623-4.534-7.512-6.348-3.658-1.358-6.216-2.232-9.421-2.492-3.336-0.226-4.177 0.39-4.08 0.843z"/>
+   <path fill="#2d2d2d" d="m271.734 247.725c0.141 1.521 4.237 1.591 7.999 2.484 3.909 0.967 5.886 1.488 7.842 4.707 1.746 3.086 0.05 4.629 1.739 4.697 2.221-0.176 3.313-2.225 3.144-4.041-0.177-2.064-2.572-4.396-7.389-6.178-3.612-1.339-6.128-2.227-9.29-2.497-3.194-0.227-4.151 0.334-4.045 0.828z"/>
+   <path fill="#313131" d="m271.86 247.763c0.153 1.456 4.2 1.466 7.903 2.381 3.869 0.991 5.717 1.485 7.817 4.589 1.873 2.965 0.132 4.365 1.794 4.469 2.046-0.123 3.099-1.953 2.92-3.742-0.191-2.055-2.523-4.258-7.267-6.008-3.565-1.318-6.038-2.22-9.158-2.5-3.051-0.229-4.124 0.276-4.009 0.811z"/>
+   <path fill="#353535" d="m271.986 247.801c0.165 1.392 4.163 1.341 7.808 2.275 3.829 1.018 5.547 1.483 7.794 4.473 2 2.843 0.213 4.103 1.848 4.242 1.873-0.074 2.883-1.683 2.696-3.443-0.206-2.047-2.474-4.12-7.145-5.838-3.517-1.299-5.948-2.215-9.026-2.506-2.91-0.229-4.099 0.221-3.975 0.797z"/>
+   <path fill="#393939" d="m272.112 247.84c0.176 1.326 4.126 1.215 7.712 2.17 3.789 1.045 5.378 1.482 7.771 4.354 2.127 2.723 0.295 3.842 1.901 4.016 1.698-0.021 2.667-1.412 2.474-3.144-0.222-2.038-2.426-3.981-7.023-5.669-3.47-1.277-5.859-2.208-8.894-2.509-2.769-0.231-4.074 0.164-3.941 0.782z"/>
+   <path fill="#3d3d3d" d="m272.238 247.877c0.188 1.262 4.089 1.09 7.617 2.066 3.749 1.071 5.208 1.479 7.745 4.236 2.255 2.602 0.377 3.578 1.957 3.789 1.522 0.029 2.451-1.141 2.249-2.844-0.236-2.033-2.375-3.846-6.901-5.5-3.423-1.258-5.769-2.203-8.762-2.514-2.626-0.231-4.046 0.109-3.905 0.767z"/>
+   <path fill="#414141" d="m272.364 247.917c0.2 1.195 4.052 0.965 7.522 1.961 3.708 1.098 5.037 1.477 7.72 4.119 2.383 2.479 0.46 3.315 2.012 3.562 1.348 0.081 2.236-0.87 2.025-2.545-0.251-2.022-2.325-3.707-6.778-5.331-3.377-1.237-5.681-2.195-8.631-2.518-2.485-0.233-4.02 0.05-3.87 0.752z"/>
+   <path fill="#444" d="m272.49 247.956c0.212 1.129 4.015 0.838 7.426 1.855 3.668 1.124 4.869 1.475 7.696 4 2.51 2.359 0.542 3.055 2.067 3.336 1.173 0.133 2.02-0.6 1.801-2.246-0.266-2.016-2.276-3.568-6.656-5.16-3.329-1.218-5.591-2.189-8.499-2.521-2.343-0.235-3.994-0.007-3.835 0.736z"/>
+   <path fill="#484848" d="m272.616 247.993c0.223 1.065 3.979 0.715 7.331 1.752 3.628 1.15 4.699 1.473 7.671 3.883 2.638 2.238 0.624 2.791 2.122 3.108 0.998 0.185 1.804-0.329 1.577-1.946-0.28-2.008-2.227-3.432-6.534-4.992-3.282-1.196-5.501-2.182-8.367-2.525-2.201-0.235-3.968-0.064-3.8 0.72z"/>
+   <path fill="#4c4c4c" d="m272.742 248.032c0.235 1 3.941 0.588 7.235 1.645 3.588 1.178 4.529 1.472 7.646 3.766 2.766 2.118 0.706 2.529 2.177 2.883 0.823 0.235 1.589-0.059 1.354-1.648-0.295-1.998-2.177-3.293-6.412-4.822-3.235-1.176-5.412-2.176-8.235-2.529-2.059-0.239-3.942-0.119-3.765 0.705z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#4c4c4c" d="m287.565 252.854c1.646 1 1.353 2.059 2.412 2.766 0.528 0.352 1.412 0.352 0.882-1-0.706-1.588-1.294-2.472-4.941-3.943-2.353-0.941-1.882 0.059 1.647 2.177z"/>
+   <path fill="#505050" d="m287.609 252.868c1.605 0.975 1.32 2.008 2.353 2.696 0.517 0.343 1.377 0.343 0.86-0.976-0.689-1.549-1.262-2.41-4.82-3.846-2.295-0.917-1.836 0.059 1.607 2.126z"/>
+   <path fill="#545454" d="m287.652 252.879c1.567 0.951 1.287 1.957 2.294 2.629 0.503 0.334 1.343 0.334 0.839-0.951-0.671-1.51-1.23-2.35-4.699-3.749-2.238-0.893-1.79 0.058 1.566 2.071z"/>
+   <path fill="#575757" d="m287.696 252.891c1.526 0.926 1.254 1.908 2.235 2.563 0.489 0.325 1.308 0.325 0.816-0.928-0.653-1.471-1.199-2.289-4.578-3.652-2.179-0.872-1.743 0.055 1.527 2.017z"/>
+   <path fill="#5b5b5b" d="m287.74 252.903c1.485 0.902 1.22 1.857 2.175 2.494 0.479 0.318 1.274 0.318 0.796-0.902-0.637-1.432-1.167-2.229-4.457-3.556-2.122-0.849-1.697 0.054 1.486 1.964z"/>
+   <path fill="#5f5f5f" d="m287.783 252.915c1.446 0.879 1.188 1.808 2.117 2.426 0.464 0.31 1.239 0.31 0.773-0.877-0.619-1.394-1.136-2.168-4.336-3.459-2.064-0.826-1.65 0.052 1.446 1.91z"/>
+   <path fill="#636363" d="m287.827 252.926c1.405 0.854 1.154 1.758 2.057 2.359 0.452 0.301 1.205 0.301 0.754-0.853-0.603-1.354-1.104-2.108-4.216-3.363-2.007-0.801-1.605 0.053 1.405 1.857z"/>
+   <path fill="#676767" d="m287.871 252.94c1.364 0.828 1.121 1.705 1.998 2.29 0.438 0.292 1.17 0.292 0.731-0.828-0.585-1.315-1.072-2.047-4.095-3.267-1.948-0.779-1.558 0.05 1.366 1.805z"/>
+   <path fill="#6b6b6b" d="m287.914 252.952c1.325 0.805 1.088 1.655 1.94 2.223 0.425 0.283 1.135 0.283 0.709-0.803-0.568-1.277-1.041-1.988-3.974-3.17-1.891-0.757-1.512 0.047 1.325 1.75z"/>
+   <path fill="#6e6e6e" d="m287.958 252.963c1.284 0.779 1.056 1.605 1.88 2.156 0.413 0.274 1.102 0.274 0.688-0.779-0.551-1.238-1.009-1.926-3.853-3.073-1.833-0.733-1.466 0.046 1.285 1.696z"/>
+   <path fill="#727272" d="m288.002 252.976c1.243 0.755 1.021 1.554 1.821 2.087 0.399 0.266 1.066 0.266 0.666-0.755-0.533-1.199-0.977-1.865-3.731-2.976-1.776-0.71-1.421 0.045 1.244 1.644z"/>
+   <path fill="#767676" d="m288.045 252.989c1.203 0.73 0.989 1.504 1.763 2.02 0.387 0.257 1.031 0.257 0.645-0.731-0.516-1.159-0.946-1.805-3.61-2.879-1.72-0.688-1.376 0.042 1.202 1.59z"/>
+   <path fill="#7a7a7a" d="m288.089 253c1.163 0.705 0.955 1.453 1.703 1.951 0.373 0.25 0.997 0.25 0.623-0.705-0.499-1.121-0.914-1.744-3.489-2.783-1.661-0.664-1.329 0.041 1.163 1.537z"/>
+   <path fill="#7e7e7e" d="m288.133 253.012c1.122 0.682 0.923 1.404 1.644 1.885 0.361 0.24 0.962 0.24 0.602-0.682-0.481-1.082-0.882-1.684-3.367-2.687-1.605-0.64-1.285 0.041 1.121 1.484z"/>
+   <path fill="#828282" d="m288.176 253.025c1.082 0.657 0.89 1.353 1.586 1.815 0.348 0.232 0.927 0.232 0.578-0.656-0.463-1.043-0.85-1.623-3.245-2.59-1.547-0.618-1.237 0.039 1.081 1.431z"/>
+   <path fill="#858585" d="m288.22 253.038c1.042 0.631 0.855 1.301 1.524 1.748 0.335 0.223 0.894 0.223 0.559-0.633-0.446-1.005-0.818-1.563-3.125-2.492-1.488-0.596-1.19 0.037 1.042 1.377z"/>
+   <path fill="#898989" d="m288.264 253.049c1.001 0.607 0.821 1.252 1.466 1.681 0.322 0.214 0.857 0.214 0.536-0.608-0.43-0.965-0.786-1.502-3.004-2.396-1.43-0.573-1.144 0.034 1.002 1.323z"/>
+   <path fill="#8d8d8d" d="m288.307 253.061c0.961 0.584 0.79 1.201 1.407 1.613 0.309 0.205 0.823 0.205 0.515-0.584-0.412-0.926-0.755-1.441-2.883-2.299-1.373-0.548-1.098 0.034 0.961 1.27z"/>
+   <path fill="#919191" d="m288.351 253.073c0.921 0.559 0.756 1.151 1.348 1.547 0.296 0.196 0.789 0.196 0.493-0.56-0.395-0.888-0.723-1.381-2.762-2.204-1.315-0.525-1.052 0.033 0.921 1.217z"/>
+   <path fill="#959595" d="m288.395 253.084c0.88 0.535 0.723 1.102 1.289 1.479 0.282 0.189 0.754 0.189 0.471-0.534-0.377-0.849-0.691-1.321-2.641-2.106-1.257-0.505-1.006 0.031 0.881 1.161z"/>
+   <path fill="#999" d="m288.438 253.097c0.84 0.51 0.689 1.05 1.229 1.409 0.271 0.181 0.721 0.181 0.45-0.51-0.36-0.81-0.66-1.26-2.52-2.01-1.199-0.48-0.959 0.031 0.841 1.111z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path d="m222.275 107.427c-0.738 0.902 0.574 8.365 5.412 13.285 4.839 4.838 7.791 4.838 9.759 2.706 3.771-4.018 0.738-7.791-1.558-10.415-2.297-2.624-5.248-1.722-7.955-4.346-2.706-2.624-4.592-2.46-5.658-1.23z"/>
+   <path fill="#050505" d="m222.345 107.494c-0.732 0.895 0.569 8.3 5.369 13.182 4.803 4.801 7.731 4.801 9.685 2.685 3.742-3.987 0.731-7.73-1.546-10.334-2.278-2.604-5.208-1.709-7.894-4.312-2.684-2.604-4.556-2.441-5.614-1.221z"/>
+   <path fill="#0a0a0a" d="m222.416 107.561c-0.727 0.888 0.565 8.235 5.328 13.079 4.763 4.763 7.67 4.763 9.607 2.664 3.713-3.956 0.727-7.67-1.534-10.253-2.26-2.584-5.166-1.696-7.831-4.279-2.664-2.583-4.521-2.422-5.57-1.211z"/>
+   <path fill="#0f0f0f" d="m222.486 107.628c-0.721 0.881 0.561 8.17 5.286 12.976 4.726 4.725 7.608 4.725 9.532 2.642 3.684-3.924 0.72-7.609-1.522-10.172-2.243-2.563-5.126-1.682-7.77-4.244-2.643-2.563-4.485-2.403-5.526-1.202z"/>
+   <path fill="#141414" d="m222.556 107.695c-0.716 0.874 0.557 8.105 5.243 12.872 4.689 4.688 7.55 4.688 9.456 2.622 3.655-3.893 0.716-7.549-1.51-10.091-2.224-2.543-5.085-1.669-7.707-4.211-2.621-2.543-4.449-2.384-5.482-1.192z"/>
+   <path fill="#191919" d="m222.627 107.762c-0.71 0.867 0.552 8.04 5.202 12.769 4.65 4.65 7.488 4.65 9.379 2.601 3.626-3.862 0.71-7.489-1.497-10.011s-5.044-1.655-7.646-4.177-4.414-2.364-5.438-1.182z"/>
+   <path fill="#1e1e1e" d="m222.697 107.829c-0.704 0.86 0.547 7.975 5.16 12.666 4.613 4.612 7.428 4.612 9.304 2.579 3.596-3.83 0.703-7.427-1.486-9.929-2.188-2.502-5.003-1.642-7.584-4.143-2.579-2.502-4.378-2.346-5.394-1.173z"/>
+   <path fill="#232323" d="m222.767 107.896c-0.697 0.853 0.543 7.91 5.117 12.562 4.576 4.575 7.367 4.575 9.229 2.559 3.567-3.8 0.698-7.367-1.473-9.848-2.171-2.482-4.963-1.629-7.522-4.11s-4.343-2.326-5.351-1.163z"/>
+   <path fill="#282828" d="m222.838 107.963c-0.691 0.846 0.538 7.845 5.076 12.459 4.537 4.537 7.307 4.537 9.152 2.538 3.537-3.769 0.691-7.307-1.461-9.768-2.154-2.461-4.922-1.615-7.461-4.076-2.538-2.461-4.307-2.307-5.306-1.153z"/>
+   <path fill="#2d2d2d" d="m222.908 108.03c-0.686 0.839 0.534 7.78 5.034 12.355 4.5 4.499 7.246 4.499 9.076 2.516 3.509-3.737 0.686-7.246-1.449-9.686-2.135-2.441-4.881-1.602-7.399-4.042-2.516-2.44-4.271-2.287-5.262-1.143z"/>
+   <path fill="#333" d="m222.978 108.096c-0.681 0.832 0.529 7.715 4.992 12.253 4.463 4.462 7.186 4.462 9.001 2.496 3.479-3.706 0.68-7.186-1.438-9.605-2.118-2.42-4.841-1.588-7.337-4.008s-4.235-2.27-5.218-1.136z"/>
+   <path fill="#383838" d="m223.048 108.163c-0.674 0.825 0.526 7.65 4.95 12.15 4.425 4.425 7.125 4.425 8.925 2.475 3.45-3.675 0.676-7.125-1.425-9.525-2.099-2.4-4.8-1.575-7.274-3.975-2.475-2.399-4.201-2.25-5.176-1.125z"/>
+   <path fill="#3d3d3d" d="m223.119 108.23c-0.669 0.818 0.521 7.585 4.908 12.047 4.387 4.387 7.063 4.387 8.849 2.453 3.42-3.643 0.669-7.064-1.413-9.443-2.082-2.38-4.759-1.562-7.214-3.941-2.453-2.38-4.164-2.231-5.13-1.116z"/>
+   <path fill="#424242" d="m223.189 108.297c-0.663 0.811 0.516 7.52 4.866 11.944 4.35 4.349 7.004 4.349 8.772 2.432 3.392-3.612 0.663-7.004-1.4-9.363-2.064-2.359-4.719-1.548-7.151-3.907-2.433-2.359-4.129-2.212-5.087-1.106z"/>
+   <path fill="#474747" d="m223.259 108.364c-0.656 0.804 0.513 7.455 4.824 11.84 4.313 4.312 6.944 4.312 8.697 2.412 3.362-3.582 0.658-6.944-1.388-9.282-2.046-2.339-4.679-1.535-7.09-3.874-2.411-2.338-4.093-2.192-5.043-1.096z"/>
+   <path fill="#4c4c4c" d="m223.33 108.431c-0.651 0.797 0.507 7.39 4.782 11.737 4.274 4.274 6.882 4.274 8.621 2.39 3.332-3.55 0.651-6.883-1.377-9.201s-4.636-1.521-7.028-3.839c-2.39-2.318-4.057-2.174-4.998-1.087z"/>
+   <path fill="#515151" d="m223.4 108.498c-0.646 0.79 0.503 7.325 4.74 11.634 4.236 4.236 6.821 4.236 8.545 2.369 3.304-3.519 0.646-6.822-1.364-9.12s-4.596-1.508-6.966-3.806c-2.369-2.298-4.022-2.154-4.955-1.077z"/>
+   <path fill="#565656" d="m223.47 108.565c-0.641 0.783 0.499 7.26 4.697 11.53 4.199 4.199 6.763 4.199 8.471 2.349 3.273-3.488 0.64-6.762-1.353-9.039-1.993-2.278-4.556-1.495-6.905-3.773-2.347-2.277-3.985-2.135-4.91-1.067z"/>
+   <path fill="#5b5b5b" d="m223.541 108.632c-0.635 0.776 0.493 7.195 4.656 11.427 4.161 4.161 6.701 4.161 8.393 2.327 3.245-3.456 0.636-6.701-1.34-8.958-1.975-2.257-4.514-1.48-6.843-3.738-2.327-2.257-3.95-2.116-4.866-1.058z"/>
+   <path fill="#606060" d="m223.611 108.699c-0.629 0.769 0.489 7.13 4.614 11.324 4.124 4.123 6.64 4.123 8.317 2.306 3.215-3.425 0.628-6.641-1.328-8.877-1.957-2.237-4.474-1.468-6.78-3.705-2.306-2.236-3.915-2.097-4.823-1.048z"/>
+   <path fill="#666" d="m223.681 108.765c-0.623 0.762 0.484 7.065 4.571 11.221 4.086 4.086 6.58 4.086 8.242 2.285 3.187-3.394 0.623-6.58-1.315-8.796-1.939-2.217-4.434-1.455-6.72-3.671-2.284-2.216-3.878-2.078-4.778-1.039z"/>
+  </g>
+  <g transform="translate(-12.4048,10.0005)">
+   <path fill="#fc0" d="m137.79 109.277c1.978 1.366 2.031 1.607 4.948 3.514 4.64 3.768 12.885 4.616 16.922 4.75 9.233 1.467 25.738-7.161 32.273-11.111 3.291-2.463 9.38-7.551 11.659-7.637 1.405 1.485-0.66 1.792-3.587 3.775-3.906 2.779-7.25 5.156-13.172 8.515-6.338 3.316-16.078 8.794-28.548 8.054-6.542-0.959-6.566-1.024-10.606-3.086-2.4-1.732-7.901-4.608-9.889-6.774z"/>
+   <linearGradient id="al" x1="129.342" gradientUnits="userSpaceOnUse" x2="195.598" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.305" y2="259.305">
+    <stop stop-color="#FAC700" offset="0"/>
+    <stop stop-color="#F7C400" offset=".415"/>
+    <stop stop-color="#F7C400" offset="1"/>
+   </linearGradient>
+   <path fill="url(#al)" d="m137.742 109.259c1.926 1.274 2.165 1.643 5.083 3.554 4.616 3.734 12.716 4.616 16.796 4.763 9.365 1.452 26.05-7.294 32.356-11.159 3.357-2.506 9.344-7.498 11.595-7.604 1.365 1.472-0.728 1.768-3.688 3.814-3.889 2.753-7.119 5.065-12.972 8.383-6.29 3.291-16.078 8.795-28.536 8.104-6.561-0.945-6.851-1.07-10.758-3.079-2.468-1.755-7.876-4.587-9.876-6.776z"/>
+   <linearGradient id="am" x1="129.293" gradientUnits="userSpaceOnUse" x2="195.554" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.311" y2="259.311">
+    <stop stop-color="#F6C200" offset="0"/>
+    <stop stop-color="#EFBC00" offset=".415"/>
+    <stop stop-color="#EFBC00" offset="1"/>
+   </linearGradient>
+   <path fill="url(#am)" d="m137.693 109.24c1.876 1.183 2.3 1.68 5.218 3.595 4.593 3.7 12.548 4.616 16.67 4.776 9.498 1.437 26.364-7.428 32.44-11.207 3.425-2.55 9.308-7.444 11.528-7.57 1.326 1.457-0.795 1.743-3.788 3.854-3.87 2.725-6.99 4.973-12.771 8.25-6.243 3.266-16.078 8.796-28.525 8.154-6.579-0.931-7.134-1.117-10.908-3.073-2.536-1.779-7.852-4.567-9.864-6.779z"/>
+   <linearGradient id="an" x1="129.245" gradientUnits="userSpaceOnUse" x2="195.51" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.317" y2="259.317">
+    <stop stop-color="#F1BD00" offset="0"/>
+    <stop stop-color="#E8B500" offset=".415"/>
+    <stop stop-color="#E8B500" offset="1"/>
+   </linearGradient>
+   <path fill="url(#an)" d="m137.645 109.222c1.825 1.091 2.434 1.715 5.352 3.635 4.569 3.665 12.38 4.615 16.544 4.789 9.631 1.422 26.677-7.562 32.524-11.255 3.491-2.594 9.271-7.392 11.463-7.538 1.287 1.442-0.861 1.718-3.889 3.893-3.853 2.699-6.86 4.882-12.57 8.119-6.195 3.241-16.078 8.797-28.513 8.203-6.6-0.916-7.418-1.163-11.061-3.066-2.603-1.801-7.826-4.546-9.85-6.78z"/>
+   <linearGradient id="ao" x1="129.196" gradientUnits="userSpaceOnUse" x2="195.465" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.322" y2="259.322">
+    <stop stop-color="#EDB800" offset="0"/>
+    <stop stop-color="#E0AD00" offset=".415"/>
+    <stop stop-color="#E0AD00" offset="1"/>
+   </linearGradient>
+   <path fill="url(#ao)" d="m137.596 109.203c1.774 1 2.568 1.752 5.487 3.676 4.545 3.631 12.211 4.615 16.418 4.801 9.764 1.408 26.989-7.695 32.608-11.302 3.557-2.637 9.236-7.338 11.396-7.505 1.247 1.427-0.928 1.693-3.99 3.932-3.833 2.672-6.729 4.791-12.369 7.986-6.148 3.217-16.078 8.799-28.501 8.254-6.619-0.902-7.702-1.21-11.21-3.059-2.672-1.825-7.803-4.525-9.839-6.783z"/>
+   <linearGradient id="ap" x1="129.148" gradientUnits="userSpaceOnUse" x2="195.422" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.327" y2="259.327">
+    <stop stop-color="#E9B300" offset="0"/>
+    <stop stop-color="#D8A500" offset=".415"/>
+    <stop stop-color="#D8A500" offset="1"/>
+   </linearGradient>
+   <path fill="url(#ap)" d="m137.548 109.184c1.724 0.909 2.703 1.788 5.622 3.717 4.522 3.597 12.043 4.615 16.292 4.814 9.896 1.393 27.303-7.829 32.692-11.35 3.624-2.681 9.2-7.286 11.331-7.472 1.208 1.412-0.995 1.668-4.092 3.972-3.814 2.644-6.6 4.698-12.168 7.853-6.101 3.192-16.077 8.8-28.489 8.303-6.638-0.887-7.986-1.256-11.361-3.052-2.741-1.848-7.779-4.504-9.827-6.785z"/>
+   <linearGradient id="aq" x1="129.099" gradientUnits="userSpaceOnUse" x2="195.379" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.332" y2="259.332">
+    <stop stop-color="#E4AE00" offset="0"/>
+    <stop stop-color="#D19E00" offset=".415"/>
+    <stop stop-color="#D19E00" offset="1"/>
+   </linearGradient>
+   <path fill="url(#aq)" d="m137.499 109.166c1.673 0.817 2.838 1.824 5.757 3.757 4.499 3.562 11.875 4.614 16.166 4.827 10.029 1.378 27.615-7.963 32.776-11.398 3.691-2.725 9.164-7.232 11.265-7.439 1.169 1.397-1.061 1.644-4.191 4.01-3.796 2.618-6.469 4.608-11.968 7.722-6.053 3.167-16.077 8.801-28.478 8.353-6.657-0.873-8.27-1.303-11.512-3.046-2.809-1.87-7.755-4.483-9.815-6.786z"/>
+   <linearGradient id="ar" x1="129.051" gradientUnits="userSpaceOnUse" x2="195.338" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.336" y2="259.336">
+    <stop stop-color="#E0A900" offset="0"/>
+    <stop stop-color="#C99600" offset=".415"/>
+    <stop stop-color="#C99600" offset="1"/>
+   </linearGradient>
+   <path fill="url(#ar)" d="m137.451 109.147c1.622 0.726 2.972 1.86 5.892 3.798 4.475 3.528 11.705 4.614 16.04 4.84 10.161 1.362 27.929-8.097 32.859-11.447 3.757-2.767 9.128-7.178 11.2-7.405 1.13 1.382-1.128 1.619-4.294 4.049-3.777 2.592-6.339 4.517-11.767 7.589-6.005 3.143-16.077 8.803-28.466 8.404-6.676-0.859-8.553-1.35-11.663-3.039-2.876-1.894-7.729-4.462-9.801-6.789z"/>
+   <linearGradient id="w" x1="129.003" gradientUnits="userSpaceOnUse" x2="195.296" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.34" y2="259.34">
+    <stop stop-color="#DCA400" offset="0"/>
+    <stop stop-color="#C18E00" offset=".415"/>
+    <stop stop-color="#C18E00" offset="1"/>
+   </linearGradient>
+   <path fill="url(#w)" d="m137.403 109.129c1.571 0.634 3.105 1.896 6.026 3.838 4.45 3.494 11.536 4.614 15.913 4.852 10.295 1.348 28.241-8.23 32.943-11.494 3.824-2.811 9.092-7.125 11.134-7.373 1.092 1.367-1.194 1.594-4.394 4.088-3.759 2.565-6.209 4.425-11.566 7.457-5.957 3.118-16.077 8.804-28.454 8.453-6.694-0.844-8.837-1.396-11.813-3.032-2.945-1.916-7.706-4.44-9.789-6.789z"/>
+   <linearGradient id="x" x1="128.954" gradientUnits="userSpaceOnUse" x2="195.255" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.343" y2="259.343">
+    <stop stop-color="#D79F00" offset="0"/>
+    <stop stop-color="#BA8700" offset=".415"/>
+    <stop stop-color="#BA8700" offset="1"/>
+   </linearGradient>
+   <path fill="url(#x)" d="m137.354 109.11c1.521 0.543 3.241 1.932 6.161 3.879 4.428 3.459 11.368 4.613 15.788 4.865 10.427 1.333 28.554-8.364 33.026-11.542 3.892-2.855 9.057-7.073 11.068-7.339 1.052 1.353-1.261 1.569-4.495 4.127-3.74 2.538-6.078 4.334-11.365 7.325-5.91 3.093-16.077 8.805-28.441 8.503-6.716-0.83-9.121-1.443-11.966-3.026-3.012-1.939-7.68-4.42-9.776-6.792z"/>
+   <linearGradient id="y" x1="128.906" gradientUnits="userSpaceOnUse" x2="195.216" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.348" y2="259.348">
+    <stop stop-color="#D39B00" offset="0"/>
+    <stop stop-color="#B27F00" offset=".415"/>
+    <stop stop-color="#B27F00" offset="1"/>
+   </linearGradient>
+   <path fill="url(#y)" d="m137.306 109.091c1.47 0.451 3.375 1.969 6.296 3.919 4.403 3.426 11.2 4.614 15.662 4.879 10.559 1.318 28.865-8.498 33.109-11.59 3.958-2.899 9.021-7.02 11.003-7.306 1.013 1.337-1.328 1.544-4.596 4.167-3.722 2.511-5.949 4.242-11.165 7.192-5.862 3.068-16.077 8.807-28.43 8.553-6.734-0.816-9.405-1.489-12.116-3.019-3.08-1.963-7.656-4.4-9.763-6.795z"/>
+   <linearGradient id="z" x1="128.857" gradientUnits="userSpaceOnUse" x2="195.176" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.35" y2="259.35">
+    <stop stop-color="#CF9600" offset="0"/>
+    <stop stop-color="#a70" offset=".415"/>
+    <stop stop-color="#a70" offset="1"/>
+   </linearGradient>
+   <path fill="url(#z)" d="m137.257 109.073c1.421 0.359 3.511 2.005 6.432 3.959 4.38 3.392 11.032 4.614 15.536 4.892 10.691 1.303 29.179-8.631 33.193-11.638 4.024-2.942 8.984-6.967 10.938-7.274 0.973 1.323-1.396 1.521-4.697 4.206-3.703 2.484-5.818 4.151-10.964 7.06-5.814 3.043-16.077 8.808-28.418 8.603-6.753-0.802-9.689-1.535-12.268-3.012-3.149-1.986-7.632-4.378-9.752-6.796z"/>
+   <linearGradient id="aa" x1="128.809" gradientUnits="userSpaceOnUse" x2="195.137" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.354" y2="259.354">
+    <stop stop-color="#CA9100" offset="0"/>
+    <stop stop-color="#A37000" offset=".415"/>
+    <stop stop-color="#A37000" offset="1"/>
+   </linearGradient>
+   <path fill="url(#aa)" d="m137.209 109.054c1.368 0.268 3.645 2.041 6.565 4 4.356 3.357 10.864 4.613 15.41 4.904 10.824 1.289 29.493-8.764 33.277-11.685 4.092-2.986 8.948-6.914 10.871-7.241 0.935 1.308-1.461 1.496-4.797 4.245-3.685 2.457-5.688 4.06-10.763 6.928-5.768 3.018-16.077 8.809-28.407 8.653-6.771-0.788-9.972-1.582-12.418-3.006-3.216-2.008-7.607-4.357-9.738-6.798z"/>
+   <linearGradient id="ab" x1="128.76" gradientUnits="userSpaceOnUse" x2="195.099" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.356" y2="259.356">
+    <stop stop-color="#C68C00" offset="0"/>
+    <stop stop-color="#9B6800" offset=".415"/>
+    <stop stop-color="#9B6800" offset="1"/>
+   </linearGradient>
+   <path fill="url(#ab)" d="m137.16 109.036c1.318 0.176 3.779 2.077 6.701 4.04 4.333 3.323 10.695 4.613 15.284 4.917 10.957 1.274 29.805-8.898 33.36-11.733 4.158-3.03 8.912-6.86 10.807-7.208 0.894 1.292-1.528 1.471-4.899 4.284-3.666 2.43-5.558 3.968-10.562 6.796-5.72 2.993-16.077 8.81-28.396 8.702-6.791-0.773-10.256-1.628-12.568-2.999-3.285-2.031-7.583-4.336-9.727-6.799z"/>
+   <linearGradient id="ac" x1="128.712" gradientUnits="userSpaceOnUse" x2="195.062" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.358" y2="259.358">
+    <stop stop-color="#C28700" offset="0"/>
+    <stop stop-color="#936000" offset=".415"/>
+    <stop stop-color="#936000" offset="1"/>
+   </linearGradient>
+   <path fill="url(#ac)" d="m137.112 109.017c1.267 0.085 3.912 2.113 6.835 4.081 4.31 3.289 10.527 4.613 15.158 4.93 11.09 1.258 30.118-9.032 33.445-11.782 4.225-3.072 8.877-6.807 10.739-7.174 0.855 1.278-1.595 1.446-5 4.323-3.647 2.404-5.427 3.877-10.36 6.663-5.673 2.969-16.077 8.812-28.384 8.753-6.811-0.759-10.54-1.675-12.719-2.992-3.353-2.055-7.559-4.315-9.714-6.802z"/>
+   <linearGradient id="ad" x1="128.663" gradientUnits="userSpaceOnUse" x2="195.025" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.36" y2="259.36">
+    <stop stop-color="#BD8200" offset="0"/>
+    <stop stop-color="#8C5900" offset=".415"/>
+    <stop stop-color="#8C5900" offset="1"/>
+   </linearGradient>
+   <path fill="url(#ad)" d="m137.063 108.998c1.217-0.006 4.047 2.15 6.97 4.122 4.286 3.254 10.359 4.612 15.032 4.943 11.223 1.243 30.431-9.166 33.53-11.83 4.289-3.116 8.84-6.753 10.673-7.141 0.815 1.263-1.661 1.421-5.101 4.362-3.63 2.377-5.298 3.785-10.161 6.531-5.624 2.944-16.075 8.813-28.37 8.802-6.83-0.744-10.824-1.721-12.87-2.985-3.422-2.077-7.535-4.294-9.703-6.804z"/>
+   <linearGradient id="ae" x1="128.615" gradientUnits="userSpaceOnUse" x2="194.989" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.362" y2="259.362">
+    <stop stop-color="#B97D00" offset="0"/>
+    <stop stop-color="#845100" offset=".415"/>
+    <stop stop-color="#845100" offset="1"/>
+   </linearGradient>
+   <path fill="url(#ae)" d="m137.015 108.98c1.166-0.098 4.181 2.185 7.104 4.162 4.262 3.22 10.19 4.612 14.906 4.955 11.354 1.229 30.743-9.299 33.613-11.877 4.356-3.16 8.804-6.7 10.607-7.108 0.776 1.248-1.728 1.397-5.202 4.401-3.61 2.35-5.167 3.694-9.96 6.399-5.576 2.919-16.076 8.814-28.358 8.852-6.85-0.73-11.108-1.768-13.021-2.979-3.489-2.1-7.51-4.273-9.689-6.805z"/>
+   <linearGradient id="af" x1="128.567" gradientUnits="userSpaceOnUse" x2="194.954" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.364" y2="259.364">
+    <stop stop-color="#B57800" offset="0"/>
+    <stop stop-color="#7C4900" offset=".415"/>
+    <stop stop-color="#7C4900" offset="1"/>
+   </linearGradient>
+   <path fill="url(#af)" d="m136.967 108.961c1.115-0.189 4.315 2.222 7.239 4.203 4.239 3.186 10.021 4.612 14.78 4.968 11.488 1.214 31.057-9.433 33.697-11.925 4.424-3.203 8.768-6.647 10.542-7.075 0.736 1.233-1.795 1.372-5.303 4.44-3.593 2.323-5.038 3.603-9.759 6.266-5.529 2.895-16.077 8.816-28.348 8.903-6.868-0.716-11.392-1.815-13.172-2.972-3.557-2.124-7.485-4.252-9.676-6.808z"/>
+   <linearGradient id="ah" x1="128.518" gradientUnits="userSpaceOnUse" x2="194.918" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.366" y2="259.366">
+    <stop stop-color="#B07300" offset="0"/>
+    <stop stop-color="#754200" offset=".415"/>
+    <stop stop-color="#754200" offset="1"/>
+   </linearGradient>
+   <path fill="url(#ah)" d="m136.918 108.943c1.064-0.281 4.45 2.257 7.374 4.243 4.216 3.151 9.854 4.611 14.654 4.981 11.621 1.199 31.37-9.567 33.781-11.973 4.49-3.247 8.731-6.594 10.476-7.042 0.698 1.218-1.861 1.347-5.403 4.479-3.573 2.296-4.906 3.511-9.558 6.134-5.48 2.87-16.076 8.817-28.336 8.952-6.887-0.701-11.675-1.861-13.323-2.965-3.626-2.146-7.462-4.231-9.665-6.809z"/>
+   <linearGradient id="ai" x1="128.47" gradientUnits="userSpaceOnUse" x2="194.886" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.367" y2="259.367">
+    <stop stop-color="#AC6E00" offset="0"/>
+    <stop stop-color="#6D3A00" offset=".415"/>
+    <stop stop-color="#6D3A00" offset="1"/>
+   </linearGradient>
+   <path fill="url(#ai)" d="m136.87 108.924c1.013-0.372 4.584 2.294 7.509 4.284 4.191 3.117 9.685 4.611 14.528 4.994 11.753 1.184 31.682-9.701 33.864-12.021 4.557-3.291 8.695-6.542 10.411-7.009 0.657 1.203-1.929 1.322-5.504 4.518-3.557 2.269-4.777 3.42-9.358 6.002-5.434 2.845-16.076 8.818-28.324 9.002-6.907-0.687-11.959-1.908-13.474-2.959-3.694-2.169-7.437-4.21-9.652-6.811z"/>
+   <linearGradient id="aj" x1="128.421" gradientUnits="userSpaceOnUse" x2="194.85" gradientTransform="matrix(1,0,0,-1,8.3999,368.3)" y1="259.369" y2="259.369">
+    <stop stop-color="#A86A00" offset="0"/>
+    <stop stop-color="#663200" offset=".415"/>
+    <stop stop-color="#663200" offset="1"/>
+   </linearGradient>
+   <path fill="url(#aj)" d="m136.821 108.905c0.963-0.464 4.719 2.33 7.644 4.324 4.168 3.083 9.517 4.611 14.402 5.007 11.886 1.169 31.995-9.834 33.948-12.069 4.624-3.334 8.66-6.487 10.345-6.976 0.619 1.188-1.995 1.298-5.604 4.558-3.537 2.242-4.647 3.328-9.157 5.869-5.386 2.82-16.076 8.82-28.313 9.052-6.926-0.673-12.243-1.954-13.625-2.952-3.762-2.192-7.413-4.189-9.64-6.813z"/>
+  </g>
+ </g>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/use.svg b/svg-example/res/com/kitfox/svg/example/use.svg
new file mode 100644
index 0000000..c99ba1d
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/use.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="10cm" height="3cm" viewBox="0 0 100 30" version="1.1"
+     xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <desc>Example Use01 - Simple case of 'use' on a 'rect'</desc>
+  <defs>
+    <rect id="MyRect" width="60" height="10"/>
+  </defs>
+  <rect x=".1" y=".1" width="99.8" height="29.8"
+        fill="none" stroke="blue" stroke-width=".2" />
+  <use x="20" y="10" xlink:href="#MyRect" />
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/viewboxTest.svg b/svg-example/res/com/kitfox/svg/example/viewboxTest.svg
new file mode 100644
index 0000000..0b5030f
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/viewboxTest.svg
@@ -0,0 +1,29 @@
+<?xml-stylesheet href="linetype.css" type="text/css"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" viewBox="512.8 -316.9 667 635.1">
+<defs>
+<g id="PROJ92">
+<g id="PROJ92surf_back"/>
+<g id="PROJ92surf_normal">
+<path id="PRIM117428752" fill="#CC9966" fill-rule="evenodd" stroke="#CC9966" stroke-width="0.05%" d="M 581.3,-263.5 L 582.8,-265.4 L 586.2,-269.8 L 587.9,-271.9 L 589.6,-273.9 L 591.4,-275.8 L 593.3,-277.6 L 595.2,-279.3 L 597.3,-280.9 L 599.4,-282.5 L 601.6,-284 L 603.8,-285.4 L 606.1,-286.7 L 611,-289.3 L 615.9,-291.6 L 620.9,-293.7 L 623.4,-294.6 L 626,-295.5 L 628.5,-296.3 L 631.1,-297 L 633.7,-297.6 L 634.2,-297.7 L 636.5,-298.1 L 639,-298.5 L 641.6,-298.7 L 644.3,-298.8 L 687.5,-29 [...]
+<ellipse id="PRIM119401584" stroke-width="0.05%" class="CONTINUOUS" stroke="#F0F000" fill="#F0F000" cx="687.5" cy="-73.9" rx="3" ry="3"/>
+<ellipse id="PRIM119647488" stroke-width="0.05%" class="CONTINUOUS" stroke="#F0F000" fill="#F0F000" cx="659.5" cy="-51.8" rx="3" ry="3"/>
+<ellipse id="PRIM124677728" stroke-width="0.05%" class="CONTINUOUS" stroke="#F0F000" fill="#F0F000" cx="715.5" cy="-51.8" rx="3" ry="3"/>
+</g>
+<g id="PROJ92surf_front"/>
+<g id="PROJ92linear">
+<path id="PRIM124693336" stroke-width="0.05%" class="CONTINUOUS" stroke="#444444" fill="none" d="M 581.3,-263.5 L 582.8,-265.4 L 586.2,-269.8 L 587.9,-271.9 L 589.6,-273.9 L 591.4,-275.8 L 593.3,-277.6 L 595.2,-279.3 L 597.3,-280.9 L 599.4,-282.5 L 601.6,-284 L 603.8,-285.4 L 606.1,-286.7 L 611,-289.3 L 615.9,-291.6 L 620.9,-293.7 L 623.4,-294.6 L 626,-295.5 L 628.5,-296.3 L 631.1,-297 L 633.7,-297.6 L 634.2,-297.7 L 636.5,-298.1 L 639,-298.5 L 641.6,-298.7 L 644.3,-298.8 L 687.5,-298.9  [...]
+</g>
+</g>
+</defs>
+<g id="surf_back">
+</g>
+<g id="surf_normal">
+<use xlink:href="#PROJ92surf_back" transform="matrix(1 0 0 1 0 321.6)" class="CONTINUOUS" stroke="#444444" />
+<use xlink:href="#PROJ92surf_normal" transform="matrix(1 0 0 1 0 321.6)" class="CONTINUOUS" stroke="#444444" />
+<use xlink:href="#PROJ92surf_front" transform="matrix(1 0 0 1 0 321.6)" class="CONTINUOUS" stroke="#444444" />
+</g>
+<g id="surf_front"/>
+<g id="linear">
+<use xlink:href="#PROJ92linear" transform="matrix(1 0 0 1 0 321.6)" class="CONTINUOUS" stroke="#444444" />
+</g>
+</svg>
\ No newline at end of file
diff --git a/svg-example/res/com/kitfox/svg/example/visio.svg b/svg-example/res/com/kitfox/svg/example/visio.svg
new file mode 100644
index 0000000..a394e09
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/visio.svg
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generiert durch Microsoft Visio 11.0, SVG Export, v1.0 visio.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+		xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="1.98934in" height="1.00509in"
+		viewBox="0 0 143.232 72.3661" xml:space="preserve" color-interpolation-filters="sRGB" class="st4">
+	<v:documentProperties v:langID="1031" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+		.st2 {fill:#000000;font-family:Calibri;font-size:1.33333em}
+		.st3 {fill:#92d050;fill-opacity:0.5;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+		.st4 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<g id="shape1-1" v:mID="1" v:groupContext="shape" transform="translate(0.75,-0.75)">
+			<title>Tabelle.1</title>
+			<desc>Visio</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="70.8661" cy="36.9331" width="141.74" height="70.8661"/>
+			<rect x="0" y="1.5" width="141.732" height="70.8661" class="st1"/>
+			<text x="55.31" y="41.73" class="st2" v:langID="1031"><v:paragraph v:horizAlign="1"/><v:tabList/>Visio</text>		</g>
+		<g id="shape3-4" v:mID="3" v:groupContext="shape" transform="translate(0.75,-0.75)">
+			<title>Tabelle.3</title>
+			<rect x="0" y="36.9331" width="141.732" height="35.4331" class="st3"/>
+		</g>
+	</g>
+</svg>
diff --git a/svg-example/res/com/kitfox/svg/example/x.svg b/svg-example/res/com/kitfox/svg/example/x.svg
new file mode 100644
index 0000000..a5bc59f
--- /dev/null
+++ b/svg-example/res/com/kitfox/svg/example/x.svg
@@ -0,0 +1,5161 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> 
+<!-- 
+========================================================================================================================
+==                                                                                                                    ==
+== LEAD Technologies, Inc.  The undisputed LEADer in imaging developer toolkits                                       ==
+==                                                                                                                    ==
+== Copyright(c) 2002                                                                                                  ==
+==                                                                                                                    ==
+== This document was generated by the SVGWriter. Do NOT alter the content of this header in anyway. for more informa- ==
+== tion about the SVGWriter, the Vector Toolkit or any other products, please refer to LEAD Technologies Inc. website ==
+==                                                                                                                    ==
+== http://www.leadtools.com                                                                                           ==
+==                                                                                                                    ==
+== or you may contact LEAD Technologies sales dept.:                                                                  ==
+==                                                                                                                    ==
+== The LEAD Technologies Sales department is available Monday-Friday, between the hours 8:30AM - 6:00PM Eastern Time. ==
+==                                                                                                                    ==
+== Voice: 704-332-5532 or 800-637-4699                                                                                ==
+== Fax  : 704-372-8161                                                                                                ==
+== eMail: sales at leadtools.com                                                                                         ==
+==                                                                                                                    ==
+== with LEAD Technologies products... you are the imaging expert.                                                     ==
+==                                                                                                                    ==
+========================================================================================================================
+ -->
+
+
+<svg viewBox="0 0 300 200">
+	<defs>
+	<pattern id="brushDiagForward" patternUnits="userSpaceOnUse" x="0" y="0" width="10" height="10" viewBox="0 0 10 10" >
+		<line x1="0" y1="0" x2="10" y2="10" stroke="#000000" stroke-width="1" />
+	</pattern>
+	<pattern id="brushDiagBack" patternUnits="userSpaceOnUse" x="0" y="0" width="10" height="10" viewBox="0 0 10 10" >
+		<line x1="10" y1="0" x2="0" y2="10" stroke="#000000" stroke-width="1" />
+	</pattern>
+	<pattern id="brushHorz" patternUnits="userSpaceOnUse" x="0" y="0" width="10" height="10" viewBox="0 0 10 10" >
+		<line x1="0" y1="10" x2="10" y2="10" stroke="#000000" stroke-width="1" />
+	</pattern>
+	<pattern id="brushVert" patternUnits="userSpaceOnUse" x="0" y="0" width="10" height="10" viewBox="0 0 10 10" >
+		<line x1="0" y1="0" x2="0" y2="10" stroke="#000000" stroke-width="1" />
+	</pattern>
+	<pattern id="brushCross" patternUnits="userSpaceOnUse" x="0" y="0" width="10" height="10" viewBox="0 0 10 10" >
+		<line x1="0" y1="5" x2="10" y2="5" stroke="#000000" stroke-width="1" />
+		<line x1="5" y1="0" x2="5" y2="10" stroke="#000000" stroke-width="1" />
+	</pattern>
+	<pattern id="brushDiagCross" patternUnits="userSpaceOnUse" x="0" y="0" width="10" height="10" viewBox="0 0 10 10" >
+		<line x1="0" y1="0" x2="10" y2="10" stroke="#000000" stroke-width="1" />
+		<line x1="10" y1="0" x2="0" y2="10" stroke="#000000" stroke-width="1" />
+	</pattern>
+
+	</defs>
+	<path d="M12.306,98.4483 L357.248,98.4483 L357.248,862.915 " fill="none" stroke="#FFFFFF" />
+	<path d="M12.306,451.222 L12.306,450.849 L13.0519,450.476 L13.4248,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M14.1706,450.849 L14.1706,451.595 L13.4248,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M14.1706,450.849 L14.9164,450.476 L15.2893,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M16.4081,450.849 L16.0351,451.595 L15.2893,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M16.4081,450.849 L17.1539,450.476 L17.5268,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M18.6455,450.849 L18.2726,451.595 L17.5268,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M18.6455,450.849 L19.3913,450.476 L19.7643,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M20.5101,450.849 L20.1372,451.595 L19.7643,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M20.5101,450.849 L21.2559,450.476 L21.6288,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M22.7475,450.849 L22.3746,451.595 L21.6288,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M22.7475,450.849 L23.4934,450.476 L23.8663,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M24.985,450.849 L24.6121,451.595 L23.8663,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M24.985,450.849 L25.3579,450.476 L25.7308,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M26.8495,450.849 L26.4766,451.595 L25.7308,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M26.8495,450.849 L27.5954,450.476 L27.9683,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M29.087,450.849 L28.7141,451.595 L27.9683,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M29.087,450.849 L29.8328,450.476 L30.2057,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M30.9516,450.849 L30.5787,451.595 L30.2057,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M30.9516,450.849 L31.6974,450.476 L32.0703,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M33.189,450.849 L32.8161,451.595 L32.0703,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M33.189,450.849 L33.9348,450.476 L34.3078,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M35.4265,450.849 L35.0536,451.595 L34.3078,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M35.4265,450.849 L36.1723,450.476 L36.1723,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M37.291,450.849 L36.9181,451.595 L36.1723,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M37.291,450.849 L38.0369,450.476 L38.4098,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M39.5285,450.849 L39.1556,451.595 L38.4098,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M39.5285,450.849 L40.2743,450.476 L40.6472,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M41.3931,450.849 L41.3931,451.595 L40.6472,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M41.3931,450.849 L42.1389,450.476 L42.5118,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M43.6305,450.849 L43.2576,451.595 L42.5118,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M43.6305,450.849 L44.3763,450.476 L44.7492,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M45.868,450.849 L45.4951,451.595 L44.7492,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M45.868,450.849 L46.6138,450.476 L46.9867,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M47.7325,450.849 L47.3596,451.595 L46.9867,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M47.7325,450.849 L48.4784,450.476 L48.8513,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M49.97,450.849 L49.5971,451.595 L48.8513,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M49.97,450.849 L50.7158,450.476 L51.0887,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M52.2075,450.849 L51.8345,451.595 L51.0887,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M52.2075,450.849 L52.5804,450.476 L52.9533,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M54.072,450.849 L53.6991,451.595 L52.9533,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M54.072,450.849 L54.8178,450.476 L55.1907,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,450.849 L55.9366,451.595 L55.1907,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,450.849 L57.0553,450.476 L57.4282,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M58.174,450.849 L58.174,451.595 L57.4282,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M58.174,450.849 L58.9198,450.476 L59.2928,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M60.4115,450.849 L60.0386,451.595 L59.2928,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M60.4115,450.849 L61.1573,450.476 L61.5302,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M62.6489,450.849 L62.276,451.595 L61.5302,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M62.6489,450.849 L63.3948,450.476 L63.3948,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M64.5135,450.849 L64.1406,451.595 L63.3948,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M64.5135,450.849 L65.2593,450.849 L65.2593,451.222 L66.0051,451.967 L65.2593,452.34 " fill="none" stroke="#00FF00" />
+	<path d="M65.2593,453.459 L64.8864,453.086 L65.2593,452.34 " fill="none" stroke="#00FF00" />
+	<path d="M65.2593,453.459 L66.0051,453.832 L65.2593,454.205 " fill="none" stroke="#00FF00" />
+	<path d="M65.2593,455.324 L64.8864,454.951 L65.2593,454.205 " fill="none" stroke="#00FF00" />
+	<path d="M65.2593,455.324 L65.2593,456.069 L64.5135,456.069 L64.1406,456.442 L63.3948,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M62.6489,456.069 L63.3948,455.324 L63.3948,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M62.6489,456.069 L62.276,456.442 L61.5302,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M60.4115,456.069 L61.1573,455.324 L61.5302,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M60.4115,456.069 L60.0386,456.442 L59.2928,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M58.174,456.069 L58.9198,455.324 L59.2928,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M58.174,456.069 L58.174,456.442 L57.4282,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,456.069 L57.0553,455.324 L57.4282,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,456.069 L55.9366,456.442 L55.1907,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M54.072,456.069 L54.8178,455.324 L55.1907,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M54.072,456.069 L53.6991,456.442 L52.9533,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M52.2075,456.069 L52.5804,455.324 L52.9533,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M52.2075,456.069 L51.8345,456.442 L51.0887,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M49.97,456.069 L50.7158,455.324 L51.0887,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M49.97,456.069 L49.5971,456.442 L48.8513,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M47.7325,456.069 L48.4784,455.324 L48.8513,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M47.7325,456.069 L47.3596,456.442 L46.9867,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M45.868,456.069 L46.6138,455.324 L46.9867,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M45.868,456.069 L45.4951,456.442 L44.7492,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M43.6305,456.069 L44.3763,455.324 L44.7492,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M43.6305,456.069 L43.2576,456.442 L42.5118,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M41.3931,456.069 L42.1389,455.324 L42.5118,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M41.3931,456.069 L41.3931,456.442 L40.6472,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M39.5285,456.069 L40.2743,455.324 L40.6472,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M39.5285,456.069 L39.1556,456.442 L38.4098,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M37.291,456.069 L38.0369,455.324 L38.4098,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M37.291,456.069 L36.9181,456.442 L36.1723,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M35.4265,456.069 L36.1723,455.324 L36.1723,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M35.4265,456.069 L35.0536,456.442 L34.3078,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M33.189,456.069 L33.9348,455.324 L34.3078,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M33.189,456.069 L32.8161,456.442 L32.0703,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M30.9516,456.069 L31.6974,455.324 L32.0703,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M30.9516,456.069 L30.5787,456.442 L30.2057,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M29.087,456.069 L29.8328,455.324 L30.2057,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M29.087,456.069 L28.7141,456.442 L27.9683,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M26.8495,456.069 L27.5954,455.324 L27.9683,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M26.8495,456.069 L26.4766,456.442 L25.7308,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M24.985,456.069 L25.3579,455.324 L25.7308,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M24.985,456.069 L24.6121,456.442 L23.8663,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M22.7475,456.069 L23.4934,455.324 L23.8663,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M22.7475,456.069 L22.3746,456.442 L21.6288,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M20.5101,456.069 L21.2559,455.324 L21.6288,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M20.5101,456.069 L20.1372,456.442 L19.7643,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M18.6455,456.069 L19.3913,455.324 L19.7643,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M18.6455,456.069 L18.2726,456.442 L17.5268,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M16.4081,456.069 L17.1539,455.324 L17.5268,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M16.4081,456.069 L16.0351,456.442 L15.2893,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M14.1706,456.069 L14.9164,455.324 L15.2893,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M14.1706,456.069 L14.1706,456.442 L13.4248,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M12.306,456.069 L13.0519,455.324 L13.4248,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M12.306,456.069 L12.306,456.442 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,342.332 L55.5637,342.332 L55.1907,343.078 L54.4449,342.332 " fill="none" stroke="#00FF00" />
+	<path d="M53.3262,342.332 L54.072,341.959 L54.4449,342.332 " fill="none" stroke="#00FF00" />
+	<path d="M53.3262,342.332 L52.9533,342.332 L52.5804,341.959 L52.9533,341.213 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,340.467 L53.3262,341.213 L52.9533,341.213 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,340.467 L52.5804,340.094 L52.9533,339.348 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,338.23 L53.3262,338.976 L52.9533,339.348 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,338.23 L52.5804,337.857 L52.9533,337.111 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,335.992 L53.3262,336.738 L52.9533,337.111 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,335.992 L52.5804,335.619 L52.9533,335.246 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,334.128 L53.3262,334.874 L52.9533,335.246 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,334.128 L52.5804,334.128 L52.5804,334.501 L51.8345,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M50.7158,334.128 L51.4616,333.382 L51.8345,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M50.7158,334.128 L50.3429,334.501 L49.5971,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M48.4784,334.128 L49.2242,333.382 L49.5971,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M48.4784,334.128 L48.1054,334.501 L47.3596,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M46.6138,334.128 L46.9867,333.382 L47.3596,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M46.6138,334.128 L46.2409,334.501 L45.4951,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M44.3763,334.128 L45.1222,333.382 L45.4951,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M44.3763,334.128 L44.0034,334.501 L43.2576,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M42.1389,334.128 L42.8847,333.382 L43.2576,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M42.1389,334.128 L41.766,334.501 L41.3931,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M40.2743,334.128 L41.0201,333.382 L41.3931,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M40.2743,334.128 L39.9014,334.501 L39.1556,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M38.0369,334.128 L38.7827,333.382 L39.1556,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M38.0369,334.128 L37.664,334.501 L36.9181,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M36.1723,334.128 L36.5452,333.382 L36.9181,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M36.1723,334.128 L35.7994,334.501 L35.0536,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M33.9348,334.128 L34.6807,333.382 L35.0536,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M33.9348,334.128 L33.5619,334.501 L32.8161,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M31.6974,334.128 L32.4432,333.382 L32.8161,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M31.6974,334.128 L31.3245,334.501 L30.5787,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M29.8328,334.128 L30.5787,333.382 L30.5787,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M29.8328,334.128 L29.4599,334.501 L28.7141,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M27.5954,334.128 L28.3412,333.382 L28.7141,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M27.5954,334.128 L27.2225,334.501 L26.4766,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M25.3579,334.128 L26.1037,333.382 L26.4766,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M25.3579,334.128 L24.985,334.501 L24.6121,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M23.4934,334.128 L24.2392,333.382 L24.6121,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M23.4934,334.128 L23.1204,334.501 L22.3746,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M21.2559,334.128 L22.0017,333.382 L22.3746,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M21.2559,334.128 L20.883,334.501 L20.1372,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M19.3913,334.128 L19.7643,333.382 L20.1372,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M19.3913,334.128 L19.0184,334.501 L18.2726,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M17.1539,334.128 L17.8997,333.382 L18.2726,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M17.1539,334.128 L16.781,334.501 L16.0351,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M14.9164,334.128 L15.6622,333.382 L16.0351,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M14.9164,334.128 L14.5435,334.501 L14.1706,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M13.0519,334.128 L13.7977,333.382 L14.1706,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M13.0519,334.128 L12.679,334.501 L12.306,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M13.0519,372.165 L12.679,372.91 L12.306,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M13.0519,372.165 L13.7977,371.792 L14.1706,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M14.9164,372.165 L14.5435,372.91 L14.1706,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M14.9164,372.165 L15.6622,371.792 L16.0351,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M17.1539,372.165 L16.781,372.91 L16.0351,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M17.1539,372.165 L17.8997,371.792 L18.2726,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M19.3913,372.165 L19.0184,372.91 L18.2726,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M19.3913,372.165 L19.7643,371.792 L20.1372,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M21.2559,372.165 L20.883,372.91 L20.1372,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M21.2559,372.165 L22.0017,371.792 L22.3746,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M23.4934,372.165 L23.1204,372.91 L22.3746,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M23.4934,372.165 L24.2392,371.792 L24.6121,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M25.3579,372.165 L24.985,372.91 L24.6121,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M25.3579,372.165 L26.1037,371.792 L26.4766,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M27.5954,372.165 L27.2225,372.91 L26.4766,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M27.5954,372.165 L28.3412,371.792 L28.7141,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M29.8328,372.165 L29.4599,372.91 L28.7141,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M29.8328,372.165 L30.5787,371.792 L30.5787,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M31.6974,372.165 L31.3245,372.91 L30.5787,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M31.6974,372.165 L32.4432,371.792 L32.8161,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M33.9348,372.165 L33.5619,372.91 L32.8161,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M33.9348,372.165 L34.6807,371.792 L35.0536,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M36.1723,372.165 L35.7994,372.91 L35.0536,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M36.1723,372.165 L36.5452,371.792 L36.9181,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M38.0369,372.165 L37.664,372.91 L36.9181,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M38.0369,372.165 L38.7827,371.792 L39.1556,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M40.2743,372.165 L39.9014,372.91 L39.1556,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M40.2743,372.165 L41.0201,371.792 L41.3931,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M42.1389,372.165 L41.766,372.91 L41.3931,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M42.1389,372.165 L42.8847,371.792 L43.2576,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M44.3763,372.165 L44.0034,372.91 L43.2576,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M44.3763,372.165 L45.1222,371.792 L45.4951,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M46.6138,372.165 L46.2409,372.91 L45.4951,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M46.6138,372.165 L46.9867,371.792 L47.3596,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M48.4784,372.165 L48.1054,372.91 L47.3596,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M48.4784,372.165 L49.2242,371.792 L49.5971,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M50.7158,372.165 L50.3429,372.91 L49.5971,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M50.7158,372.165 L51.4616,371.792 L51.8345,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M52.5804,372.165 L52.5804,372.91 L51.8345,372.165 " fill="none" stroke="#00FF00" />
+	<path d="M52.5804,372.165 L52.9533,372.165 L52.9533,371.046 L52.5804,370.673 L52.9533,370.3 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,369.181 L53.3262,369.927 L52.9533,370.3 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,369.181 L52.5804,368.808 L52.9533,368.063 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,366.944 L53.3262,367.69 L52.9533,368.063 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,366.944 L52.5804,366.571 L52.9533,365.825 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,365.079 L53.3262,365.452 L52.9533,365.825 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,365.079 L52.9533,364.333 L53.3262,364.333 L54.072,363.588 L54.4449,364.333 " fill="none" stroke="#00FF00" />
+	<path d="M55.5637,364.333 L55.1907,364.706 L54.4449,364.333 " fill="none" stroke="#00FF00" />
+	<path d="M55.5637,364.333 L56.3095,364.333 L56.3095,364.706 L56.6824,365.079 L56.3095,365.452 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,366.571 L55.5637,365.825 L56.3095,365.452 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,366.571 L56.6824,366.944 L56.3095,367.69 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,368.808 L55.5637,368.063 L56.3095,367.69 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,368.808 L56.6824,369.181 L56.3095,369.927 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,370.673 L55.5637,370.3 L56.3095,369.927 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,370.673 L56.6824,371.046 L56.3095,371.792 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,372.91 L55.5637,372.165 L56.3095,371.792 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,372.91 L56.6824,373.283 L56.3095,374.029 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,375.148 L55.5637,374.402 L56.3095,374.029 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,375.148 L56.3095,375.521 L55.9366,375.521 L55.5637,376.267 L54.8178,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M53.6991,375.521 L54.4449,375.148 L54.8178,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M53.6991,375.521 L53.3262,376.267 L52.5804,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M51.8345,375.521 L52.5804,375.148 L52.5804,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M51.8345,375.521 L51.4616,376.267 L50.7158,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M49.5971,375.521 L50.3429,375.148 L50.7158,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M49.5971,375.521 L49.2242,376.267 L48.4784,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M47.3596,375.521 L48.1054,375.148 L48.4784,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M47.3596,375.521 L46.9867,376.267 L46.6138,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M45.4951,375.521 L46.2409,375.148 L46.6138,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M45.4951,375.521 L45.1222,376.267 L44.3763,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M43.2576,375.521 L44.0034,375.148 L44.3763,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M43.2576,375.521 L42.8847,376.267 L42.1389,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M41.3931,375.521 L41.766,375.148 L42.1389,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M41.3931,375.521 L41.0201,376.267 L40.2743,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M39.1556,375.521 L39.9014,375.148 L40.2743,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M39.1556,375.521 L38.7827,376.267 L38.0369,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M36.9181,375.521 L37.664,375.148 L38.0369,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M36.9181,375.521 L36.5452,376.267 L36.1723,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M35.0536,375.521 L35.7994,375.148 L36.1723,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M35.0536,375.521 L34.6807,376.267 L33.9348,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M32.8161,375.521 L33.5619,375.148 L33.9348,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M32.8161,375.521 L32.4432,376.267 L31.6974,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M30.5787,375.521 L31.3245,375.148 L31.6974,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M30.5787,375.521 L30.5787,376.267 L29.8328,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M28.7141,375.521 L29.4599,375.148 L29.8328,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M28.7141,375.521 L28.3412,376.267 L27.5954,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M26.4766,375.521 L27.2225,375.148 L27.5954,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M26.4766,375.521 L26.1037,376.267 L25.3579,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M24.6121,375.521 L24.985,375.148 L25.3579,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M24.6121,375.521 L24.2392,376.267 L23.4934,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M22.3746,375.521 L23.1204,375.148 L23.4934,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M22.3746,375.521 L22.0017,376.267 L21.2559,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M20.1372,375.521 L20.883,375.148 L21.2559,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M20.1372,375.521 L19.7643,376.267 L19.3913,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M18.2726,375.521 L19.0184,375.148 L19.3913,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M18.2726,375.521 L17.8997,376.267 L17.1539,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,375.521 L16.781,375.148 L17.1539,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,375.521 L15.6622,376.267 L14.9164,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M14.1706,375.521 L14.5435,375.148 L14.9164,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M14.1706,375.521 L13.7977,376.267 L13.0519,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M12.306,375.521 L12.679,375.148 L13.0519,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M12.306,330.772 L12.679,330.399 L13.0519,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M14.1706,330.772 L13.7977,331.517 L13.0519,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M14.1706,330.772 L14.5435,330.399 L14.9164,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,330.772 L15.6622,331.517 L14.9164,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,330.772 L16.781,330.399 L17.1539,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M18.2726,330.772 L17.8997,331.517 L17.1539,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M18.2726,330.772 L19.0184,330.399 L19.3913,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M20.1372,330.772 L19.7643,331.517 L19.3913,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M20.1372,330.772 L20.883,330.399 L21.2559,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M22.3746,330.772 L22.0017,331.517 L21.2559,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M22.3746,330.772 L23.1204,330.399 L23.4934,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M24.6121,330.772 L24.2392,331.517 L23.4934,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M24.6121,330.772 L24.985,330.399 L25.3579,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M26.4766,330.772 L26.1037,331.517 L25.3579,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M26.4766,330.772 L27.2225,330.399 L27.5954,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M28.7141,330.772 L28.3412,331.517 L27.5954,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M28.7141,330.772 L29.4599,330.399 L29.8328,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M30.5787,330.772 L30.5787,331.517 L29.8328,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M30.5787,330.772 L31.3245,330.399 L31.6974,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M32.8161,330.772 L32.4432,331.517 L31.6974,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M32.8161,330.772 L33.5619,330.399 L33.9348,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M35.0536,330.772 L34.6807,331.517 L33.9348,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M35.0536,330.772 L35.7994,330.399 L36.1723,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M36.9181,330.772 L36.5452,331.517 L36.1723,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M36.9181,330.772 L37.664,330.399 L38.0369,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M39.1556,330.772 L38.7827,331.517 L38.0369,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M39.1556,330.772 L39.9014,330.399 L40.2743,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M41.3931,330.772 L41.0201,331.517 L40.2743,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M41.3931,330.772 L41.766,330.399 L42.1389,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M43.2576,330.772 L42.8847,331.517 L42.1389,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M43.2576,330.772 L44.0034,330.399 L44.3763,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M45.4951,330.772 L45.1222,331.517 L44.3763,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M45.4951,330.772 L46.2409,330.399 L46.6138,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M47.3596,330.772 L46.9867,331.517 L46.6138,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M47.3596,330.772 L48.1054,330.399 L48.4784,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M49.5971,330.772 L49.2242,331.517 L48.4784,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M49.5971,330.772 L50.3429,330.399 L50.7158,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M51.8345,330.772 L51.4616,331.517 L50.7158,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M51.8345,330.772 L52.5804,330.399 L52.5804,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M53.6991,330.772 L53.3262,331.517 L52.5804,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M53.6991,330.772 L54.4449,330.399 L54.8178,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M55.9366,330.772 L55.5637,331.517 L54.8178,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M55.9366,330.772 L56.3095,330.772 L56.3095,331.517 L56.6824,331.89 L56.3095,332.636 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,333.755 L55.5637,333.009 L56.3095,332.636 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,333.755 L56.6824,334.128 L56.3095,334.874 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,335.619 L55.5637,335.246 L56.3095,334.874 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,335.619 L56.6824,335.992 L56.3095,336.738 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,337.857 L55.5637,337.111 L56.3095,336.738 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,337.857 L56.6824,338.23 L56.3095,338.976 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,340.094 L55.5637,339.348 L56.3095,338.976 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,340.094 L56.6824,340.467 L56.3095,341.213 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,341.959 L55.5637,341.213 L56.3095,341.213 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,341.959 L56.3095,342.332 " fill="none" stroke="#00FF00" />
+	<path d="M12.306,100.686 L12.679,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M13.4248,100.686 L12.679,101.432 L12.306,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M13.4248,100.686 L13.7977,100.313 L14.1706,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M15.2893,100.686 L14.5435,101.432 L14.1706,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M15.2893,100.686 L15.6622,100.313 L16.4081,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M17.5268,100.686 L16.781,101.432 L16.4081,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M17.5268,100.686 L17.8997,100.313 L18.6455,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M19.7643,100.686 L19.0184,101.432 L18.6455,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M19.7643,100.686 L19.7643,100.313 L20.5101,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M21.6288,100.686 L20.883,101.432 L20.5101,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M21.6288,100.686 L22.0017,100.313 L22.7475,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M23.8663,100.686 L23.1204,101.432 L22.7475,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M23.8663,100.686 L24.2392,100.313 L24.985,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M25.7308,100.686 L24.985,101.432 L24.985,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M25.7308,100.686 L26.1037,100.313 L26.8495,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M27.9683,100.686 L27.2225,101.432 L26.8495,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M27.9683,100.686 L28.3412,100.313 L29.087,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M30.2057,100.686 L29.4599,101.432 L29.087,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M30.2057,100.686 L30.5787,100.313 L30.9516,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M32.0703,100.686 L31.3245,101.432 L30.9516,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M32.0703,100.686 L32.4432,100.313 L33.189,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M34.3078,100.686 L33.5619,101.432 L33.189,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M34.3078,100.686 L34.6807,100.313 L35.4265,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M36.1723,100.686 L35.7994,101.432 L35.4265,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M36.1723,100.686 L36.5452,100.313 L37.291,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M38.4098,100.686 L37.664,101.432 L37.291,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M38.4098,100.686 L38.7827,100.313 L39.5285,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M40.6472,100.686 L39.9014,101.432 L39.5285,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M40.6472,100.686 L41.0201,100.313 L41.3931,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M42.5118,100.686 L41.766,101.432 L41.3931,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M42.5118,100.686 L42.8847,100.313 L43.6305,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M44.7492,100.686 L44.0034,101.432 L43.6305,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M44.7492,100.686 L45.1222,100.313 L45.868,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M46.9867,100.686 L46.2409,101.432 L45.868,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M46.9867,100.686 L46.9867,100.313 L47.7325,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M48.8513,100.686 L48.1054,101.432 L47.7325,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M48.8513,100.686 L49.2242,100.313 L49.97,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,100.686 L50.3429,101.432 L49.97,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,100.686 L51.4616,100.313 L52.2075,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,100.686 L52.5804,101.432 L52.2075,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,100.686 L53.3262,100.313 L54.072,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M55.1907,100.686 L54.4449,101.432 L54.072,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M55.1907,100.686 L55.5637,100.313 L56.3095,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M57.4282,100.686 L56.6824,101.432 L56.3095,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M57.4282,100.686 L57.8011,100.313 L58.174,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M59.2928,100.686 L58.5469,101.432 L58.174,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M59.2928,100.686 L59.6657,100.313 L60.4115,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M61.5302,100.686 L60.7844,101.432 L60.4115,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M61.5302,100.686 L61.9031,100.313 L62.6489,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M63.3948,100.686 L63.0219,101.432 L62.6489,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M63.3948,100.686 L63.7677,100.313 L64.5135,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M65.6322,100.686 L64.8864,101.432 L64.5135,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M65.6322,100.686 L66.0051,100.313 L66.751,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M67.8697,100.686 L67.1239,101.432 L66.751,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M67.8697,100.686 L68.2426,100.313 L68.9884,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M69.7342,100.686 L68.9884,101.432 L68.9884,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M69.7342,100.686 L70.1072,100.313 L70.853,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M71.9717,100.686 L71.2259,101.432 L70.853,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M71.9717,100.686 L72.3446,100.313 L73.0904,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M74.2092,100.686 L73.4634,101.432 L73.0904,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M74.2092,100.686 L74.5821,100.313 L74.955,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M76.0737,100.686 L75.3279,101.432 L74.955,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M76.0737,100.686 L76.4466,100.313 L77.1925,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M78.3112,100.686 L77.5654,101.432 L77.1925,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M78.3112,100.686 L78.6841,100.313 L79.4299,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M80.1757,100.686 L79.8028,101.432 L79.4299,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M80.1757,100.686 L80.5486,100.313 L81.2945,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M82.4132,100.686 L81.6674,101.432 L81.2945,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M82.4132,100.686 L82.7861,100.313 L83.5319,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M84.6507,100.686 L83.9048,101.432 L83.5319,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M84.6507,100.686 L85.0236,100.313 L85.3965,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M86.5152,100.686 L85.7694,101.432 L85.3965,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M86.5152,100.686 L86.8881,100.313 L87.6339,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M88.7527,100.686 L88.0069,101.432 L87.6339,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M88.7527,100.686 L89.1256,100.313 L89.8714,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M90.9901,100.686 L90.2443,101.432 L89.8714,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M90.9901,100.686 L90.9901,100.313 L91.736,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M92.8547,100.686 L92.1089,101.432 L91.736,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M92.8547,100.686 L93.2276,100.313 L93.9734,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M95.0922,100.686 L94.3463,101.432 L93.9734,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M95.0922,100.686 L95.4651,100.313 L96.2109,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M96.9567,100.686 L96.2109,101.432 L96.2109,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M96.9567,100.686 L97.3296,100.313 L98.0754,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M99.1942,100.686 L98.4483,101.432 L98.0754,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M99.1942,100.686 L99.5671,100.313 L100.313,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M101.432,100.686 L100.686,101.432 L100.313,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M101.432,100.686 L101.805,100.313 L102.177,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M103.296,100.686 L102.55,101.432 L102.177,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M103.296,100.686 L103.669,100.313 L104.415,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M105.534,100.686 L104.788,101.432 L104.415,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M105.534,100.686 L105.907,100.313 L106.652,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M107.398,100.686 L107.025,101.432 L106.652,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M107.398,100.686 L107.771,100.313 L108.517,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M109.636,100.686 L108.89,101.432 L108.517,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M109.636,100.686 L110.009,100.313 L110.754,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M111.873,100.686 L111.127,101.432 L110.754,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M111.873,100.686 L112.246,100.313 L112.619,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M113.738,100.686 L112.992,101.432 L112.619,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M113.738,100.686 L114.111,100.313 L114.856,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M115.975,100.686 L115.229,101.432 L114.856,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M115.975,100.686 L116.348,100.313 L117.094,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M118.213,100.686 L117.467,101.432 L117.094,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M118.213,100.686 L118.213,100.313 L118.958,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M120.077,100.686 L119.331,101.432 L118.958,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M120.077,100.686 L120.45,100.313 L121.196,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M122.315,100.686 L121.569,101.432 L121.196,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M122.315,100.686 L122.688,100.313 L123.433,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M124.179,100.686 L123.806,101.432 L123.433,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M124.179,100.686 L124.552,100.313 L125.298,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M126.417,100.686 L125.671,101.432 L125.298,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M126.417,100.686 L126.79,100.313 L127.535,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M128.654,100.686 L127.908,101.432 L127.535,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M128.654,100.686 L129.027,100.313 L129.4,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M130.519,100.686 L129.773,101.432 L129.4,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M130.519,100.686 L130.892,100.313 L131.637,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M132.756,100.686 L132.01,101.432 L131.637,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M132.756,100.686 L133.129,100.313 L133.875,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M134.621,100.686 L134.248,101.432 L133.875,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M134.621,100.686 L134.994,100.313 L135.739,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M136.858,100.686 L136.112,101.432 L135.739,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M136.858,100.686 L137.231,100.313 L137.977,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M139.096,100.686 L138.35,101.432 L137.977,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M139.096,100.686 L139.468,100.313 L140.214,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M140.96,100.686 L140.214,101.432 L140.214,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M140.96,100.686 L141.333,100.313 L142.079,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M143.198,100.686 L142.452,101.432 L142.079,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M143.198,100.686 L143.571,100.313 L144.316,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M145.435,100.686 L144.689,101.432 L144.316,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M145.435,100.686 L145.808,100.313 L146.181,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M147.3,100.686 L146.554,101.432 L146.181,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M147.3,100.686 L147.673,100.313 L148.418,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M149.537,100.686 L148.791,101.432 L148.418,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M149.537,100.686 L149.91,100.313 L150.656,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M151.402,100.686 L151.029,101.432 L150.656,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M151.402,100.686 L151.775,100.313 L152.52,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M153.639,100.686 L152.893,101.432 L152.52,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M153.639,100.686 L154.012,100.313 L154.758,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M155.877,100.686 L155.131,101.432 L154.758,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M155.877,100.686 L156.249,100.313 L156.622,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M157.741,100.686 L156.995,101.432 L156.622,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M157.741,100.686 L158.114,100.313 L158.86,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M159.979,100.686 L159.233,101.432 L158.86,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M159.979,100.686 L160.351,100.313 L161.097,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M162.216,100.686 L161.47,101.432 L161.097,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M162.216,100.686 L162.216,100.313 L162.962,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M164.081,100.686 L163.335,101.432 L162.962,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M164.081,100.686 L164.453,100.313 L165.199,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M166.318,100.686 L165.572,101.432 L165.199,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M166.318,100.686 L166.691,100.313 L167.437,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M168.183,100.686 L167.437,101.432 L167.437,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M168.183,100.686 L168.556,100.313 L169.301,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M170.42,100.686 L169.674,101.432 L169.301,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M170.42,100.686 L170.793,100.313 L171.539,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M172.658,100.686 L171.912,101.432 L171.539,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M172.658,100.686 L173.03,100.313 L173.403,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M174.522,100.686 L173.776,101.432 L173.403,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M174.522,100.686 L174.895,100.313 L175.641,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M176.76,100.686 L176.014,101.432 L175.641,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M176.76,100.686 L177.132,100.313 L177.878,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M178.624,100.686 L178.251,101.432 L177.878,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M178.624,100.686 L178.997,100.313 L179.743,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M180.862,100.686 L180.116,101.432 L179.743,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M180.862,100.686 L181.234,100.313 L181.98,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M183.099,100.686 L182.353,101.432 L181.98,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M183.099,100.686 L183.472,100.313 L183.845,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M184.964,100.686 L184.218,101.432 L183.845,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M184.964,100.686 L185.336,100.313 L186.082,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M187.201,100.686 L186.455,101.432 L186.082,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M187.201,100.686 L187.574,100.313 L188.32,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M189.438,100.686 L188.693,101.432 L188.32,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M189.438,100.686 L189.438,100.313 L190.184,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M191.303,100.686 L190.557,101.432 L190.184,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M191.303,100.686 L191.676,100.313 L192.422,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M193.541,100.686 L192.795,101.432 L192.422,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M193.541,100.686 L193.913,100.313 L194.659,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M195.405,100.686 L195.032,101.432 L194.659,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M195.405,100.686 L195.778,100.313 L196.524,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M197.643,100.686 L196.897,101.432 L196.524,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M197.643,100.686 L198.015,100.313 L198.761,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M199.88,100.686 L199.134,101.432 L198.761,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M199.88,100.686 L200.253,100.313 L200.626,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M201.745,100.686 L200.999,101.432 L200.626,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M201.745,100.686 L202.117,100.313 L202.863,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M203.982,100.686 L203.236,101.432 L202.863,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M203.982,100.686 L204.355,100.313 L205.101,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M205.847,100.686 L205.474,101.432 L205.101,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M205.847,100.686 L206.219,100.313 L206.965,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M208.084,100.686 L207.338,101.432 L206.965,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M208.084,100.686 L208.457,100.313 L209.203,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M210.321,100.686 L209.576,101.432 L209.203,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M210.321,100.686 L210.694,100.313 L211.44,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M212.186,100.686 L211.44,101.432 L211.44,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M212.186,100.686 L212.559,100.313 L213.305,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M214.423,100.686 L213.678,101.432 L213.305,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M214.423,100.686 L214.796,100.313 L215.542,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M216.661,100.686 L215.915,101.432 L215.542,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M216.661,100.686 L216.661,100.313 L217.407,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M218.526,100.686 L217.78,101.432 L217.407,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M218.526,100.686 L218.898,100.313 L219.644,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M220.763,100.686 L220.017,101.432 L219.644,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M220.763,100.686 L221.136,100.313 L221.882,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M222.628,100.686 L222.255,101.432 L221.882,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M222.628,100.686 L223,100.313 L223.746,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M224.865,100.686 L224.119,101.432 L223.746,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M224.865,100.686 L225.238,100.313 L225.984,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M227.102,100.686 L226.357,101.432 L225.984,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M227.102,100.686 L227.475,100.313 L227.848,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M228.967,100.686 L228.221,101.432 L227.848,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M228.967,100.686 L229.34,100.313 L230.086,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M231.204,100.686 L230.459,101.432 L230.086,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M231.204,100.686 L231.577,100.313 L232.323,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M233.069,100.686 L232.696,101.432 L232.323,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M233.069,100.686 L233.442,100.313 L234.188,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,100.686 L234.561,101.432 L234.188,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,100.686 L235.679,100.313 L236.425,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M237.544,100.686 L236.798,101.432 L236.425,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M237.544,100.686 L237.917,100.313 L238.663,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M239.408,100.686 L238.663,101.432 L238.663,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M239.408,100.686 L239.781,100.313 L240.527,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M241.646,100.686 L240.9,101.432 L240.527,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M241.646,100.686 L242.019,100.313 L242.765,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M243.883,100.686 L243.138,101.432 L242.765,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M243.883,100.686 L244.256,100.313 L244.629,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M245.748,100.686 L245.002,101.432 L244.629,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M245.748,100.686 L246.121,100.313 L246.867,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M247.985,100.686 L247.24,101.432 L246.867,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M247.985,100.686 L248.358,100.313 L249.104,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M249.85,100.686 L249.477,101.432 L249.104,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M249.85,100.686 L250.223,100.313 L250.969,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M252.087,100.686 L251.342,101.432 L250.969,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M252.087,100.686 L252.46,100.313 L253.206,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M254.325,100.686 L253.579,101.432 L253.206,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M254.325,100.686 L254.698,100.313 L255.071,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M256.189,100.686 L255.444,101.432 L255.071,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M256.189,100.686 L256.562,100.313 L257.308,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M258.427,100.686 L257.681,101.432 L257.308,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M258.427,100.686 L258.8,100.313 L259.546,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M260.664,100.686 L259.919,101.432 L259.546,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M260.664,100.686 L260.664,100.313 L261.41,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M262.529,100.686 L261.783,101.432 L261.41,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M262.529,100.686 L262.902,100.313 L263.648,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M264.766,100.686 L264.021,101.432 L263.648,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M264.766,100.686 L265.139,100.313 L265.885,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M266.631,100.686 L266.258,101.432 L265.885,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M266.631,100.686 L267.004,100.313 L267.75,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M268.868,100.686 L268.123,101.432 L267.75,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M268.868,100.686 L269.241,100.313 L269.987,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M271.106,100.686 L270.36,101.432 L269.987,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M271.106,100.686 L271.479,100.313 L271.852,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M272.97,100.686 L272.225,101.432 L271.852,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M272.97,100.686 L273.343,100.313 L274.089,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M275.208,100.686 L274.462,101.432 L274.089,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M275.208,100.686 L275.581,100.313 L276.327,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M277.072,100.686 L276.7,101.432 L276.327,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M277.072,100.686 L277.445,100.313 L278.191,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M279.31,100.686 L278.564,101.432 L278.191,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M279.31,100.686 L279.683,100.313 L280.429,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M281.547,100.686 L280.802,101.432 L280.429,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M281.547,100.686 L281.92,100.313 L282.666,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M283.412,100.686 L282.666,101.432 L282.666,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M283.412,100.686 L283.785,100.313 L284.531,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M285.649,100.686 L284.904,101.432 L284.531,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M285.649,100.686 L286.022,100.313 L286.768,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M287.887,100.686 L287.141,101.432 L286.768,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M287.887,100.686 L287.887,100.313 L288.633,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M289.751,100.686 L289.006,101.432 L288.633,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M289.751,100.686 L290.124,100.313 L290.87,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M291.989,100.686 L291.243,101.432 L290.87,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M291.989,100.686 L292.362,100.313 L293.108,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M293.853,100.686 L293.48,101.432 L293.108,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M293.853,100.686 L294.226,100.313 L294.972,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M296.091,100.686 L295.345,101.432 L294.972,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M296.091,100.686 L296.464,100.313 L297.21,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M298.328,100.686 L297.583,101.432 L297.21,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M298.328,100.686 L298.701,100.313 L299.074,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M300.193,100.686 L299.447,101.432 L299.074,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M300.193,100.686 L300.566,100.313 L301.312,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M302.43,100.686 L301.685,101.432 L301.312,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M302.43,100.686 L302.803,100.313 L303.549,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M304.295,100.686 L303.922,101.432 L303.549,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M304.295,100.686 L304.668,100.313 L305.414,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M306.532,100.686 L305.787,101.432 L305.414,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M306.532,100.686 L306.905,100.313 L307.651,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M308.77,100.686 L308.024,101.432 L307.651,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M308.77,100.686 L309.143,100.313 L309.889,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M310.634,100.686 L309.889,101.432 L309.889,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M310.634,100.686 L311.007,100.313 L311.753,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M312.872,100.686 L312.126,101.432 L311.753,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M312.872,100.686 L313.245,100.313 L313.991,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M315.109,100.686 L314.363,101.432 L313.991,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M315.109,100.686 L315.482,100.313 L315.855,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M316.974,100.686 L316.228,101.432 L315.855,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M316.974,100.686 L317.347,100.313 L318.093,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M319.211,100.686 L318.465,101.432 L318.093,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M319.211,100.686 L319.584,100.313 L320.33,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M321.076,100.686 L320.703,101.432 L320.33,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M321.076,100.686 L321.449,100.313 L322.195,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M323.313,100.686 L322.568,101.432 L322.195,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M323.313,100.686 L323.686,100.313 L324.432,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M325.551,100.686 L324.805,101.432 L324.432,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M325.551,100.686 L325.924,100.313 L326.297,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M327.415,100.686 L326.67,101.432 L326.297,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M327.415,100.686 L327.788,100.313 L328.534,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M329.653,100.686 L328.907,101.432 L328.534,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M329.653,100.686 L330.026,100.313 L330.772,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M331.89,100.686 L331.144,101.432 L330.772,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M331.89,100.686 L331.89,100.313 L332.636,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M333.755,100.686 L333.009,101.432 L332.636,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M333.755,100.686 L334.128,100.313 L334.874,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M335.992,100.686 L335.246,101.432 L334.874,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M335.992,100.686 L336.365,100.313 L337.111,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M337.857,100.686 L337.484,101.432 L337.111,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M337.857,100.686 L338.23,100.313 L338.976,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M340.094,100.686 L339.348,101.432 L338.976,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M340.094,100.686 L340.467,100.313 L341.213,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M342.332,100.686 L341.586,101.432 L341.213,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M342.332,100.686 L342.705,100.313 L343.078,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M344.196,100.686 L343.45,101.432 L343.078,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M344.196,100.686 L344.569,100.313 L345.315,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M346.434,100.686 L345.688,101.432 L345.315,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M346.434,100.686 L346.807,100.313 L347.553,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M348.298,100.686 L347.925,101.432 L347.553,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M348.298,100.686 L348.671,100.313 L349.417,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M350.536,100.686 L349.79,101.432 L349.417,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M350.536,100.686 L350.909,100.313 L351.655,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M352.773,100.686 L352.027,101.432 L351.655,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M352.773,100.686 L353.146,100.313 L353.892,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M354.638,100.686 L353.892,101.432 L353.892,100.686 " fill="none" stroke="#00FF00" />
+	<path d="M354.638,100.686 L355.011,100.686 L355.011,101.059 L355.757,101.432 L355.011,102.177 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,103.296 L354.638,102.55 L355.011,102.177 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,103.296 L355.757,103.669 L355.011,104.042 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,105.161 L354.638,104.415 L355.011,104.042 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,105.161 L355.757,105.534 L355.011,106.279 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,107.398 L354.638,106.652 L355.011,106.279 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,107.398 L355.757,107.771 L355.011,108.517 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,109.636 L354.638,108.89 L355.011,108.517 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,109.636 L355.757,109.636 L355.011,110.381 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,111.5 L354.638,110.754 L355.011,110.381 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,111.5 L355.757,111.873 L355.011,112.619 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,113.738 L354.638,112.992 L355.011,112.619 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,113.738 L355.757,114.111 L355.011,114.856 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,115.602 L354.638,115.229 L355.011,114.856 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,115.602 L355.757,115.975 L355.011,116.721 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,117.84 L354.638,117.094 L355.011,116.721 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,117.84 L355.757,118.213 L355.011,118.958 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,120.077 L354.638,119.331 L355.011,118.958 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,120.077 L355.757,120.45 L355.011,121.196 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,121.942 L354.638,121.569 L355.011,121.196 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,121.942 L355.757,122.315 L355.011,123.06 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,124.179 L354.638,123.433 L355.011,123.06 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,124.179 L355.757,124.552 L355.011,125.298 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,126.417 L354.638,125.671 L355.011,125.298 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,126.417 L355.757,126.79 L355.011,127.535 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,128.281 L354.638,127.535 L355.011,127.535 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,128.281 L355.757,128.654 L355.011,129.4 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,130.519 L354.638,129.773 L355.011,129.4 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,130.519 L355.757,130.892 L355.011,131.637 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,132.756 L354.638,132.01 L355.011,131.637 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,132.756 L355.757,133.129 L355.011,133.502 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,134.621 L354.638,133.875 L355.011,133.502 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,134.621 L355.757,134.994 L355.011,135.739 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,136.858 L354.638,136.112 L355.011,135.739 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,136.858 L355.757,137.231 L355.011,137.977 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,139.096 L354.638,138.35 L355.011,137.977 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,139.096 L355.757,139.468 L355.011,139.841 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,140.96 L354.638,140.214 L355.011,139.841 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,140.96 L355.757,141.333 L355.011,142.079 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,143.198 L354.638,142.452 L355.011,142.079 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,143.198 L355.757,143.571 L355.011,144.316 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,145.435 L354.638,144.689 L355.011,144.316 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,145.435 L355.757,145.435 L355.011,146.181 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,147.3 L354.638,146.554 L355.011,146.181 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,147.3 L355.757,147.673 L355.011,148.418 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,149.537 L354.638,148.791 L355.011,148.418 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,149.537 L355.757,149.91 L355.011,150.656 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,151.402 L354.638,151.029 L355.011,150.656 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,151.402 L355.757,151.775 L355.011,152.52 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,153.639 L354.638,152.893 L355.011,152.52 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,153.639 L355.757,154.012 L355.011,154.758 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,155.877 L354.638,155.131 L355.011,154.758 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,155.877 L355.757,156.249 L355.011,156.995 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,157.741 L354.638,157.368 L355.011,156.995 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,157.741 L355.757,158.114 L355.011,158.86 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,159.979 L354.638,159.233 L355.011,158.86 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,159.979 L355.757,160.351 L355.011,161.097 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,162.216 L354.638,161.47 L355.011,161.097 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,162.216 L355.757,162.589 L355.011,163.335 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,164.081 L354.638,163.335 L355.011,163.335 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,164.081 L355.757,164.453 L355.011,165.199 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,166.318 L354.638,165.572 L355.011,165.199 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,166.318 L355.757,166.691 L355.011,167.437 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,168.556 L354.638,167.81 L355.011,167.437 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,168.556 L355.757,168.928 L355.011,169.301 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,170.42 L354.638,169.674 L355.011,169.301 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,170.42 L355.757,170.793 L355.011,171.539 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,172.658 L354.638,171.912 L355.011,171.539 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,172.658 L355.757,173.03 L355.011,173.776 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,174.895 L354.638,174.149 L355.011,173.776 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,174.895 L355.757,174.895 L355.011,175.641 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,176.76 L354.638,176.014 L355.011,175.641 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,176.76 L355.757,177.132 L355.011,177.878 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,178.997 L354.638,178.251 L355.011,177.878 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,178.997 L355.757,179.37 L355.011,180.116 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,180.862 L354.638,180.489 L355.011,180.116 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,180.862 L355.757,181.234 L355.011,181.98 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,183.099 L354.638,182.353 L355.011,181.98 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,183.099 L355.757,183.472 L355.011,184.218 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,185.336 L354.638,184.591 L355.011,184.218 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,185.336 L355.757,185.709 L355.011,186.455 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,187.201 L354.638,186.828 L355.011,186.455 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,187.201 L355.757,187.574 L355.011,188.32 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,189.438 L354.638,188.693 L355.011,188.32 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,189.438 L355.757,189.811 L355.011,190.557 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,191.676 L354.638,190.93 L355.011,190.557 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,191.676 L355.757,192.049 L355.011,192.795 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,193.541 L354.638,192.795 L355.011,192.795 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,193.541 L355.757,193.913 L355.011,194.659 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,195.778 L354.638,195.032 L355.011,194.659 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,195.778 L355.757,196.151 L355.011,196.897 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,198.015 L354.638,197.27 L355.011,196.897 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,198.015 L355.757,198.388 L355.011,198.761 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,199.88 L354.638,199.134 L355.011,198.761 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,199.88 L355.757,200.253 L355.011,200.999 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,202.117 L354.638,201.372 L355.011,200.999 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,202.117 L355.757,202.49 L355.011,203.236 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,204.355 L354.638,203.609 L355.011,203.236 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,204.355 L355.757,204.728 L355.011,205.101 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,206.219 L354.638,205.474 L355.011,205.101 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,206.219 L355.757,206.592 L355.011,207.338 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,208.457 L354.638,207.711 L355.011,207.338 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,208.457 L355.757,208.83 L355.011,209.576 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,210.694 L354.638,209.949 L355.011,209.576 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,210.694 L355.757,210.694 L355.011,211.44 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,212.559 L354.638,211.813 L355.011,211.44 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,212.559 L355.757,212.932 L355.011,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,214.796 L354.638,214.051 L355.011,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,214.796 L355.757,215.169 L355.011,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,216.661 L354.638,216.288 L355.011,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,216.661 L355.757,217.034 L355.011,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,218.898 L354.638,218.153 L355.011,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,218.898 L355.757,219.271 L355.011,220.017 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,221.136 L354.638,220.39 L355.011,220.017 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,221.136 L355.757,221.509 L355.011,222.255 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,223 L354.638,222.628 L355.011,222.255 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,223 L355.757,223.373 L355.011,224.119 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,225.238 L354.638,224.492 L355.011,224.119 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,225.238 L355.757,225.611 L355.011,226.357 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,227.475 L354.638,226.73 L355.011,226.357 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,227.475 L355.757,227.848 L355.011,228.594 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,229.34 L354.638,228.594 L355.011,228.594 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,229.34 L355.757,229.713 L355.011,230.459 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,231.577 L354.638,230.832 L355.011,230.459 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,231.577 L355.757,231.95 L355.011,232.696 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,233.815 L354.638,233.069 L355.011,232.696 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,233.815 L355.757,234.188 L355.011,234.561 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,235.679 L354.638,234.934 L355.011,234.561 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,235.679 L355.757,236.052 L355.011,236.798 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,237.917 L354.638,237.171 L355.011,236.798 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,237.917 L355.757,238.29 L355.011,239.036 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,240.154 L354.638,239.408 L355.011,239.036 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,240.154 L355.757,240.154 L355.011,240.9 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,242.019 L354.638,241.273 L355.011,240.9 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,242.019 L355.757,242.392 L355.011,243.138 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,244.256 L354.638,243.511 L355.011,243.138 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,244.256 L355.757,244.629 L355.011,245.375 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,246.121 L354.638,245.748 L355.011,245.375 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,246.121 L355.757,246.494 L355.011,247.24 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,248.358 L354.638,247.613 L355.011,247.24 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,248.358 L355.757,248.731 L355.011,249.477 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,250.596 L354.638,249.85 L355.011,249.477 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,250.596 L355.757,250.969 L355.011,251.715 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,252.46 L354.638,252.087 L355.011,251.715 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,252.46 L355.757,252.833 L355.011,253.579 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,254.698 L354.638,253.952 L355.011,253.579 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,254.698 L355.757,255.071 L355.011,255.817 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,256.935 L354.638,256.189 L355.011,255.817 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,256.935 L355.757,257.308 L355.011,258.054 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,258.8 L354.638,258.054 L355.011,258.054 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,258.8 L355.757,259.173 L355.011,259.919 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,261.037 L354.638,260.291 L355.011,259.919 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,261.037 L355.757,261.41 L355.011,262.156 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,263.275 L354.638,262.529 L355.011,262.156 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,263.275 L355.757,263.648 L355.011,264.021 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,265.139 L354.638,264.393 L355.011,264.021 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,265.139 L355.757,265.512 L355.011,266.258 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,267.377 L354.638,266.631 L355.011,266.258 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,267.377 L355.757,267.75 L355.011,268.495 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,269.614 L354.638,268.868 L355.011,268.495 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,269.614 L355.757,269.987 L355.011,270.36 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,271.479 L354.638,270.733 L355.011,270.36 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,271.479 L355.757,271.852 L355.011,272.598 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,273.716 L354.638,272.97 L355.011,272.598 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,273.716 L355.757,274.089 L355.011,274.835 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,275.954 L354.638,275.208 L355.011,274.835 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,275.954 L355.757,275.954 L355.011,276.7 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,277.818 L354.638,277.072 L355.011,276.7 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,277.818 L355.757,278.191 L355.011,278.937 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,280.056 L354.638,279.31 L355.011,278.937 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,280.056 L355.757,280.429 L355.011,281.174 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,281.92 L354.638,281.547 L355.011,281.174 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,281.92 L355.757,282.293 L355.011,283.039 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,284.158 L354.638,283.412 L355.011,283.039 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,284.158 L355.757,284.531 L355.011,285.276 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,286.395 L354.638,285.649 L355.011,285.276 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,286.395 L355.757,286.768 L355.011,287.514 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,288.26 L354.638,287.887 L355.011,287.514 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,288.26 L355.757,288.633 L355.011,289.378 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,290.497 L354.638,289.751 L355.011,289.378 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,290.497 L355.757,290.87 L355.011,291.616 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,292.735 L354.638,291.989 L355.011,291.616 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,292.735 L355.757,293.108 L355.011,293.853 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,294.599 L354.638,293.853 L355.011,293.853 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,294.599 L355.757,294.972 L355.011,295.718 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,296.837 L354.638,296.091 L355.011,295.718 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,296.837 L355.757,297.21 L355.011,297.955 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,299.074 L354.638,298.328 L355.011,297.955 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,299.074 L355.757,299.447 L355.011,299.82 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,300.939 L354.638,300.193 L355.011,299.82 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,300.939 L355.757,301.312 L355.011,302.057 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,303.176 L354.638,302.43 L355.011,302.057 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,303.176 L355.757,303.549 L355.011,304.295 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,305.414 L354.638,304.668 L355.011,304.295 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,305.414 L355.757,305.414 L355.011,306.159 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,307.278 L354.638,306.532 L355.011,306.159 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,307.278 L355.757,307.651 L355.011,308.397 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,309.516 L354.638,308.77 L355.011,308.397 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,309.516 L355.757,309.889 L355.011,310.634 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,311.38 L354.638,311.007 L355.011,310.634 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,311.38 L355.757,311.753 L355.011,312.499 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,313.618 L354.638,312.872 L355.011,312.499 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,313.618 L355.757,313.991 L355.011,314.736 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,315.855 L354.638,315.109 L355.011,314.736 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,315.855 L355.757,316.228 L355.011,316.974 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,317.72 L354.638,317.347 L355.011,316.974 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,317.72 L355.757,318.093 L355.011,318.838 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,319.957 L354.638,319.211 L355.011,318.838 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,319.957 L355.757,320.33 L355.011,321.076 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,322.195 L354.638,321.449 L355.011,321.076 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,322.195 L355.757,322.568 L355.011,323.313 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,324.059 L354.638,323.313 L355.011,323.313 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,324.059 L355.757,324.432 L355.011,325.178 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,326.297 L354.638,325.551 L355.011,325.178 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,326.297 L355.757,326.67 L355.011,327.415 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,328.534 L354.638,327.788 L355.011,327.415 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,328.534 L355.757,328.907 L355.011,329.28 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,330.399 L354.638,329.653 L355.011,329.28 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,330.399 L355.757,330.772 L355.011,331.517 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,332.636 L354.638,331.89 L355.011,331.517 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,332.636 L355.757,333.009 L355.011,333.755 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,334.874 L354.638,334.128 L355.011,333.755 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,334.874 L355.757,335.246 L355.011,335.619 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,336.738 L354.638,335.992 L355.011,335.619 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,336.738 L355.757,337.111 L355.011,337.857 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,338.976 L354.638,338.23 L355.011,337.857 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,338.976 L355.757,339.348 L355.011,340.094 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,341.213 L354.638,340.467 L355.011,340.094 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,341.213 L355.757,341.213 L355.011,341.959 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,343.078 L354.638,342.332 L355.011,341.959 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,343.078 L355.757,343.45 L355.011,344.196 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,345.315 L354.638,344.569 L355.011,344.196 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,345.315 L355.757,345.688 L355.011,346.434 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,347.18 L354.638,346.807 L355.011,346.434 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,347.18 L355.757,347.553 L355.011,348.298 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,349.417 L354.638,348.671 L355.011,348.298 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,349.417 L355.757,349.79 L355.011,350.536 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,351.655 L354.638,350.909 L355.011,350.536 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,351.655 L355.757,352.027 L355.011,352.773 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,353.519 L354.638,353.146 L355.011,352.773 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,353.519 L355.757,353.892 L355.011,354.638 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,355.757 L354.638,355.011 L355.011,354.638 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,355.757 L355.757,356.129 L355.011,356.875 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,357.994 L354.638,357.248 L355.011,356.875 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,357.994 L355.757,358.367 L355.011,359.113 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,359.859 L354.638,359.113 L355.011,359.113 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,359.859 L355.757,360.231 L355.011,360.977 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,362.096 L354.638,361.35 L355.011,360.977 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,362.096 L355.757,362.469 L355.011,363.215 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,364.333 L354.638,363.588 L355.011,363.215 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,364.333 L355.757,364.706 L355.011,365.079 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,366.198 L354.638,365.452 L355.011,365.079 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,366.198 L355.757,366.571 L355.011,367.317 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,368.435 L354.638,367.69 L355.011,367.317 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,368.435 L355.757,368.808 L355.011,369.554 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,370.673 L354.638,369.927 L355.011,369.554 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,370.673 L355.757,370.673 L355.011,371.419 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,372.538 L354.638,371.792 L355.011,371.419 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,372.538 L355.757,372.91 L355.011,373.656 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,374.775 L354.638,374.029 L355.011,373.656 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,374.775 L355.757,375.148 L355.011,375.894 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,376.64 L354.638,376.267 L355.011,375.894 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,376.64 L355.757,377.012 L355.011,377.758 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,378.877 L354.638,378.131 L355.011,377.758 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,378.877 L355.757,379.25 L355.011,379.996 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,381.114 L354.638,380.369 L355.011,379.996 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,381.114 L355.757,381.487 L355.011,382.233 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,382.979 L354.638,382.606 L355.011,382.233 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,382.979 L355.757,383.352 L355.011,384.098 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,385.216 L354.638,384.471 L355.011,384.098 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,385.216 L355.757,385.589 L355.011,386.335 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,387.454 L354.638,386.708 L355.011,386.335 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,387.454 L355.757,387.827 L355.011,388.573 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,389.318 L354.638,388.573 L355.011,388.573 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,389.318 L355.757,389.691 L355.011,390.437 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,391.556 L354.638,390.81 L355.011,390.437 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,391.556 L355.757,391.929 L355.011,392.675 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,393.793 L354.638,393.048 L355.011,392.675 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,393.793 L355.757,394.166 L355.011,394.539 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,395.658 L354.638,394.912 L355.011,394.539 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,395.658 L355.757,396.031 L355.011,396.777 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,397.895 L354.638,397.15 L355.011,396.777 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,397.895 L355.757,398.268 L355.011,399.014 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,400.133 L354.638,399.387 L355.011,399.014 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,400.133 L355.757,400.506 L355.011,400.879 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,401.997 L354.638,401.252 L355.011,400.879 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,401.997 L355.757,402.37 L355.011,403.116 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,404.235 L354.638,403.489 L355.011,403.116 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,404.235 L355.757,404.608 L355.011,405.354 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,406.472 L354.638,405.727 L355.011,405.354 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,406.472 L355.757,406.472 L355.011,407.218 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,408.337 L354.638,407.591 L355.011,407.218 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,408.337 L355.757,408.71 L355.011,409.456 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,410.574 L354.638,409.829 L355.011,409.456 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,410.574 L355.757,410.947 L355.011,411.693 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,412.439 L354.638,412.066 L355.011,411.693 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,412.439 L355.757,412.812 L355.011,413.558 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,414.676 L354.638,413.931 L355.011,413.558 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,414.676 L355.757,415.049 L355.011,415.795 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,416.914 L354.638,416.168 L355.011,415.795 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,416.914 L355.757,417.287 L355.011,418.033 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,418.778 L354.638,418.405 L355.011,418.033 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,418.778 L355.757,419.151 L355.011,419.897 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,421.016 L354.638,420.27 L355.011,419.897 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,421.016 L355.757,421.389 L355.011,422.135 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,423.253 L354.638,422.508 L355.011,422.135 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,423.253 L355.757,423.626 L355.011,424.372 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,425.118 L354.638,424.372 L355.011,424.372 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,425.118 L355.757,425.491 L355.011,426.237 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,427.355 L354.638,426.61 L355.011,426.237 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,427.355 L355.757,427.728 L355.011,428.474 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,429.593 L354.638,428.847 L355.011,428.474 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,429.593 L355.757,429.966 L355.011,430.339 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,431.457 L354.638,430.712 L355.011,430.339 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,431.457 L355.757,431.83 L355.011,432.576 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,433.695 L354.638,432.949 L355.011,432.576 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,433.695 L355.757,434.068 L355.011,434.814 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,435.932 L354.638,435.186 L355.011,434.814 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,435.932 L355.757,436.305 L355.011,436.678 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,437.797 L354.638,437.051 L355.011,436.678 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,437.797 L355.757,438.17 L355.011,438.916 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,440.034 L354.638,439.288 L355.011,438.916 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,440.034 L355.757,440.407 L355.011,441.153 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,441.899 L354.638,441.526 L355.011,441.153 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,441.899 L355.757,442.272 L355.011,443.018 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,444.136 L354.638,443.39 L355.011,443.018 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,444.136 L355.757,444.509 L355.011,445.255 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,446.374 L354.638,445.628 L355.011,445.255 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,446.374 L355.757,446.747 L355.011,447.492 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,448.238 L354.638,447.865 L355.011,447.492 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,448.238 L355.757,448.611 L355.011,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,450.476 L354.638,449.73 L355.011,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,450.476 L355.757,450.849 L355.011,451.595 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,452.713 L354.638,451.967 L355.011,451.595 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,452.713 L355.757,453.086 L355.011,453.832 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,454.578 L354.638,453.832 L355.011,453.832 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,454.578 L355.757,454.951 L355.011,455.697 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,456.815 L354.638,456.069 L355.011,455.697 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,456.815 L355.757,457.188 L355.011,457.934 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,459.053 L354.638,458.307 L355.011,457.934 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,459.053 L355.757,459.426 L355.011,459.799 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,460.917 L354.638,460.171 L355.011,459.799 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,460.917 L355.757,461.29 L355.011,462.036 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,463.155 L354.638,462.409 L355.011,462.036 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,463.155 L355.757,463.528 L355.011,464.273 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,465.392 L354.638,464.646 L355.011,464.273 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,465.392 L355.757,465.765 L355.011,466.138 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,467.257 L354.638,466.511 L355.011,466.138 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,467.257 L355.757,467.63 L355.011,468.375 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,469.494 L354.638,468.748 L355.011,468.375 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,469.494 L355.757,469.867 L355.011,470.613 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,471.732 L354.638,470.986 L355.011,470.613 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,471.732 L355.757,471.732 L355.011,472.477 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,473.596 L354.638,472.85 L355.011,472.477 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,473.596 L355.757,473.969 L355.011,474.715 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,475.834 L354.638,475.088 L355.011,474.715 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,475.834 L355.757,476.207 L355.011,476.952 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,477.698 L354.638,477.325 L355.011,476.952 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,477.698 L355.757,478.071 L355.011,478.817 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,479.936 L354.638,479.19 L355.011,478.817 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,479.936 L355.757,480.309 L355.011,481.054 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,482.173 L354.638,481.427 L355.011,481.054 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,482.173 L355.757,482.546 L355.011,483.292 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,484.038 L354.638,483.665 L355.011,483.292 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,484.038 L355.757,484.411 L355.011,485.156 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,486.275 L354.638,485.529 L355.011,485.156 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,486.275 L355.757,486.648 L355.011,487.394 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,488.513 L354.638,487.767 L355.011,487.394 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,488.513 L355.757,488.886 L355.011,489.631 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,490.377 L354.638,489.631 L355.011,489.631 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,490.377 L355.757,490.75 L355.011,491.496 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,492.615 L354.638,491.869 L355.011,491.496 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,492.615 L355.757,492.988 L355.011,493.733 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,494.852 L354.638,494.106 L355.011,493.733 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,494.852 L355.757,495.225 L355.011,495.598 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,496.717 L354.638,495.971 L355.011,495.598 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,496.717 L355.757,497.09 L355.011,497.835 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,498.954 L354.638,498.208 L355.011,497.835 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,498.954 L355.757,499.327 L355.011,500.073 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,501.192 L354.638,500.446 L355.011,500.073 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,501.192 L355.757,501.565 L355.011,501.937 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,503.056 L354.638,502.31 L355.011,501.937 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,503.056 L355.757,503.429 L355.011,504.175 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,505.294 L354.638,504.548 L355.011,504.175 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,505.294 L355.757,505.667 L355.011,506.412 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,507.158 L354.638,506.785 L355.011,506.412 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,507.158 L355.757,507.531 L355.011,508.277 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,509.396 L354.638,508.65 L355.011,508.277 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,509.396 L355.757,509.769 L355.011,510.514 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,511.633 L354.638,510.887 L355.011,510.514 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,511.633 L355.757,512.006 L355.011,512.752 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,513.498 L354.638,513.125 L355.011,512.752 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,513.498 L355.757,513.871 L355.011,514.616 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,515.735 L354.638,514.989 L355.011,514.616 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,515.735 L355.757,516.108 L355.011,516.854 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,517.973 L354.638,517.227 L355.011,516.854 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,517.973 L355.757,518.345 L355.011,519.091 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,519.837 L354.638,519.091 L355.011,519.091 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,519.837 L355.757,520.21 L355.011,520.956 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,522.075 L354.638,521.329 L355.011,520.956 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,522.075 L355.757,522.447 L355.011,523.193 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,524.312 L354.638,523.566 L355.011,523.193 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,524.312 L355.757,524.685 L355.011,525.058 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,526.177 L354.638,525.431 L355.011,525.058 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,526.177 L355.757,526.55 L355.011,527.295 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,528.414 L354.638,527.668 L355.011,527.295 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,528.414 L355.757,528.787 L355.011,529.533 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,530.652 L354.638,529.906 L355.011,529.533 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,530.652 L355.757,531.024 L355.011,531.397 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,532.516 L354.638,531.77 L355.011,531.397 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,532.516 L355.757,532.889 L355.011,533.635 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,534.754 L354.638,534.008 L355.011,533.635 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,534.754 L355.757,535.126 L355.011,535.872 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,536.991 L354.638,536.245 L355.011,535.872 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,536.991 L355.757,536.991 L355.011,537.737 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,538.856 L354.638,538.11 L355.011,537.737 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,538.856 L355.757,539.228 L355.011,539.974 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,541.093 L354.638,540.347 L355.011,539.974 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,541.093 L355.757,541.466 L355.011,542.212 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,542.958 L354.638,542.585 L355.011,542.212 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,542.958 L355.757,543.33 L355.011,544.076 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,545.195 L354.638,544.449 L355.011,544.076 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,545.195 L355.757,545.568 L355.011,546.314 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,547.432 L354.638,546.687 L355.011,546.314 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,547.432 L355.757,547.805 L355.011,548.551 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,549.297 L354.638,548.924 L355.011,548.551 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,549.297 L355.757,549.67 L355.011,550.416 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,551.535 L354.638,550.789 L355.011,550.416 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,551.535 L355.757,551.907 L355.011,552.653 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,553.772 L354.638,553.026 L355.011,552.653 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,553.772 L355.757,554.145 L355.011,554.891 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,555.637 L354.638,554.891 L355.011,554.891 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,555.637 L355.757,556.009 L355.011,556.755 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,557.874 L354.638,557.128 L355.011,556.755 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,557.874 L355.757,558.247 L355.011,558.993 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,560.111 L354.638,559.366 L355.011,558.993 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,560.111 L355.757,560.484 L355.011,560.857 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,561.976 L354.638,561.23 L355.011,560.857 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,561.976 L355.757,562.349 L355.011,563.095 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,564.213 L354.638,563.468 L355.011,563.095 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,564.213 L355.757,564.586 L355.011,565.332 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,566.451 L354.638,565.705 L355.011,565.332 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,566.451 L355.757,566.824 L355.011,567.197 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,568.315 L354.638,567.57 L355.011,567.197 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,568.315 L355.757,568.688 L355.011,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,570.553 L354.638,569.807 L355.011,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,570.553 L355.757,570.926 L355.011,571.672 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,572.79 L354.638,572.045 L355.011,571.672 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,572.79 L355.757,572.79 L355.011,573.536 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,574.655 L354.638,573.909 L355.011,573.536 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,574.655 L355.757,575.028 L355.011,575.774 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,576.892 L354.638,576.147 L355.011,575.774 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,576.892 L355.757,577.265 L355.011,578.011 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,578.757 L354.638,578.384 L355.011,578.011 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,578.757 L355.757,579.13 L355.011,579.876 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,580.994 L354.638,580.249 L355.011,579.876 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,580.994 L355.757,581.367 L355.011,582.113 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,583.232 L354.638,582.486 L355.011,582.113 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,583.232 L355.757,583.605 L355.011,584.351 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,585.096 L354.638,584.351 L355.011,584.351 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,585.096 L355.757,585.469 L355.011,586.215 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,587.334 L354.638,586.588 L355.011,586.215 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,587.334 L355.757,587.707 L355.011,588.453 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,589.571 L354.638,588.826 L355.011,588.453 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,589.571 L355.757,589.944 L355.011,590.317 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,591.436 L354.638,590.69 L355.011,590.317 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,591.436 L355.757,591.809 L355.011,592.555 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,593.673 L354.638,592.928 L355.011,592.555 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,593.673 L355.757,594.046 L355.011,594.792 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,595.911 L354.638,595.165 L355.011,594.792 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,595.911 L355.757,596.284 L355.011,596.657 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,597.775 L354.638,597.03 L355.011,596.657 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,597.775 L355.757,598.148 L355.011,598.894 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,600.013 L354.638,599.267 L355.011,598.894 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,600.013 L355.757,600.386 L355.011,601.132 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,602.25 L354.638,601.505 L355.011,601.132 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,602.25 L355.757,602.25 L355.011,602.996 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,604.115 L354.638,603.369 L355.011,602.996 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,604.115 L355.757,604.488 L355.011,605.234 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,606.352 L354.638,605.607 L355.011,605.234 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,606.352 L355.757,606.725 L355.011,607.471 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,608.217 L354.638,607.844 L355.011,607.471 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,608.217 L355.757,608.59 L355.011,609.336 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,610.454 L354.638,609.709 L355.011,609.336 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,610.454 L355.757,610.827 L355.011,611.573 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,612.692 L354.638,611.946 L355.011,611.573 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,612.692 L355.757,613.065 L355.011,613.811 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,614.556 L354.638,614.183 L355.011,613.811 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,614.556 L355.757,614.929 L355.011,615.675 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,616.794 L354.638,616.048 L355.011,615.675 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,616.794 L355.757,617.167 L355.011,617.913 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,619.031 L354.638,618.285 L355.011,617.913 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,619.031 L355.757,619.404 L355.011,620.15 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,620.896 L354.638,620.15 L355.011,620.15 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,620.896 L355.757,621.269 L355.011,622.015 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,623.133 L354.638,622.387 L355.011,622.015 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,623.133 L355.757,623.506 L355.011,624.252 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,625.371 L354.638,624.625 L355.011,624.252 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,625.371 L355.757,625.744 L355.011,626.117 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,627.235 L354.638,626.489 L355.011,626.117 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,627.235 L355.757,627.608 L355.011,628.354 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,629.473 L354.638,628.727 L355.011,628.354 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,629.473 L355.757,629.846 L355.011,630.592 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,631.71 L354.638,630.964 L355.011,630.592 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,631.71 L355.757,632.083 L355.011,632.456 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,633.575 L354.638,632.829 L355.011,632.456 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,633.575 L355.757,633.948 L355.011,634.694 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,635.812 L354.638,635.066 L355.011,634.694 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,635.812 L355.757,636.185 L355.011,636.931 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,638.05 L354.638,637.304 L355.011,636.931 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,638.05 L355.757,638.05 L355.011,638.796 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,639.914 L354.638,639.168 L355.011,638.796 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,639.914 L355.757,640.287 L355.011,641.033 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,642.152 L354.638,641.406 L355.011,641.033 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,642.152 L355.757,642.525 L355.011,643.27 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,644.016 L354.638,643.643 L355.011,643.27 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,644.016 L355.757,644.389 L355.011,645.135 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,646.254 L354.638,645.508 L355.011,645.135 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,646.254 L355.757,646.627 L355.011,647.372 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,648.491 L354.638,647.745 L355.011,647.372 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,648.491 L355.757,648.864 L355.011,649.61 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,650.356 L354.638,649.61 L355.011,649.61 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,650.356 L355.757,650.729 L355.011,651.474 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,652.593 L354.638,651.847 L355.011,651.474 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,652.593 L355.757,652.966 L355.011,653.712 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,654.831 L354.638,654.085 L355.011,653.712 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,654.831 L355.757,655.204 L355.011,655.577 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,656.695 L354.638,655.949 L355.011,655.577 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,656.695 L355.757,657.068 L355.011,657.814 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,658.933 L354.638,658.187 L355.011,657.814 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,658.933 L355.757,659.306 L355.011,660.051 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,661.17 L354.638,660.424 L355.011,660.051 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,661.17 L355.757,661.543 L355.011,661.916 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,663.035 L354.638,662.289 L355.011,661.916 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,663.035 L355.757,663.408 L355.011,664.153 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,665.272 L354.638,664.526 L355.011,664.153 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,665.272 L355.757,665.645 L355.011,666.391 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,667.51 L354.638,666.764 L355.011,666.391 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,667.51 L355.757,667.51 L355.011,668.255 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,669.374 L354.638,668.628 L355.011,668.255 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,669.374 L355.757,669.747 L355.011,670.493 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,671.612 L354.638,670.866 L355.011,670.493 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,671.612 L355.757,671.985 L355.011,672.73 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,673.476 L354.638,673.103 L355.011,672.73 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,673.476 L355.757,673.849 L355.011,674.595 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,675.714 L354.638,674.968 L355.011,674.595 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,675.714 L355.757,676.087 L355.011,676.832 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,677.951 L354.638,677.205 L355.011,676.832 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,677.951 L355.757,678.324 L355.011,679.07 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,679.816 L354.638,679.443 L355.011,679.07 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,679.816 L355.757,680.189 L355.011,680.934 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,682.053 L354.638,681.307 L355.011,680.934 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,682.053 L355.757,682.426 L355.011,683.172 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,684.291 L354.638,683.545 L355.011,683.172 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,684.291 L355.757,684.664 L355.011,685.409 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,686.155 L354.638,685.409 L355.011,685.409 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,686.155 L355.757,686.528 L355.011,687.274 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,688.393 L354.638,687.647 L355.011,687.274 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,688.393 L355.757,688.766 L355.011,689.511 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,690.63 L354.638,689.884 L355.011,689.511 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,690.63 L355.757,691.003 L355.011,691.376 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,692.495 L354.638,691.749 L355.011,691.376 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,692.495 L355.757,692.868 L355.011,693.613 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,694.732 L354.638,693.986 L355.011,693.613 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,694.732 L355.757,695.105 L355.011,695.851 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,696.97 L354.638,696.224 L355.011,695.851 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,696.97 L355.757,697.342 L355.011,697.715 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,698.834 L354.638,698.088 L355.011,697.715 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,698.834 L355.757,699.207 L355.011,699.953 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,701.072 L354.638,700.326 L355.011,699.953 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,701.072 L355.757,701.444 L355.011,702.19 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,703.309 L354.638,702.563 L355.011,702.19 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,703.309 L355.757,703.309 L355.011,704.055 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,705.174 L354.638,704.428 L355.011,704.055 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,705.174 L355.757,705.547 L355.011,706.292 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,707.411 L354.638,706.665 L355.011,706.292 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,707.411 L355.757,707.784 L355.011,708.53 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,709.276 L354.638,708.903 L355.011,708.53 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,709.276 L355.757,709.649 L355.011,710.394 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,711.513 L354.638,710.767 L355.011,710.394 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,711.513 L355.757,711.886 L355.011,712.632 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,713.751 L354.638,713.005 L355.011,712.632 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,713.751 L355.757,714.123 L355.011,714.869 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,715.615 L354.638,714.869 L355.011,714.869 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,715.615 L355.757,715.988 L355.011,716.734 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,717.853 L354.638,717.107 L355.011,716.734 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,717.853 L355.757,718.225 L355.011,718.971 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,720.09 L354.638,719.344 L355.011,718.971 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,720.09 L355.757,720.463 L355.011,720.836 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,721.955 L354.638,721.209 L355.011,720.836 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,721.955 L355.757,722.327 L355.011,723.073 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,724.192 L354.638,723.446 L355.011,723.073 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,724.192 L355.757,724.565 L355.011,725.311 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,726.429 L354.638,725.684 L355.011,725.311 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,726.429 L355.757,726.802 L355.011,727.175 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,728.294 L354.638,727.548 L355.011,727.175 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,728.294 L355.757,728.667 L355.011,729.413 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,730.532 L354.638,729.786 L355.011,729.413 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,730.532 L355.757,730.904 L355.011,731.65 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,732.769 L354.638,732.023 L355.011,731.65 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,732.769 L355.757,732.769 L355.011,733.515 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,734.634 L354.638,733.888 L355.011,733.515 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,734.634 L355.757,735.006 L355.011,735.752 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,736.871 L354.638,736.125 L355.011,735.752 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,736.871 L355.757,737.244 L355.011,737.99 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,738.736 L354.638,738.363 L355.011,737.99 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,738.736 L355.757,739.108 L355.011,739.854 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,740.973 L354.638,740.227 L355.011,739.854 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,740.973 L355.757,741.346 L355.011,742.092 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,743.21 L354.638,742.465 L355.011,742.092 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,743.21 L355.757,743.583 L355.011,744.329 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,745.075 L354.638,744.702 L355.011,744.329 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,745.075 L355.757,745.448 L355.011,746.194 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,747.312 L354.638,746.567 L355.011,746.194 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,747.312 L355.757,747.685 L355.011,748.431 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,749.55 L354.638,748.804 L355.011,748.431 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,749.55 L355.757,749.923 L355.011,750.669 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,751.414 L354.638,750.669 L355.011,750.669 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,751.414 L355.757,751.787 L355.011,752.533 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,753.652 L354.638,752.906 L355.011,752.533 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,753.652 L355.757,754.025 L355.011,754.771 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,755.889 L354.638,755.144 L355.011,754.771 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,755.889 L355.757,756.262 L355.011,756.635 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,757.754 L354.638,757.008 L355.011,756.635 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,757.754 L355.757,758.127 L355.011,758.873 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,759.991 L354.638,759.246 L355.011,758.873 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,759.991 L355.757,760.364 L355.011,761.11 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,762.229 L354.638,761.483 L355.011,761.11 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,762.229 L355.757,762.602 L355.011,762.975 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,764.093 L354.638,763.348 L355.011,762.975 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,764.093 L355.757,764.466 L355.011,765.212 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,766.331 L354.638,765.585 L355.011,765.212 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,766.331 L355.757,766.704 L355.011,767.45 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,768.568 L354.638,767.823 L355.011,767.45 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,768.568 L355.757,768.568 L355.011,769.314 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,770.433 L354.638,769.687 L355.011,769.314 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,770.433 L355.757,770.806 L355.011,771.552 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,772.67 L354.638,771.925 L355.011,771.552 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,772.67 L355.757,773.043 L355.011,773.789 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,774.535 L354.638,774.162 L355.011,773.789 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,774.535 L355.757,774.908 L355.011,775.654 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,776.772 L354.638,776.027 L355.011,775.654 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,776.772 L355.757,777.145 L355.011,777.891 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,779.01 L354.638,778.264 L355.011,777.891 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,779.01 L355.757,779.383 L355.011,780.129 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,780.874 L354.638,780.129 L355.011,780.129 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,780.874 L355.757,781.247 L355.011,781.993 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,783.112 L354.638,782.366 L355.011,781.993 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,783.112 L355.757,783.485 L355.011,784.231 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,785.349 L354.638,784.604 L355.011,784.231 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,785.349 L355.757,785.722 L355.011,786.095 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,787.214 L354.638,786.468 L355.011,786.095 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,787.214 L355.757,787.587 L355.011,788.333 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,789.451 L354.638,788.706 L355.011,788.333 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,789.451 L355.757,789.824 L355.011,790.57 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,791.689 L354.638,790.943 L355.011,790.57 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,791.689 L355.757,792.062 L355.011,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,793.553 L354.638,792.808 L355.011,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,793.553 L355.757,793.926 L355.011,794.672 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,795.791 L354.638,795.045 L355.011,794.672 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,795.791 L355.757,796.164 L355.011,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,798.028 L354.638,797.282 L355.011,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,798.028 L355.757,798.028 L355.011,798.774 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,799.893 L354.638,799.147 L355.011,798.774 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,799.893 L355.757,800.266 L355.011,801.012 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,802.13 L354.638,801.384 L355.011,801.012 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,802.13 L355.757,802.503 L355.011,803.249 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,803.995 L354.638,803.622 L355.011,803.249 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,803.995 L355.757,804.368 L355.011,805.114 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,806.232 L354.638,805.486 L355.011,805.114 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,806.232 L355.757,806.605 L355.011,807.351 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,808.47 L354.638,807.724 L355.011,807.351 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,808.47 L355.757,808.843 L355.011,809.589 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,810.334 L354.638,809.961 L355.011,809.589 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,810.334 L355.757,810.707 L355.011,811.453 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,812.572 L354.638,811.826 L355.011,811.453 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,812.572 L355.757,812.945 L355.011,813.691 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,814.809 L354.638,814.063 L355.011,813.691 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,814.809 L355.757,815.182 L355.011,815.928 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,816.674 L354.638,815.928 L355.011,815.928 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,816.674 L355.757,817.047 L355.011,817.793 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,818.911 L354.638,818.165 L355.011,817.793 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,818.911 L355.757,819.284 L355.011,820.03 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,821.149 L354.638,820.403 L355.011,820.03 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,821.149 L355.757,821.522 L355.011,821.895 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,823.013 L354.638,822.267 L355.011,821.895 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,823.013 L355.757,823.386 L355.011,824.132 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,825.251 L354.638,824.505 L355.011,824.132 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,825.251 L355.757,825.624 L355.011,826.369 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,827.488 L354.638,826.742 L355.011,826.369 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,827.488 L355.757,827.861 L355.011,828.234 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,829.353 L354.638,828.607 L355.011,828.234 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,829.353 L355.757,829.726 L355.011,830.471 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,831.59 L354.638,830.844 L355.011,830.471 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,831.59 L355.757,831.963 L355.011,832.709 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,833.828 L354.638,833.082 L355.011,832.709 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,833.828 L355.757,833.828 L355.011,834.574 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,835.692 L354.638,834.946 L355.011,834.574 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,835.692 L355.757,836.065 L355.011,836.811 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,837.93 L354.638,837.184 L355.011,836.811 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,837.93 L355.757,838.303 L355.011,839.048 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,839.794 L354.638,839.421 L355.011,839.048 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,839.794 L355.757,840.167 L355.011,840.913 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,842.032 L354.638,841.286 L355.011,840.913 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,842.032 L355.757,842.405 L355.011,843.15 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,844.269 L354.638,843.523 L355.011,843.15 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,844.269 L355.757,844.642 L355.011,845.388 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,846.134 L354.638,845.388 L355.011,845.388 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,846.134 L355.757,846.507 L355.011,847.252 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,848.371 L354.638,847.625 L355.011,847.252 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,848.371 L355.757,848.744 L355.011,849.49 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,850.609 L354.638,849.863 L355.011,849.49 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,850.609 L355.757,850.982 L355.011,851.354 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,852.473 L354.638,851.727 L355.011,851.354 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,852.473 L355.757,852.846 L355.011,853.592 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,854.711 L354.638,853.965 L355.011,853.592 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,854.711 L355.757,855.084 L355.011,855.829 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,856.948 L354.638,856.202 L355.011,855.829 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,856.948 L355.757,857.321 L355.011,857.694 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,858.813 L354.638,858.067 L355.011,857.694 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,858.813 L355.757,859.186 L355.011,859.931 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,861.05 L354.638,860.304 L355.011,859.931 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,861.05 L355.757,861.423 L355.011,862.169 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,862.915 L354.638,862.542 L355.011,862.169 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,792.435 L90.6172,792.435 M90.2443,796.91 L90.6172,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M236.425,788.706 L236.425,789.078 L236.798,789.824 L236.425,790.197 " fill="none" stroke="#00FF00" />
+	<path d="M236.425,791.316 L235.679,790.943 L236.425,790.197 " fill="none" stroke="#00FF00" />
+	<path d="M236.425,791.316 L236.798,792.062 L236.425,792.062 " fill="none" stroke="#00FF00" />
+	<path d="M236.425,793.18 L235.679,792.808 L236.425,792.062 " fill="none" stroke="#00FF00" />
+	<path d="M236.425,793.18 L236.798,793.926 L236.425,794.299 " fill="none" stroke="#00FF00" />
+	<path d="M236.425,795.418 L235.679,795.045 L236.425,794.299 " fill="none" stroke="#00FF00" />
+	<path d="M236.425,795.418 L236.425,795.791 L237.171,795.791 L237.917,795.418 L238.29,795.791 " fill="none" stroke="#00FF00" />
+	<path d="M239.036,795.791 L238.663,796.537 L238.29,795.791 " fill="none" stroke="#00FF00" />
+	<path d="M239.036,795.791 L239.781,795.418 L240.154,795.791 " fill="none" stroke="#00FF00" />
+	<path d="M241.273,795.791 L240.9,796.537 L240.154,795.791 " fill="none" stroke="#00FF00" />
+	<path d="M241.273,795.791 L242.019,795.418 L242.392,795.791 " fill="none" stroke="#00FF00" />
+	<path d="M243.511,795.791 L243.138,796.537 L242.392,795.791 " fill="none" stroke="#00FF00" />
+	<path d="M243.511,795.791 L244.256,795.418 L244.256,795.791 " fill="none" stroke="#00FF00" />
+	<path d="M245.375,795.791 L245.002,796.537 L244.256,795.791 " fill="none" stroke="#00FF00" />
+	<path d="M245.375,795.791 L246.121,795.418 L246.494,795.791 " fill="none" stroke="#00FF00" />
+	<path d="M247.613,795.791 L247.24,796.537 L246.494,795.791 " fill="none" stroke="#00FF00" />
+	<path d="M247.613,795.791 L248.358,795.418 L248.731,795.791 " fill="none" stroke="#00FF00" />
+	<path d="M249.85,795.791 L249.477,796.537 L248.731,795.791 " fill="none" stroke="#00FF00" />
+	<path d="M249.85,795.791 L250.223,795.418 L250.596,795.791 " fill="none" stroke="#00FF00" />
+	<path d="M251.715,795.791 L251.342,796.537 L250.596,795.791 " fill="none" stroke="#00FF00" />
+	<path d="M251.715,795.791 L252.833,795.791 L252.833,795.418 L252.087,795.045 L252.833,794.299 " fill="none" stroke="#FFFFFF" />
+	<path d="M252.833,793.18 L253.206,793.926 L252.833,794.299 " fill="none" stroke="#00FF00" />
+	<path d="M252.833,793.18 L252.087,792.808 L252.833,792.062 " fill="none" stroke="#00FF00" />
+	<path d="M252.833,791.316 L253.206,792.062 L252.833,792.062 " fill="none" stroke="#00FF00" />
+	<path d="M252.833,791.316 L252.087,790.943 L252.833,790.197 " fill="none" stroke="#00FF00" />
+	<path d="M252.833,789.078 L253.206,789.824 L252.833,790.197 " fill="none" stroke="#00FF00" />
+	<path d="M252.833,789.078 L252.833,788.706 L251.715,788.706 L251.342,789.078 L250.596,788.706 " fill="none" stroke="#00FF00" />
+	<path d="M249.85,788.706 L250.223,787.96 L250.596,788.706 " fill="none" stroke="#00FF00" />
+	<path d="M249.85,788.706 L249.477,789.078 L248.731,788.706 " fill="none" stroke="#00FF00" />
+	<path d="M247.613,788.706 L248.358,787.96 L248.731,788.706 " fill="none" stroke="#00FF00" />
+	<path d="M247.613,788.706 L247.24,789.078 L246.494,788.706 " fill="none" stroke="#00FF00" />
+	<path d="M245.375,788.706 L246.121,787.96 L246.494,788.706 " fill="none" stroke="#00FF00" />
+	<path d="M245.375,788.706 L245.002,789.078 L244.256,788.706 " fill="none" stroke="#00FF00" />
+	<path d="M243.511,788.706 L244.256,787.96 L244.256,788.706 " fill="none" stroke="#00FF00" />
+	<path d="M243.511,788.706 L243.138,789.078 L242.392,788.706 " fill="none" stroke="#00FF00" />
+	<path d="M241.273,788.706 L242.019,787.96 L242.392,788.706 " fill="none" stroke="#00FF00" />
+	<path d="M241.273,788.706 L240.9,789.078 L240.154,788.706 " fill="none" stroke="#00FF00" />
+	<path d="M239.036,788.706 L239.781,787.96 L240.154,788.706 " fill="none" stroke="#00FF00" />
+	<path d="M239.036,788.706 L238.663,789.078 L238.29,788.706 " fill="none" stroke="#00FF00" />
+	<path d="M237.171,788.706 L237.917,787.96 L238.29,788.706 " fill="none" stroke="#00FF00" />
+	<path d="M237.171,788.706 L236.425,788.706 " fill="none" stroke="#00FF00" />
+	<path d="M236.425,674.968 L236.425,675.714 L236.798,676.087 L236.425,676.832 " fill="none" stroke="#00FF00" />
+	<path d="M236.425,677.951 L235.679,677.205 L236.425,676.832 " fill="none" stroke="#00FF00" />
+	<path d="M236.425,677.951 L236.798,678.324 L236.425,679.07 " fill="none" stroke="#00FF00" />
+	<path d="M236.425,679.816 L235.679,679.443 L236.425,679.07 " fill="none" stroke="#00FF00" />
+	<path d="M236.425,679.816 L236.798,680.189 L236.425,680.934 " fill="none" stroke="#00FF00" />
+	<path d="M236.425,682.053 L235.679,681.307 L236.425,680.934 " fill="none" stroke="#00FF00" />
+	<path d="M236.425,682.053 L236.425,682.426 L237.171,682.426 L237.917,681.68 L238.29,682.426 " fill="none" stroke="#00FF00" />
+	<path d="M239.036,682.426 L238.663,682.799 L238.29,682.426 " fill="none" stroke="#00FF00" />
+	<path d="M239.036,682.426 L239.781,681.68 L240.154,682.426 " fill="none" stroke="#00FF00" />
+	<path d="M241.273,682.426 L240.9,682.799 L240.154,682.426 " fill="none" stroke="#00FF00" />
+	<path d="M241.273,682.426 L242.019,681.68 L242.392,682.426 " fill="none" stroke="#00FF00" />
+	<path d="M243.511,682.426 L243.138,682.799 L242.392,682.426 " fill="none" stroke="#00FF00" />
+	<path d="M243.511,682.426 L244.256,681.68 L244.256,682.426 " fill="none" stroke="#00FF00" />
+	<path d="M245.375,682.426 L245.002,682.799 L244.256,682.426 " fill="none" stroke="#00FF00" />
+	<path d="M245.375,682.426 L246.121,681.68 L246.494,682.426 " fill="none" stroke="#00FF00" />
+	<path d="M247.613,682.426 L247.24,682.799 L246.494,682.426 " fill="none" stroke="#00FF00" />
+	<path d="M247.613,682.426 L248.358,681.68 L248.731,682.426 " fill="none" stroke="#00FF00" />
+	<path d="M249.85,682.426 L249.477,682.799 L248.731,682.426 " fill="none" stroke="#00FF00" />
+	<path d="M249.85,682.426 L250.223,681.68 L250.596,682.426 " fill="none" stroke="#00FF00" />
+	<path d="M251.715,682.426 L251.342,682.799 L250.596,682.426 " fill="none" stroke="#00FF00" />
+	<path d="M251.715,682.426 L252.833,682.426 L252.833,682.053 L252.087,681.307 L252.833,680.934 " fill="none" stroke="#00FF00" />
+	<path d="M252.833,679.816 L253.206,680.189 L252.833,680.934 " fill="none" stroke="#00FF00" />
+	<path d="M252.833,679.816 L252.087,679.443 L252.833,679.07 " fill="none" stroke="#00FF00" />
+	<path d="M252.833,677.951 L253.206,678.324 L252.833,679.07 " fill="none" stroke="#00FF00" />
+	<path d="M252.833,677.951 L252.087,677.205 L252.833,676.832 " fill="none" stroke="#00FF00" />
+	<path d="M252.833,675.714 L253.206,676.087 L252.833,676.832 " fill="none" stroke="#00FF00" />
+	<path d="M252.833,675.714 L252.833,674.968 L251.715,674.968 L251.342,675.714 L250.596,674.968 " fill="none" stroke="#00FF00" />
+	<path d="M249.85,674.968 L250.223,674.595 L250.596,674.968 " fill="none" stroke="#00FF00" />
+	<path d="M249.85,674.968 L249.477,675.714 L248.731,674.968 " fill="none" stroke="#00FF00" />
+	<path d="M247.613,674.968 L248.358,674.595 L248.731,674.968 " fill="none" stroke="#00FF00" />
+	<path d="M247.613,674.968 L247.24,675.714 L246.494,674.968 " fill="none" stroke="#00FF00" />
+	<path d="M245.375,674.968 L246.121,674.595 L246.494,674.968 " fill="none" stroke="#00FF00" />
+	<path d="M245.375,674.968 L245.002,675.714 L244.256,674.968 " fill="none" stroke="#00FF00" />
+	<path d="M243.511,674.968 L244.256,674.595 L244.256,674.968 " fill="none" stroke="#00FF00" />
+	<path d="M243.511,674.968 L243.138,675.714 L242.392,674.968 " fill="none" stroke="#00FF00" />
+	<path d="M241.273,674.968 L242.019,674.595 L242.392,674.968 " fill="none" stroke="#00FF00" />
+	<path d="M241.273,674.968 L240.9,675.714 L240.154,674.968 " fill="none" stroke="#00FF00" />
+	<path d="M239.036,674.968 L239.781,674.595 L240.154,674.968 " fill="none" stroke="#00FF00" />
+	<path d="M239.036,674.968 L238.663,675.714 L238.29,674.968 " fill="none" stroke="#00FF00" />
+	<path d="M237.171,674.968 L237.917,674.595 L238.29,674.968 " fill="none" stroke="#00FF00" />
+	<path d="M237.171,674.968 L236.425,674.968 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,450.849 L46.2409,449.73 L45.4951,449.357 L46.2409,448.611 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,447.865 L46.6138,448.238 L46.2409,448.611 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,447.865 L45.4951,447.492 L46.2409,446.747 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,445.628 L46.6138,446.374 L46.2409,446.747 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,445.628 L45.4951,445.255 L46.2409,444.509 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,443.39 L46.6138,444.136 L46.2409,444.509 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,443.39 L45.4951,443.018 L46.2409,442.272 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,441.526 L46.6138,441.899 L46.2409,442.272 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,441.526 L45.4951,441.153 L46.2409,440.407 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,439.288 L46.6138,440.034 L46.2409,440.407 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,439.288 L45.4951,438.916 L46.2409,438.17 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,437.051 L46.6138,437.797 L46.2409,438.17 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,437.051 L45.4951,436.678 L46.2409,436.305 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,435.186 L46.6138,435.932 L46.2409,436.305 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,435.186 L45.4951,434.814 L46.2409,434.068 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,432.949 L46.6138,433.695 L46.2409,434.068 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,432.949 L45.4951,432.576 L46.2409,431.83 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,430.712 L46.6138,431.457 L46.2409,431.83 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,430.712 L45.4951,430.339 L46.2409,429.966 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,428.847 L46.6138,429.593 L46.2409,429.966 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,428.847 L45.4951,428.474 L46.2409,427.728 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,426.61 L46.6138,427.355 L46.2409,427.728 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,426.61 L45.4951,426.237 L46.2409,425.491 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,424.372 L46.6138,425.118 L46.2409,425.491 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,424.372 L45.4951,424.372 L46.2409,423.626 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,422.508 L46.6138,423.253 L46.2409,423.626 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,422.508 L45.4951,422.135 L46.2409,421.389 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,420.27 L46.6138,421.016 L46.2409,421.389 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,420.27 L46.2409,419.151 L46.6138,419.151 L46.9867,418.778 L47.3596,419.151 " fill="none" stroke="#00FF00" />
+	<path d="M48.4784,419.151 L48.1054,419.897 L47.3596,419.151 " fill="none" stroke="#00FF00" />
+	<path d="M48.4784,419.151 L49.2242,418.778 L49.5971,419.151 " fill="none" stroke="#00FF00" />
+	<path d="M50.7158,419.151 L50.3429,419.897 L49.5971,419.151 " fill="none" stroke="#00FF00" />
+	<path d="M50.7158,419.151 L51.0887,419.151 L51.0887,420.27 L51.8345,421.016 L51.0887,421.389 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,422.508 L50.7158,422.135 L51.0887,421.389 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,422.508 L51.8345,423.253 L51.0887,423.626 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,424.372 L50.7158,424.372 L51.0887,423.626 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,424.372 L51.8345,425.118 L51.0887,425.491 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,426.61 L50.7158,426.237 L51.0887,425.491 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,426.61 L51.8345,427.355 L51.0887,427.728 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,428.847 L50.7158,428.474 L51.0887,427.728 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,428.847 L51.8345,429.593 L51.0887,429.966 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,430.712 L50.7158,430.339 L51.0887,429.966 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,430.712 L51.8345,431.457 L51.0887,431.83 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,432.949 L50.7158,432.576 L51.0887,431.83 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,432.949 L51.8345,433.695 L51.0887,434.068 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,435.186 L50.7158,434.814 L51.0887,434.068 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,435.186 L51.8345,435.932 L51.0887,436.305 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,437.051 L50.7158,436.678 L51.0887,436.305 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,437.051 L51.8345,437.797 L51.0887,438.17 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,439.288 L50.7158,438.916 L51.0887,438.17 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,439.288 L51.8345,440.034 L51.0887,440.407 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,441.526 L50.7158,441.153 L51.0887,440.407 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,441.526 L51.8345,441.899 L51.0887,442.272 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,443.39 L50.7158,443.018 L51.0887,442.272 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,443.39 L51.8345,444.136 L51.0887,444.509 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,445.628 L50.7158,445.255 L51.0887,444.509 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,445.628 L51.8345,446.374 L51.0887,446.747 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,447.865 L50.7158,447.492 L51.0887,446.747 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,447.865 L51.8345,448.238 L51.0887,448.611 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,449.73 L50.7158,449.357 L51.0887,448.611 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,449.73 L51.0887,450.849 L50.7158,450.849 L50.3429,451.595 L49.5971,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M48.4784,450.849 L49.2242,450.476 L49.5971,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M48.4784,450.849 L48.1054,451.595 L47.3596,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M46.6138,450.849 L46.9867,450.476 L47.3596,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M46.6138,450.849 L46.2409,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M36.5452,404.608 L12.306,404.608 " fill="none" stroke="#00BFFF" />
+	<path d="M12.306,375.894 L36.5452,375.894 L36.5452,404.608 L53.6991,404.608 L53.6991,375.894 L36.5452,375.894 L36.5452,404.608 " fill="none" stroke="#00BFFF" />
+	<path d="M31.3245,404.608 L31.3245,375.521 M26.1037,404.608 L26.1037,375.521 M20.883,404.608 L20.883,375.521 M16.0351,404.608 L16.0351,375.521 " fill="none" stroke="#FFFFFF" />
+	<path d="M12.306,375.148 L12.306,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M13.4248,375.521 L13.0519,376.267 L12.306,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M13.4248,375.521 L14.1706,375.148 L14.1706,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M15.2893,375.521 L14.9164,376.267 L14.1706,375.521 " fill="none" stroke="#00FF00" />
+	<path d="M15.2893,375.521 L16.0351,375.521 L16.0351,376.267 L16.4081,376.64 L16.0351,377.012 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,378.131 L15.2893,377.758 L16.0351,377.012 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,378.131 L16.4081,378.877 L16.0351,379.25 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,380.369 L15.2893,379.996 L16.0351,379.25 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,380.369 L16.4081,381.114 L16.0351,381.487 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,382.606 L15.2893,382.233 L16.0351,381.487 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,382.606 L16.4081,382.979 L16.0351,383.352 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,384.471 L15.2893,384.098 L16.0351,383.352 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,384.471 L16.4081,385.216 L16.0351,385.589 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,386.708 L15.2893,386.335 L16.0351,385.589 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,386.708 L16.4081,387.454 L16.0351,387.827 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,388.573 L15.2893,388.573 L16.0351,387.827 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,388.573 L16.4081,389.318 L16.0351,389.691 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,390.81 L15.2893,390.437 L16.0351,389.691 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,390.81 L16.4081,391.556 L16.0351,391.929 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,393.048 L15.2893,392.675 L16.0351,391.929 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,393.048 L16.4081,393.793 L16.0351,394.166 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,394.912 L15.2893,394.539 L16.0351,394.166 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,394.912 L16.4081,395.658 L16.0351,396.031 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,397.15 L15.2893,396.777 L16.0351,396.031 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,397.15 L16.4081,397.895 L16.0351,398.268 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,399.387 L15.2893,399.014 L16.0351,398.268 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,399.387 L16.4081,400.133 L16.0351,400.506 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,401.252 L15.2893,400.879 L16.0351,400.506 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,401.252 L16.4081,401.997 L16.0351,402.37 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,403.489 L15.2893,403.116 L16.0351,402.37 " fill="none" stroke="#00FF00" />
+	<path d="M16.0351,403.489 L16.0351,404.608 L15.2893,404.608 L14.9164,404.981 L14.1706,404.608 " fill="none" stroke="#00FF00" />
+	<path d="M13.4248,404.608 L14.1706,403.862 L14.1706,404.608 " fill="none" stroke="#00FF00" />
+	<path d="M13.4248,404.608 L13.0519,404.981 L12.306,404.608 L12.306,404.235 " fill="none" stroke="#00FF00" />
+	<path d="M114.111,862.915 L355.011,100.686 " fill="none" stroke="#FFFF00" />
+	<path d="M164.453,707.784 L168.556,708.903 L168.183,710.021 L167.81,710.394 L167.437,710.767 L167.437,710.767 L166.691,710.394 L166.318,710.021 L165.945,709.276 L166.318,708.53 " fill="none" stroke="#FAFAFA" />
+	<path d="M167.437,711.886 L163.335,710.394 M165.945,710.767 L167.064,712.632 M163.335,710.394 L162.962,712.259 " fill="none" stroke="#FAFAFA" />
+	<path d="M167.064,714.123 L164.453,714.496 L162.216,713.751 " fill="none" stroke="#FAFAFA" />
+	<path d="M166.318,715.988 L164.453,714.496 M165.945,717.48 L161.843,715.988 M166.318,716.361 L165.572,718.598 " fill="none" stroke="#FAFAFA" />
+	<path d="M161.47,717.48 L165.199,719.717 L160.724,719.717 " fill="none" stroke="#FAFAFA" />
+	<path d="M162.589,718.225 L162.216,719.717 " fill="none" stroke="#FAFAFA" />
+	<path d="M164.081,726.057 L164.453,725.684 L164.081,725.684 L163.708,725.684 L164.081,725.684 L164.081,726.057 Z" fill="none" stroke="#FAFAFA" />
+	<path d="M162.962,726.429 L159.606,723.073 L158.86,724.938 " fill="none" stroke="#FAFAFA" />
+	<path d="M163.708,724.192 L162.962,726.429 " fill="none" stroke="#FAFAFA" />
+	<path d="M158.487,726.057 L162.589,727.175 L162.216,729.04 " fill="none" stroke="#FAFAFA" />
+	<path d="M160.724,726.802 L160.351,727.548 M158.487,726.057 L158.114,727.548 " fill="none" stroke="#FAFAFA" />
+	<path d="M162.216,729.786 L157.741,728.667 L156.995,730.159 " fill="none" stroke="#FAFAFA" />
+	<path d="M156.995,730.904 L161.47,732.396 L160.724,733.142 L160.724,733.888 L160.351,733.888 L159.979,733.888 L159.233,733.515 L158.86,733.515 L158.86,733.142 L158.86,732.769 L159.233,731.65 " fill="none" stroke="#FAFAFA" />
+	<path d="M158.86,732.769 L158.487,733.142 L158.114,733.142 L157.741,733.142 L156.995,732.769 L156.622,732.769 L156.622,732.769 L156.622,732.396 L156.995,730.904 " fill="none" stroke="#FAFAFA" />
+	<path d="M156.249,733.515 L160.351,735.006 L159.606,736.871 " fill="none" stroke="#FFFFFF" />
+	<path d="M158.114,734.261 L157.741,735.752 M156.249,733.515 L155.877,735.752 M159.233,738.363 L155.131,737.244 M159.606,737.617 L158.86,739.108 " fill="none" stroke="#FAFAFA" />
+	<path d="M158.487,740.6 L158.487,740.227 L158.114,739.854 L157.741,739.481 L156.995,739.108 L156.249,738.736 L155.877,738.736 L155.131,738.736 L154.758,739.108 L154.385,739.108 L154.385,739.854 L154.385,740.227 L154.758,740.6 L155.131,740.973 L155.504,741.346 L156.622,741.346 L156.995,741.719 L157.368,741.719 L158.114,741.346 L158.487,740.6 Z" fill="none" stroke="#FAFAFA" />
+	<path d="M157.741,742.838 L153.639,742.092 L157.368,744.329 L152.893,743.583 L156.995,745.448 " fill="none" stroke="#FAFAFA" />
+	<path d="M152.52,744.702 L156.622,746.94 L151.775,746.94 " fill="none" stroke="#FAFAFA" />
+	<path d="M154.012,745.448 L153.639,746.94 " fill="none" stroke="#FAFAFA" />
+	<path d="M155.131,751.787 L154.385,753.279 L153.266,751.787 L152.893,752.533 L152.52,752.533 L151.775,752.533 L151.402,752.533 L151.029,752.16 L150.656,751.787 L150.656,751.414 L151.029,750.669 L151.029,750.669 L151.775,750.669 " fill="none" stroke="#FAFAFA" />
+	<path d="M154.012,755.144 L154.012,754.771 L153.266,754.398 L152.52,753.652 L151.775,753.652 L151.029,753.279 L150.283,753.652 L149.91,754.025 L149.91,754.771 L150.283,755.144 L151.029,755.517 L151.775,755.889 L152.893,755.889 L153.639,755.889 L154.012,755.517 L154.012,755.144 Z" fill="none" stroke="#FAFAFA" />
+	<path d="M149.91,761.11 L150.656,761.11 L151.029,760.737 L151.029,760.364 L151.029,759.991 L150.656,759.619 L149.91,759.246 L149.537,758.873 L148.791,758.873 L148.418,759.246 L148.045,759.246 L148.045,759.991 L148.045,760.364 L148.418,760.737 " fill="none" stroke="#FAFAFA" />
+	<path d="M150.283,762.229 L147.3,761.483 " fill="none" stroke="#FAFAFA" />
+	<path d="M149.537,762.229 L149.91,762.602 L150.283,762.602 L149.91,763.348 L149.537,763.348 L149.164,763.348 L146.927,762.602 " fill="none" stroke="#FAFAFA" />
+	<path d="M149.164,763.348 L149.537,764.093 L149.537,764.466 L149.537,764.839 L149.164,764.839 L148.418,764.839 L146.554,764.466 " fill="none" stroke="#FAFAFA" />
+	<path d="M218.898,561.976 L218.898,562.349 L219.644,563.095 L218.898,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,564.586 L218.526,564.213 L218.898,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,564.586 L219.644,565.332 L218.898,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,566.824 L218.526,566.451 L218.898,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,566.824 L219.644,567.197 L218.898,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,568.688 L218.526,568.315 L218.898,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,568.688 L218.898,569.434 L220.017,569.434 L220.39,568.688 L221.136,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M222.255,569.434 L221.509,569.807 L221.136,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M222.255,569.434 L222.255,568.688 L223,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M224.119,569.434 L223.373,569.807 L223,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M224.119,569.434 L224.492,568.688 L225.238,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M226.357,569.434 L225.611,569.807 L225.238,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M226.357,569.434 L226.73,568.688 L227.475,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M228.221,569.434 L227.848,569.807 L227.475,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M228.221,569.434 L228.594,568.688 L229.34,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M230.459,569.434 L229.713,569.807 L229.34,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M230.459,569.434 L230.832,568.688 L231.577,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M232.696,569.434 L231.95,569.807 L231.577,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M232.696,569.434 L233.069,568.688 L233.442,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M234.561,569.434 L233.815,569.807 L233.442,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M234.561,569.434 L235.306,569.434 L235.306,568.688 L234.934,568.315 L235.306,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,566.824 L236.052,567.197 L235.306,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,566.824 L234.934,566.451 L235.306,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,564.586 L236.052,565.332 L235.306,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,564.586 L234.934,564.213 L235.306,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,562.349 L236.052,563.095 L235.306,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,562.349 L235.306,561.976 L234.561,561.976 L233.815,562.722 L233.442,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M232.696,561.976 L233.069,561.603 L233.442,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M232.696,561.976 L231.95,562.722 L231.577,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M230.459,561.976 L230.832,561.603 L231.577,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M230.459,561.976 L229.713,562.722 L229.34,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M228.221,561.976 L228.594,561.603 L229.34,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M228.221,561.976 L227.848,562.722 L227.475,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M226.357,561.976 L226.73,561.603 L227.475,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M226.357,561.976 L225.611,562.722 L225.238,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M224.119,561.976 L224.492,561.603 L225.238,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M224.119,561.976 L223.373,562.722 L223,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M222.255,561.976 L222.255,561.603 L223,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M222.255,561.976 L221.509,562.722 L221.136,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M220.017,561.976 L220.39,561.603 L221.136,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M220.017,561.976 L218.898,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,212.186 L218.898,212.559 L219.644,213.305 L218.898,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,214.796 L218.526,214.423 L218.898,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,214.796 L219.644,215.542 L218.898,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,216.661 L218.526,216.661 L218.898,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,216.661 L219.644,217.407 L218.898,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,218.898 L218.526,218.526 L218.898,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,218.898 L218.898,219.271 L220.017,219.271 L220.39,218.898 L221.136,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M222.255,219.271 L221.509,220.017 L221.136,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M222.255,219.271 L222.255,218.898 L223,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M224.119,219.271 L223.373,220.017 L223,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M224.119,219.271 L224.492,218.898 L225.238,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M226.357,219.271 L225.611,220.017 L225.238,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M226.357,219.271 L226.73,218.898 L227.475,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M228.221,219.271 L227.848,220.017 L227.475,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M228.221,219.271 L228.594,218.898 L229.34,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M230.459,219.271 L229.713,220.017 L229.34,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M230.459,219.271 L230.832,218.898 L231.577,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M232.696,219.271 L231.95,220.017 L231.577,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M232.696,219.271 L233.069,218.898 L233.442,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M234.561,219.271 L233.815,220.017 L233.442,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M234.561,219.271 L235.306,219.271 L235.306,218.898 L234.934,218.526 L235.306,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,216.661 L236.052,217.407 L235.306,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,216.661 L234.934,216.661 L235.306,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,214.796 L236.052,215.542 L235.306,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,214.796 L234.934,214.423 L235.306,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,212.559 L236.052,213.305 L235.306,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,212.559 L235.306,212.186 L234.561,212.186 L233.815,212.559 L233.442,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M232.696,212.186 L233.069,211.44 L233.442,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M232.696,212.186 L231.95,212.559 L231.577,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M230.459,212.186 L230.832,211.44 L231.577,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M230.459,212.186 L229.713,212.559 L229.34,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M228.221,212.186 L228.594,211.44 L229.34,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M228.221,212.186 L227.848,212.559 L227.475,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M226.357,212.186 L226.73,211.44 L227.475,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M226.357,212.186 L225.611,212.559 L225.238,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M224.119,212.186 L224.492,211.44 L225.238,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M224.119,212.186 L223.373,212.559 L223,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M222.255,212.186 L222.255,211.44 L223,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M222.255,212.186 L221.509,212.559 L221.136,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M220.017,212.186 L220.39,211.44 L221.136,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M220.017,212.186 L218.898,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,561.976 L73.8363,562.349 L74.2092,563.095 L73.8363,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,564.586 L73.0904,564.213 L73.8363,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,564.586 L74.2092,565.332 L73.8363,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,566.824 L73.0904,566.451 L73.8363,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,566.824 L74.2092,567.197 L73.8363,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,568.688 L73.0904,568.315 L73.8363,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,568.688 L73.8363,569.434 L74.5821,569.434 L74.955,568.688 L75.3279,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M76.4466,569.434 L76.0737,569.807 L75.3279,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M76.4466,569.434 L77.1925,568.688 L77.5654,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M78.6841,569.434 L78.3112,569.807 L77.5654,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M78.6841,569.434 L79.4299,568.688 L79.8028,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M80.5486,569.434 L80.1757,569.807 L79.8028,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M80.5486,569.434 L81.2945,568.688 L81.6674,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M82.7861,569.434 L82.4132,569.807 L81.6674,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M82.7861,569.434 L83.5319,568.688 L83.9048,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,569.434 L84.6507,569.807 L83.9048,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,569.434 L85.3965,568.688 L85.7694,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,569.434 L86.5152,569.807 L85.7694,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,569.434 L87.6339,568.688 L88.0069,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M89.1256,569.434 L88.7527,569.807 L88.0069,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M89.1256,569.434 L90.2443,569.434 L90.2443,568.688 L89.8714,568.315 L90.2443,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,566.824 L90.9901,567.197 L90.2443,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,566.824 L89.8714,566.451 L90.2443,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,564.586 L90.9901,565.332 L90.2443,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,564.586 L89.8714,564.213 L90.2443,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,562.349 L90.9901,563.095 L90.2443,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,562.349 L90.2443,561.976 L89.1256,561.976 L88.7527,562.722 L88.0069,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,561.976 L87.6339,561.603 L88.0069,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,561.976 L86.5152,562.722 L85.7694,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,561.976 L85.3965,561.603 L85.7694,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,561.976 L84.6507,562.722 L83.9048,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M82.7861,561.976 L83.5319,561.603 L83.9048,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M82.7861,561.976 L82.4132,562.722 L81.6674,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M80.5486,561.976 L81.2945,561.603 L81.6674,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M80.5486,561.976 L80.1757,562.722 L79.8028,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M78.6841,561.976 L79.4299,561.603 L79.8028,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M78.6841,561.976 L78.3112,562.722 L77.5654,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M76.4466,561.976 L77.1925,561.603 L77.5654,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M76.4466,561.976 L76.0737,562.722 L75.3279,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M74.5821,561.976 L74.955,561.603 L75.3279,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M74.5821,561.976 L73.8363,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,212.186 L73.8363,212.559 L74.2092,213.305 L73.8363,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,214.796 L73.0904,214.423 L73.8363,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,214.796 L74.2092,215.542 L73.8363,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,216.661 L73.0904,216.661 L73.8363,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,216.661 L74.2092,217.407 L73.8363,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,218.898 L73.0904,218.526 L73.8363,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,218.898 L73.8363,219.271 L74.5821,219.271 L74.955,218.898 L75.3279,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M76.4466,219.271 L76.0737,220.017 L75.3279,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M76.4466,219.271 L77.1925,218.898 L77.5654,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M78.6841,219.271 L78.3112,220.017 L77.5654,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M78.6841,219.271 L79.4299,218.898 L79.8028,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M80.5486,219.271 L80.1757,220.017 L79.8028,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M80.5486,219.271 L81.2945,218.898 L81.6674,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M82.7861,219.271 L82.4132,220.017 L81.6674,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M82.7861,219.271 L83.5319,218.898 L83.9048,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,219.271 L84.6507,220.017 L83.9048,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,219.271 L85.3965,218.898 L85.7694,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,219.271 L86.5152,220.017 L85.7694,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,219.271 L87.6339,218.898 L88.0069,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M89.1256,219.271 L88.7527,220.017 L88.0069,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M89.1256,219.271 L90.2443,219.271 L90.2443,218.898 L89.8714,218.526 L90.2443,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,216.661 L90.9901,217.407 L90.2443,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,216.661 L89.8714,216.661 L90.2443,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,214.796 L90.9901,215.542 L90.2443,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,214.796 L89.8714,214.423 L90.2443,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,212.559 L90.9901,213.305 L90.2443,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,212.559 L90.2443,212.186 L89.1256,212.186 L88.7527,212.559 L88.0069,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,212.186 L87.6339,211.44 L88.0069,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,212.186 L86.5152,212.559 L85.7694,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,212.186 L85.3965,211.44 L85.7694,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,212.186 L84.6507,212.559 L83.9048,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M82.7861,212.186 L83.5319,211.44 L83.9048,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M82.7861,212.186 L82.4132,212.559 L81.6674,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M80.5486,212.186 L81.2945,211.44 L81.6674,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M80.5486,212.186 L80.1757,212.559 L79.8028,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M78.6841,212.186 L79.4299,211.44 L79.8028,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M78.6841,212.186 L78.3112,212.559 L77.5654,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M76.4466,212.186 L77.1925,211.44 L77.5654,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M76.4466,212.186 L76.0737,212.559 L75.3279,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M74.5821,212.186 L74.955,211.44 L75.3279,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M74.5821,212.186 L73.8363,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,335.619 L326.67,335.246 L326.297,334.501 L326.67,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,333.009 L327.042,333.382 L326.67,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,333.009 L326.297,332.263 L326.67,331.89 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,330.772 L327.042,331.144 L326.67,331.89 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,330.772 L326.297,330.026 L326.67,329.653 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,328.907 L327.042,329.28 L326.67,329.653 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,328.907 L326.297,328.161 L326.67,327.788 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,326.67 L327.042,327.042 L326.67,327.788 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,326.67 L326.67,325.551 L326.297,325.551 L325.924,325.924 L325.551,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M324.432,325.551 L324.805,324.805 L325.551,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M324.432,325.551 L323.686,325.924 L323.313,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M322.195,325.551 L322.568,324.805 L323.313,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M322.195,325.551 L321.449,325.924 L321.076,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M320.33,325.551 L320.703,324.805 L321.076,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M320.33,325.551 L319.584,325.551 L319.584,326.67 L320.33,327.042 L319.584,327.788 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,328.907 L319.211,328.161 L319.584,327.788 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,328.907 L320.33,329.28 L319.584,329.653 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,330.772 L319.211,330.026 L319.584,329.653 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,330.772 L320.33,331.144 L319.584,331.89 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,333.009 L319.211,332.263 L319.584,331.89 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,333.009 L320.33,333.382 L319.584,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,335.246 L319.211,334.501 L319.584,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,335.246 L319.584,335.619 L320.33,335.619 L320.703,335.246 L321.076,335.619 " fill="none" stroke="#00FF00" />
+	<path d="M322.195,335.619 L321.449,336.365 L321.076,335.619 " fill="none" stroke="#00FF00" />
+	<path d="M322.195,335.619 L322.568,335.246 L323.313,335.619 " fill="none" stroke="#00FF00" />
+	<path d="M324.432,335.619 L323.686,336.365 L323.313,335.619 " fill="none" stroke="#00FF00" />
+	<path d="M324.432,335.619 L324.805,335.246 L325.551,335.619 " fill="none" stroke="#00FF00" />
+	<path d="M326.297,335.619 L325.924,336.365 L325.551,335.619 " fill="none" stroke="#00FF00" />
+	<path d="M326.297,335.619 L326.67,335.619 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,445.628 L319.584,446.747 L320.33,447.492 L319.584,447.865 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,448.611 L319.211,448.238 L319.584,447.865 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,448.611 L320.33,449.357 L319.584,449.73 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,450.849 L319.211,450.476 L319.584,449.73 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,450.849 L320.33,451.595 L319.584,451.967 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,453.086 L319.211,452.713 L319.584,451.967 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,453.086 L320.33,453.832 L319.584,453.832 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,454.951 L319.211,454.578 L319.584,453.832 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,454.951 L319.584,456.069 L320.33,456.069 L320.703,455.324 L321.076,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M322.195,456.069 L321.449,456.442 L321.076,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M322.195,456.069 L322.568,455.324 L323.313,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M324.432,456.069 L323.686,456.442 L323.313,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M324.432,456.069 L324.805,455.324 L325.551,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M326.297,456.069 L325.924,456.442 L325.551,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M326.297,456.069 L326.67,456.069 L326.67,454.951 L326.297,454.578 L326.67,453.832 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,453.086 L327.042,453.832 L326.67,453.832 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,453.086 L326.297,452.713 L326.67,451.967 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,450.849 L327.042,451.595 L326.67,451.967 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,450.849 L326.297,450.476 L326.67,449.73 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,448.611 L327.042,449.357 L326.67,449.73 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,448.611 L326.297,448.238 L326.67,447.865 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,446.747 L327.042,447.492 L326.67,447.865 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,446.747 L326.67,445.628 L326.297,445.628 L325.924,446.374 L325.551,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M324.432,445.628 L324.805,445.255 L325.551,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M324.432,445.628 L323.686,446.374 L323.313,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M322.195,445.628 L322.568,445.255 L323.313,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M322.195,445.628 L321.449,446.374 L321.076,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M320.33,445.628 L320.703,445.255 L321.076,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M320.33,445.628 L319.584,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,561.976 L218.898,562.349 L219.644,563.095 L218.898,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,564.586 L218.526,564.213 L218.898,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,564.586 L219.644,565.332 L218.898,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,566.824 L218.526,566.451 L218.898,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,566.824 L219.644,567.197 L218.898,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,568.688 L218.526,568.315 L218.898,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,568.688 L218.898,569.434 L220.017,569.434 L220.39,568.688 L221.136,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M222.255,569.434 L221.509,569.807 L221.136,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M222.255,569.434 L222.255,568.688 L223,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M224.119,569.434 L223.373,569.807 L223,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M224.119,569.434 L224.492,568.688 L225.238,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M226.357,569.434 L225.611,569.807 L225.238,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M226.357,569.434 L226.73,568.688 L227.475,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M228.221,569.434 L227.848,569.807 L227.475,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M228.221,569.434 L228.594,568.688 L229.34,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M230.459,569.434 L229.713,569.807 L229.34,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M230.459,569.434 L230.832,568.688 L231.577,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M232.696,569.434 L231.95,569.807 L231.577,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M232.696,569.434 L233.069,568.688 L233.442,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M234.561,569.434 L233.815,569.807 L233.442,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M234.561,569.434 L235.306,569.434 L235.306,568.688 L234.934,568.315 L235.306,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,566.824 L236.052,567.197 L235.306,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,566.824 L234.934,566.451 L235.306,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,564.586 L236.052,565.332 L235.306,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,564.586 L234.934,564.213 L235.306,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,562.349 L236.052,563.095 L235.306,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,562.349 L235.306,561.976 L234.561,561.976 L233.815,562.722 L233.442,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M232.696,561.976 L233.069,561.603 L233.442,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M232.696,561.976 L231.95,562.722 L231.577,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M230.459,561.976 L230.832,561.603 L231.577,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M230.459,561.976 L229.713,562.722 L229.34,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M228.221,561.976 L228.594,561.603 L229.34,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M228.221,561.976 L227.848,562.722 L227.475,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M226.357,561.976 L226.73,561.603 L227.475,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M226.357,561.976 L225.611,562.722 L225.238,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M224.119,561.976 L224.492,561.603 L225.238,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M224.119,561.976 L223.373,562.722 L223,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M222.255,561.976 L222.255,561.603 L223,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M222.255,561.976 L221.509,562.722 L221.136,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M220.017,561.976 L220.39,561.603 L221.136,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M220.017,561.976 L218.898,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,212.186 L218.898,212.559 L219.644,213.305 L218.898,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,214.796 L218.526,214.423 L218.898,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,214.796 L219.644,215.542 L218.898,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,216.661 L218.526,216.661 L218.898,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,216.661 L219.644,217.407 L218.898,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,218.898 L218.526,218.526 L218.898,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M218.898,218.898 L218.898,219.271 L220.017,219.271 L220.39,218.898 L221.136,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M222.255,219.271 L221.509,220.017 L221.136,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M222.255,219.271 L222.255,218.898 L223,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M224.119,219.271 L223.373,220.017 L223,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M224.119,219.271 L224.492,218.898 L225.238,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M226.357,219.271 L225.611,220.017 L225.238,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M226.357,219.271 L226.73,218.898 L227.475,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M228.221,219.271 L227.848,220.017 L227.475,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M228.221,219.271 L228.594,218.898 L229.34,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M230.459,219.271 L229.713,220.017 L229.34,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M230.459,219.271 L230.832,218.898 L231.577,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M232.696,219.271 L231.95,220.017 L231.577,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M232.696,219.271 L233.069,218.898 L233.442,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M234.561,219.271 L233.815,220.017 L233.442,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M234.561,219.271 L235.306,219.271 L235.306,218.898 L234.934,218.526 L235.306,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,216.661 L236.052,217.407 L235.306,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,216.661 L234.934,216.661 L235.306,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,214.796 L236.052,215.542 L235.306,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,214.796 L234.934,214.423 L235.306,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,212.559 L236.052,213.305 L235.306,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,212.559 L235.306,212.186 L234.561,212.186 L233.815,212.559 L233.442,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M232.696,212.186 L233.069,211.44 L233.442,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M232.696,212.186 L231.95,212.559 L231.577,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M230.459,212.186 L230.832,211.44 L231.577,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M230.459,212.186 L229.713,212.559 L229.34,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M228.221,212.186 L228.594,211.44 L229.34,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M228.221,212.186 L227.848,212.559 L227.475,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M226.357,212.186 L226.73,211.44 L227.475,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M226.357,212.186 L225.611,212.559 L225.238,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M224.119,212.186 L224.492,211.44 L225.238,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M224.119,212.186 L223.373,212.559 L223,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M222.255,212.186 L222.255,211.44 L223,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M222.255,212.186 L221.509,212.559 L221.136,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M220.017,212.186 L220.39,211.44 L221.136,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M220.017,212.186 L218.898,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,561.976 L73.8363,562.349 L74.2092,563.095 L73.8363,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,564.586 L73.0904,564.213 L73.8363,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,564.586 L74.2092,565.332 L73.8363,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,566.824 L73.0904,566.451 L73.8363,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,566.824 L74.2092,567.197 L73.8363,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,568.688 L73.0904,568.315 L73.8363,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,568.688 L73.8363,569.434 L74.5821,569.434 L74.955,568.688 L75.3279,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M76.4466,569.434 L76.0737,569.807 L75.3279,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M76.4466,569.434 L77.1925,568.688 L77.5654,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M78.6841,569.434 L78.3112,569.807 L77.5654,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M78.6841,569.434 L79.4299,568.688 L79.8028,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M80.5486,569.434 L80.1757,569.807 L79.8028,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M80.5486,569.434 L81.2945,568.688 L81.6674,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M82.7861,569.434 L82.4132,569.807 L81.6674,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M82.7861,569.434 L83.5319,568.688 L83.9048,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,569.434 L84.6507,569.807 L83.9048,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,569.434 L85.3965,568.688 L85.7694,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,569.434 L86.5152,569.807 L85.7694,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,569.434 L87.6339,568.688 L88.0069,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M89.1256,569.434 L88.7527,569.807 L88.0069,569.434 " fill="none" stroke="#00FF00" />
+	<path d="M89.1256,569.434 L90.2443,569.434 L90.2443,568.688 L89.8714,568.315 L90.2443,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,566.824 L90.9901,567.197 L90.2443,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,566.824 L89.8714,566.451 L90.2443,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,564.586 L90.9901,565.332 L90.2443,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,564.586 L89.8714,564.213 L90.2443,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,562.349 L90.9901,563.095 L90.2443,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,562.349 L90.2443,561.976 L89.1256,561.976 L88.7527,562.722 L88.0069,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,561.976 L87.6339,561.603 L88.0069,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,561.976 L86.5152,562.722 L85.7694,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,561.976 L85.3965,561.603 L85.7694,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,561.976 L84.6507,562.722 L83.9048,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M82.7861,561.976 L83.5319,561.603 L83.9048,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M82.7861,561.976 L82.4132,562.722 L81.6674,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M80.5486,561.976 L81.2945,561.603 L81.6674,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M80.5486,561.976 L80.1757,562.722 L79.8028,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M78.6841,561.976 L79.4299,561.603 L79.8028,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M78.6841,561.976 L78.3112,562.722 L77.5654,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M76.4466,561.976 L77.1925,561.603 L77.5654,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M76.4466,561.976 L76.0737,562.722 L75.3279,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M74.5821,561.976 L74.955,561.603 L75.3279,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M74.5821,561.976 L73.8363,561.976 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,212.186 L73.8363,212.559 L74.2092,213.305 L73.8363,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,214.796 L73.0904,214.423 L73.8363,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,214.796 L74.2092,215.542 L73.8363,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,216.661 L73.0904,216.661 L73.8363,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,216.661 L74.2092,217.407 L73.8363,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,218.898 L73.0904,218.526 L73.8363,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,218.898 L73.8363,219.271 L74.5821,219.271 L74.955,218.898 L75.3279,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M76.4466,219.271 L76.0737,220.017 L75.3279,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M76.4466,219.271 L77.1925,218.898 L77.5654,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M78.6841,219.271 L78.3112,220.017 L77.5654,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M78.6841,219.271 L79.4299,218.898 L79.8028,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M80.5486,219.271 L80.1757,220.017 L79.8028,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M80.5486,219.271 L81.2945,218.898 L81.6674,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M82.7861,219.271 L82.4132,220.017 L81.6674,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M82.7861,219.271 L83.5319,218.898 L83.9048,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,219.271 L84.6507,220.017 L83.9048,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,219.271 L85.3965,218.898 L85.7694,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,219.271 L86.5152,220.017 L85.7694,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,219.271 L87.6339,218.898 L88.0069,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M89.1256,219.271 L88.7527,220.017 L88.0069,219.271 " fill="none" stroke="#00FF00" />
+	<path d="M89.1256,219.271 L90.2443,219.271 L90.2443,218.898 L89.8714,218.526 L90.2443,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,216.661 L90.9901,217.407 L90.2443,217.78 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,216.661 L89.8714,216.661 L90.2443,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,214.796 L90.9901,215.542 L90.2443,215.915 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,214.796 L89.8714,214.423 L90.2443,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,212.559 L90.9901,213.305 L90.2443,213.678 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,212.559 L90.2443,212.186 L89.1256,212.186 L88.7527,212.559 L88.0069,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,212.186 L87.6339,211.44 L88.0069,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,212.186 L86.5152,212.559 L85.7694,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,212.186 L85.3965,211.44 L85.7694,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,212.186 L84.6507,212.559 L83.9048,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M82.7861,212.186 L83.5319,211.44 L83.9048,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M82.7861,212.186 L82.4132,212.559 L81.6674,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M80.5486,212.186 L81.2945,211.44 L81.6674,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M80.5486,212.186 L80.1757,212.559 L79.8028,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M78.6841,212.186 L79.4299,211.44 L79.8028,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M78.6841,212.186 L78.3112,212.559 L77.5654,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M76.4466,212.186 L77.1925,211.44 L77.5654,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M76.4466,212.186 L76.0737,212.559 L75.3279,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M74.5821,212.186 L74.955,211.44 L75.3279,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M74.5821,212.186 L73.8363,212.186 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,335.619 L326.67,335.246 L326.297,334.501 L326.67,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,333.009 L327.042,333.382 L326.67,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,333.009 L326.297,332.263 L326.67,331.89 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,330.772 L327.042,331.144 L326.67,331.89 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,330.772 L326.297,330.026 L326.67,329.653 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,328.907 L327.042,329.28 L326.67,329.653 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,328.907 L326.297,328.161 L326.67,327.788 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,326.67 L327.042,327.042 L326.67,327.788 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,326.67 L326.67,325.551 L326.297,325.551 L325.924,325.924 L325.551,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M324.432,325.551 L324.805,324.805 L325.551,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M324.432,325.551 L323.686,325.924 L323.313,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M322.195,325.551 L322.568,324.805 L323.313,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M322.195,325.551 L321.449,325.924 L321.076,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M320.33,325.551 L320.703,324.805 L321.076,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M320.33,325.551 L319.584,325.551 L319.584,326.67 L320.33,327.042 L319.584,327.788 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,328.907 L319.211,328.161 L319.584,327.788 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,328.907 L320.33,329.28 L319.584,329.653 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,330.772 L319.211,330.026 L319.584,329.653 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,330.772 L320.33,331.144 L319.584,331.89 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,333.009 L319.211,332.263 L319.584,331.89 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,333.009 L320.33,333.382 L319.584,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,335.246 L319.211,334.501 L319.584,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,335.246 L319.584,335.619 L320.33,335.619 L320.703,335.246 L321.076,335.619 " fill="none" stroke="#00FF00" />
+	<path d="M322.195,335.619 L321.449,336.365 L321.076,335.619 " fill="none" stroke="#00FF00" />
+	<path d="M322.195,335.619 L322.568,335.246 L323.313,335.619 " fill="none" stroke="#00FF00" />
+	<path d="M324.432,335.619 L323.686,336.365 L323.313,335.619 " fill="none" stroke="#00FF00" />
+	<path d="M324.432,335.619 L324.805,335.246 L325.551,335.619 " fill="none" stroke="#00FF00" />
+	<path d="M326.297,335.619 L325.924,336.365 L325.551,335.619 " fill="none" stroke="#00FF00" />
+	<path d="M326.297,335.619 L326.67,335.619 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,445.628 L319.584,446.747 L320.33,447.492 L319.584,447.865 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,448.611 L319.211,448.238 L319.584,447.865 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,448.611 L320.33,449.357 L319.584,449.73 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,450.849 L319.211,450.476 L319.584,449.73 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,450.849 L320.33,451.595 L319.584,451.967 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,453.086 L319.211,452.713 L319.584,451.967 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,453.086 L320.33,453.832 L319.584,453.832 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,454.951 L319.211,454.578 L319.584,453.832 " fill="none" stroke="#00FF00" />
+	<path d="M319.584,454.951 L319.584,456.069 L320.33,456.069 L320.703,455.324 L321.076,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M322.195,456.069 L321.449,456.442 L321.076,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M322.195,456.069 L322.568,455.324 L323.313,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M324.432,456.069 L323.686,456.442 L323.313,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M324.432,456.069 L324.805,455.324 L325.551,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M326.297,456.069 L325.924,456.442 L325.551,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M326.297,456.069 L326.67,456.069 L326.67,454.951 L326.297,454.578 L326.67,453.832 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,453.086 L327.042,453.832 L326.67,453.832 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,453.086 L326.297,452.713 L326.67,451.967 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,450.849 L327.042,451.595 L326.67,451.967 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,450.849 L326.297,450.476 L326.67,449.73 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,448.611 L327.042,449.357 L326.67,449.73 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,448.611 L326.297,448.238 L326.67,447.865 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,446.747 L327.042,447.492 L326.67,447.865 " fill="none" stroke="#00FF00" />
+	<path d="M326.67,446.747 L326.67,445.628 L326.297,445.628 L325.924,446.374 L325.551,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M324.432,445.628 L324.805,445.255 L325.551,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M324.432,445.628 L323.686,446.374 L323.313,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M322.195,445.628 L322.568,445.255 L323.313,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M322.195,445.628 L321.449,446.374 L321.076,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M320.33,445.628 L320.703,445.255 L321.076,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M320.33,445.628 L319.584,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M115.975,792.435 L12.306,792.435 " fill="none" stroke="#00BFFF" />
+	<path d="M12.306,678.697 L115.975,678.697 L115.975,792.435 " fill="none" stroke="#00BFFF" />
+	<path d="M239.781,449.357 L239.781,449.73 L240.527,450.103 L239.781,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M239.781,451.967 L239.408,451.222 L239.781,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M239.781,451.967 L240.527,452.34 L239.781,453.086 " fill="none" stroke="#00FF00" />
+	<path d="M239.781,453.832 L239.408,453.459 L239.781,453.086 " fill="none" stroke="#00FF00" />
+	<path d="M239.781,453.832 L240.527,454.205 L239.781,454.951 " fill="none" stroke="#00FF00" />
+	<path d="M239.781,456.069 L239.408,455.324 L239.781,454.951 " fill="none" stroke="#00FF00" />
+	<path d="M239.781,456.069 L239.781,456.442 L240.9,456.442 L241.273,456.069 L242.019,456.442 " fill="none" stroke="#00FF00" />
+	<path d="M243.138,456.442 L242.392,457.188 L242.019,456.442 " fill="none" stroke="#00FF00" />
+	<path d="M243.138,456.442 L243.511,456.069 L244.256,456.442 " fill="none" stroke="#00FF00" />
+	<path d="M245.002,456.442 L244.256,457.188 L244.256,456.442 " fill="none" stroke="#00FF00" />
+	<path d="M245.002,456.442 L245.375,456.069 L246.121,456.442 " fill="none" stroke="#00FF00" />
+	<path d="M247.24,456.442 L246.494,457.188 L246.121,456.442 " fill="none" stroke="#00FF00" />
+	<path d="M247.24,456.442 L247.613,456.069 L248.358,456.442 " fill="none" stroke="#00FF00" />
+	<path d="M249.477,456.442 L248.731,457.188 L248.358,456.442 " fill="none" stroke="#00FF00" />
+	<path d="M249.477,456.442 L249.85,456.069 L250.223,456.442 " fill="none" stroke="#00FF00" />
+	<path d="M251.342,456.442 L250.596,457.188 L250.223,456.442 " fill="none" stroke="#00FF00" />
+	<path d="M251.342,456.442 L251.715,456.069 L252.46,456.442 " fill="none" stroke="#00FF00" />
+	<path d="M253.579,456.442 L252.833,457.188 L252.46,456.442 " fill="none" stroke="#00FF00" />
+	<path d="M253.579,456.442 L253.952,456.069 L254.698,456.442 " fill="none" stroke="#00FF00" />
+	<path d="M255.444,456.442 L255.071,457.188 L254.698,456.442 " fill="none" stroke="#00FF00" />
+	<path d="M255.444,456.442 L256.189,456.442 L256.189,456.069 L255.817,455.324 L256.189,454.951 " fill="none" stroke="#00FF00" />
+	<path d="M256.189,453.832 L256.935,454.205 L256.189,454.951 " fill="none" stroke="#00FF00" />
+	<path d="M256.189,453.832 L255.817,453.459 L256.189,453.086 " fill="none" stroke="#00FF00" />
+	<path d="M256.189,451.967 L256.935,452.34 L256.189,453.086 " fill="none" stroke="#00FF00" />
+	<path d="M256.189,451.967 L255.817,451.222 L256.189,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M256.189,449.73 L256.935,450.103 L256.189,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M256.189,449.73 L256.189,449.357 L255.444,449.357 L255.071,449.73 L254.698,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M253.579,449.357 L253.952,448.611 L254.698,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M253.579,449.357 L252.833,449.73 L252.46,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M251.342,449.357 L251.715,448.611 L252.46,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M251.342,449.357 L250.596,449.73 L250.223,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M249.477,449.357 L249.85,448.611 L250.223,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M249.477,449.357 L248.731,449.73 L248.358,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M247.24,449.357 L247.613,448.611 L248.358,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M247.24,449.357 L246.494,449.73 L246.121,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M245.002,449.357 L245.375,448.611 L246.121,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M245.002,449.357 L244.256,449.73 L244.256,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M243.138,449.357 L243.511,448.611 L244.256,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M243.138,449.357 L242.392,449.73 L242.019,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M240.9,449.357 L241.273,448.611 L242.019,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M240.9,449.357 L239.781,449.357 " fill="none" stroke="#00FF00" />
+	<path d="M239.781,324.805 L239.781,325.551 L240.527,325.924 L239.781,326.67 " fill="none" stroke="#00FF00" />
+	<path d="M239.781,327.788 L239.408,327.042 L239.781,326.67 " fill="none" stroke="#00FF00" />
+	<path d="M239.781,327.788 L240.527,328.161 L239.781,328.907 " fill="none" stroke="#00FF00" />
+	<path d="M239.781,329.653 L239.408,329.28 L239.781,328.907 " fill="none" stroke="#00FF00" />
+	<path d="M239.781,329.653 L240.527,330.026 L239.781,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M239.781,331.89 L239.408,331.144 L239.781,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M239.781,331.89 L239.781,332.263 L240.9,332.263 L241.273,331.517 L242.019,332.263 " fill="none" stroke="#00FF00" />
+	<path d="M243.138,332.263 L242.392,332.636 L242.019,332.263 " fill="none" stroke="#00FF00" />
+	<path d="M243.138,332.263 L243.511,331.517 L244.256,332.263 " fill="none" stroke="#00FF00" />
+	<path d="M245.002,332.263 L244.256,332.636 L244.256,332.263 " fill="none" stroke="#00FF00" />
+	<path d="M245.002,332.263 L245.375,331.517 L246.121,332.263 " fill="none" stroke="#00FF00" />
+	<path d="M247.24,332.263 L246.494,332.636 L246.121,332.263 " fill="none" stroke="#00FF00" />
+	<path d="M247.24,332.263 L247.613,331.517 L248.358,332.263 " fill="none" stroke="#00FF00" />
+	<path d="M249.477,332.263 L248.731,332.636 L248.358,332.263 " fill="none" stroke="#00FF00" />
+	<path d="M249.477,332.263 L249.85,331.517 L250.223,332.263 " fill="none" stroke="#00FF00" />
+	<path d="M251.342,332.263 L250.596,332.636 L250.223,332.263 " fill="none" stroke="#00FF00" />
+	<path d="M251.342,332.263 L251.715,331.517 L252.46,332.263 " fill="none" stroke="#00FF00" />
+	<path d="M253.579,332.263 L252.833,332.636 L252.46,332.263 " fill="none" stroke="#00FF00" />
+	<path d="M253.579,332.263 L253.952,331.517 L254.698,332.263 " fill="none" stroke="#00FF00" />
+	<path d="M255.444,332.263 L255.071,332.636 L254.698,332.263 " fill="none" stroke="#00FF00" />
+	<path d="M255.444,332.263 L256.189,332.263 L256.189,331.89 L255.817,331.144 L256.189,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M256.189,329.653 L256.935,330.026 L256.189,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M256.189,329.653 L255.817,329.28 L256.189,328.907 " fill="none" stroke="#00FF00" />
+	<path d="M256.189,327.788 L256.935,328.161 L256.189,328.907 " fill="none" stroke="#00FF00" />
+	<path d="M256.189,327.788 L255.817,327.042 L256.189,326.67 " fill="none" stroke="#00FF00" />
+	<path d="M256.189,325.551 L256.935,325.924 L256.189,326.67 " fill="none" stroke="#00FF00" />
+	<path d="M256.189,325.551 L256.189,324.805 L255.444,324.805 L255.071,325.551 L254.698,324.805 " fill="none" stroke="#00FF00" />
+	<path d="M253.579,324.805 L253.952,324.432 L254.698,324.805 " fill="none" stroke="#00FF00" />
+	<path d="M253.579,324.805 L252.833,325.551 L252.46,324.805 " fill="none" stroke="#00FF00" />
+	<path d="M251.342,324.805 L251.715,324.432 L252.46,324.805 " fill="none" stroke="#00FF00" />
+	<path d="M251.342,324.805 L250.596,325.551 L250.223,324.805 " fill="none" stroke="#00FF00" />
+	<path d="M249.477,324.805 L249.85,324.432 L250.223,324.805 " fill="none" stroke="#00FF00" />
+	<path d="M249.477,324.805 L248.731,325.551 L248.358,324.805 " fill="none" stroke="#00FF00" />
+	<path d="M247.24,324.805 L247.613,324.432 L248.358,324.805 " fill="none" stroke="#00FF00" />
+	<path d="M247.24,324.805 L246.494,325.551 L246.121,324.805 " fill="none" stroke="#00FF00" />
+	<path d="M245.002,324.805 L245.375,324.432 L246.121,324.805 " fill="none" stroke="#00FF00" />
+	<path d="M245.002,324.805 L244.256,325.551 L244.256,324.805 " fill="none" stroke="#00FF00" />
+	<path d="M243.138,324.805 L243.511,324.432 L244.256,324.805 " fill="none" stroke="#00FF00" />
+	<path d="M243.138,324.805 L242.392,325.551 L242.019,324.805 " fill="none" stroke="#00FF00" />
+	<path d="M240.9,324.805 L241.273,324.432 L242.019,324.805 " fill="none" stroke="#00FF00" />
+	<path d="M240.9,324.805 L239.781,324.805 " fill="none" stroke="#00FF00" />
+	<path d="M115.975,792.435 L12.306,760.737 M12.306,710.394 L115.975,678.697 " fill="none" stroke="#FFFF00" />
+	<path d="M12.306,325.924 L12.679,325.551 L13.0519,324.805 L13.7977,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M14.5435,325.551 L14.1706,325.924 L13.7977,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M14.5435,325.551 L14.9164,324.805 L15.6622,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M16.781,325.551 L16.0351,325.924 L15.6622,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M16.781,325.551 L17.1539,324.805 L17.8997,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M19.0184,325.551 L18.2726,325.924 L17.8997,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M19.0184,325.551 L19.3913,324.805 L19.7643,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M20.883,325.551 L20.1372,325.924 L19.7643,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M20.883,325.551 L21.2559,324.805 L22.0017,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M23.1204,325.551 L22.3746,325.924 L22.0017,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M23.1204,325.551 L23.4934,324.805 L24.2392,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M24.985,325.551 L24.6121,325.924 L24.2392,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M24.985,325.551 L25.3579,324.805 L26.1037,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M27.2225,325.551 L26.4766,325.924 L26.1037,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M27.2225,325.551 L27.5954,324.805 L28.3412,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M29.4599,325.551 L28.7141,325.924 L28.3412,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M29.4599,325.551 L29.8328,324.805 L30.5787,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M31.3245,325.551 L30.5787,325.924 L30.5787,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M31.3245,325.551 L31.6974,324.805 L32.4432,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M33.5619,325.551 L32.8161,325.924 L32.4432,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M33.5619,325.551 L33.9348,324.805 L34.6807,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M35.7994,325.551 L35.0536,325.924 L34.6807,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M35.7994,325.551 L36.1723,324.805 L36.5452,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M37.664,325.551 L36.9181,325.924 L36.5452,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M37.664,325.551 L38.0369,324.805 L38.7827,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M39.9014,325.551 L39.1556,325.924 L38.7827,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M39.9014,325.551 L40.2743,324.805 L41.0201,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M41.766,325.551 L41.3931,325.924 L41.0201,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M41.766,325.551 L42.1389,324.805 L42.8847,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M44.0034,325.551 L43.2576,325.924 L42.8847,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M44.0034,325.551 L44.3763,324.805 L45.1222,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,325.551 L45.4951,325.924 L45.1222,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,325.551 L46.6138,324.805 L46.9867,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M48.1054,325.551 L47.3596,325.924 L46.9867,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M48.1054,325.551 L48.4784,324.805 L49.2242,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M50.3429,325.551 L49.5971,325.924 L49.2242,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M50.3429,325.551 L50.7158,324.805 L51.4616,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M52.5804,325.551 L51.8345,325.924 L51.4616,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M52.5804,325.551 L52.5804,324.805 L53.3262,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M54.4449,325.551 L53.6991,325.924 L53.3262,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M54.4449,325.551 L54.8178,324.805 L55.5637,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M56.6824,325.551 L55.9366,325.924 L55.5637,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M56.6824,325.551 L57.0553,324.805 L57.8011,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M58.5469,325.551 L58.174,325.924 L57.8011,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M58.5469,325.551 L58.9198,324.805 L59.6657,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M60.7844,325.551 L60.0386,325.924 L59.6657,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M60.7844,325.551 L61.1573,324.805 L61.9031,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M63.0219,325.551 L62.276,325.924 L61.9031,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M63.0219,325.551 L63.3948,324.805 L63.7677,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M64.8864,325.551 L64.1406,325.924 L63.7677,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M64.8864,325.551 L65.2593,324.805 L66.0051,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M67.1239,325.551 L66.3781,325.924 L66.0051,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M67.1239,325.551 L67.4968,324.805 L68.2426,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M68.9884,325.551 L68.6155,325.924 L68.2426,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M68.9884,325.551 L69.3613,324.805 L70.1072,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M71.2259,325.551 L70.4801,325.924 L70.1072,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M71.2259,325.551 L71.5988,324.805 L72.3446,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M73.4634,325.551 L72.7175,325.924 L72.3446,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M73.4634,325.551 L73.8363,324.805 L74.5821,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M75.3279,325.551 L74.5821,325.924 L74.5821,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M75.3279,325.551 L75.7008,324.805 L76.4466,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M77.5654,325.551 L76.8195,325.924 L76.4466,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M77.5654,325.551 L77.9383,324.805 L78.6841,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M79.8028,325.551 L79.057,325.924 L78.6841,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M79.8028,325.551 L79.8028,324.805 L80.5486,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M81.6674,325.551 L80.9216,325.924 L80.5486,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M81.6674,325.551 L82.0403,324.805 L82.7861,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M83.9048,325.551 L83.159,325.924 L82.7861,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M83.9048,325.551 L84.2778,324.805 L85.0236,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M85.7694,325.551 L85.3965,325.924 L85.0236,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M85.7694,325.551 L86.1423,324.805 L86.8881,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M88.0069,325.551 L87.261,325.924 L86.8881,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M88.0069,325.551 L88.3798,324.805 L89.1256,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,325.551 L89.4985,325.924 L89.1256,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,325.551 L90.6172,324.805 L90.9901,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M92.1089,325.551 L91.3631,325.924 L90.9901,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M92.1089,325.551 L92.4818,324.805 L93.2276,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M94.3463,325.551 L93.6005,325.924 L93.2276,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M94.3463,325.551 L94.7192,324.805 L95.4651,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M96.2109,325.551 L95.838,325.924 L95.4651,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M96.2109,325.551 L96.5838,324.805 L97.3296,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M98.4483,325.551 L97.7025,325.924 L97.3296,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M98.4483,325.551 L98.8213,324.805 L99.5671,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,325.551 L99.94,325.924 L99.5671,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,325.551 L101.059,325.924 L100.686,326.67 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,327.788 L99.94,327.042 L100.686,326.67 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,327.788 L101.059,328.161 L100.686,328.907 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,329.653 L99.94,329.28 L100.686,328.907 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,329.653 L101.059,330.026 L100.686,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,331.89 L99.94,331.144 L100.686,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,331.89 L101.059,332.263 L100.686,333.009 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,334.128 L99.94,333.382 L100.686,333.009 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,334.128 L101.059,334.501 L100.686,335.246 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,335.992 L99.94,335.246 L100.686,335.246 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,335.992 L101.059,336.365 L100.686,337.111 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,338.23 L99.94,337.484 L100.686,337.111 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,338.23 L101.059,338.603 L100.686,339.348 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,340.467 L99.94,339.721 L100.686,339.348 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,340.467 L101.059,340.84 L100.686,341.213 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,342.332 L99.94,341.586 L100.686,341.213 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,342.332 L101.059,342.705 L100.686,343.45 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,344.569 L99.94,343.823 L100.686,343.45 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,344.569 L101.059,344.942 L100.686,345.688 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,346.807 L99.94,346.061 L100.686,345.688 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,346.807 L101.059,347.18 L100.686,347.553 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,348.671 L99.94,347.925 L100.686,347.553 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,348.671 L101.059,349.044 L100.686,349.79 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,350.909 L99.94,350.163 L100.686,349.79 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,350.909 L101.059,351.282 L100.686,352.027 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,353.146 L99.94,352.4 L100.686,352.027 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,353.146 L101.059,353.146 L100.686,353.892 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,355.011 L99.94,354.265 L100.686,353.892 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,355.011 L101.059,355.384 L100.686,356.129 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,357.248 L99.94,356.502 L100.686,356.129 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,357.248 L101.059,357.621 L100.686,358.367 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,359.113 L99.94,358.74 L100.686,358.367 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,359.113 L101.059,359.486 L100.686,360.231 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,361.35 L99.94,360.604 L100.686,360.231 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,361.35 L101.059,361.723 L100.686,362.469 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,363.588 L99.94,362.842 L100.686,362.469 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,363.588 L101.059,363.961 L100.686,364.706 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,365.452 L99.94,365.079 L100.686,364.706 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,365.452 L101.059,365.825 L100.686,366.571 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,367.69 L99.94,366.944 L100.686,366.571 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,367.69 L101.059,368.063 L100.686,368.808 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,369.927 L99.94,369.181 L100.686,368.808 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,369.927 L101.059,370.3 L100.686,370.673 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,371.792 L99.94,371.046 L100.686,370.673 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,371.792 L101.059,372.165 L100.686,372.91 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,374.029 L99.94,373.283 L100.686,372.91 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,374.029 L101.059,374.402 L100.686,375.148 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,376.267 L99.94,375.521 L100.686,375.148 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,376.267 L101.059,376.64 L100.686,377.012 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,378.131 L99.94,377.385 L100.686,377.012 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,378.131 L101.059,378.504 L100.686,379.25 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,380.369 L99.94,379.623 L100.686,379.25 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,380.369 L101.059,380.742 L100.686,381.487 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,382.606 L99.94,381.86 L100.686,381.487 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,382.606 L101.059,382.606 L100.686,383.352 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,384.471 L99.94,383.725 L100.686,383.352 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,384.471 L101.059,384.844 L100.686,385.589 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,386.708 L99.94,385.962 L100.686,385.589 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,386.708 L101.059,387.081 L100.686,387.827 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,388.573 L99.94,388.2 L100.686,387.827 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,388.573 L101.059,388.946 L100.686,389.691 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,390.81 L99.94,390.064 L100.686,389.691 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,390.81 L101.059,391.183 L100.686,391.929 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,393.048 L99.94,392.302 L100.686,391.929 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,393.048 L101.059,393.42 L100.686,394.166 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,394.912 L99.94,394.539 L100.686,394.166 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,394.912 L101.059,395.285 L100.686,396.031 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,397.15 L99.94,396.404 L100.686,396.031 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,397.15 L101.059,397.523 L100.686,398.268 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,399.387 L99.94,398.641 L100.686,398.268 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,399.387 L101.059,399.76 L100.686,400.506 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,401.252 L99.94,400.506 L100.686,400.506 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,401.252 L101.059,401.625 L100.686,402.37 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,403.489 L99.94,402.743 L100.686,402.37 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,403.489 L101.059,403.862 L100.686,404.608 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,405.727 L99.94,404.981 L100.686,404.608 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,405.727 L101.059,406.099 L100.686,406.472 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,407.591 L99.94,406.845 L100.686,406.472 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,407.591 L101.059,407.964 L100.686,408.71 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,409.829 L99.94,409.083 L100.686,408.71 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,409.829 L101.059,410.201 L100.686,410.947 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,412.066 L99.94,411.32 L100.686,410.947 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,412.066 L101.059,412.439 L100.686,412.812 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,413.931 L99.94,413.185 L100.686,412.812 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,413.931 L101.059,414.303 L100.686,415.049 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,416.168 L99.94,415.422 L100.686,415.049 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,416.168 L101.059,416.541 L100.686,417.287 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,418.405 L99.94,417.66 L100.686,417.287 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,418.405 L101.059,418.405 L100.686,419.151 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,420.27 L99.94,419.524 L100.686,419.151 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,420.27 L101.059,420.643 L100.686,421.389 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,422.508 L99.94,421.762 L100.686,421.389 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,422.508 L101.059,422.88 L100.686,423.626 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,424.372 L99.94,423.999 L100.686,423.626 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,424.372 L101.059,424.745 L100.686,425.491 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,426.61 L99.94,425.864 L100.686,425.491 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,426.61 L101.059,426.982 L100.686,427.728 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,428.847 L99.94,428.101 L100.686,427.728 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,428.847 L101.059,429.22 L100.686,429.966 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,430.712 L99.94,430.339 L100.686,429.966 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,430.712 L101.059,431.084 L100.686,431.83 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,432.949 L99.94,432.203 L100.686,431.83 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,432.949 L101.059,433.322 L100.686,434.068 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,435.186 L99.94,434.441 L100.686,434.068 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,435.186 L101.059,435.559 L100.686,436.305 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,437.051 L99.94,436.305 L100.686,436.305 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,437.051 L101.059,437.424 L100.686,438.17 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,439.288 L99.94,438.543 L100.686,438.17 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,439.288 L101.059,439.661 L100.686,440.407 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,441.526 L99.94,440.78 L100.686,440.407 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,441.526 L101.059,441.899 L100.686,442.272 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,443.39 L99.94,442.645 L100.686,442.272 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,443.39 L101.059,443.763 L100.686,444.509 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,445.628 L99.94,444.882 L100.686,444.509 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,445.628 L101.059,446.001 L100.686,446.747 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,447.865 L99.94,447.12 L100.686,446.747 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,447.865 L101.059,447.865 L100.686,448.611 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,449.73 L99.94,448.984 L100.686,448.611 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,449.73 L101.059,450.103 L100.686,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,451.967 L99.94,451.222 L100.686,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,451.967 L101.059,452.34 L100.686,453.086 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,453.832 L99.94,453.459 L100.686,453.086 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,453.832 L101.059,454.205 L100.686,454.951 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,456.069 L99.94,455.324 L100.686,454.951 " fill="none" stroke="#00FF00" />
+	<path d="M100.686,456.069 L99.5671,456.069 L98.8213,456.442 L98.4483,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M97.3296,456.069 L97.7025,455.324 L98.4483,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M97.3296,456.069 L96.5838,456.442 L96.2109,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,456.069 L95.838,455.324 L96.2109,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,456.069 L94.7192,456.442 L94.3463,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M93.2276,456.069 L93.6005,455.324 L94.3463,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M93.2276,456.069 L92.4818,456.442 L92.1089,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M90.9901,456.069 L91.3631,455.324 L92.1089,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M90.9901,456.069 L90.6172,456.442 L90.2443,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M89.1256,456.069 L89.4985,455.324 L90.2443,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M89.1256,456.069 L88.3798,456.442 L88.0069,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,456.069 L87.261,455.324 L88.0069,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M86.8881,456.069 L86.1423,456.442 L85.7694,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,456.069 L85.3965,455.324 L85.7694,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M85.0236,456.069 L83.9048,456.069 L83.9048,455.324 L83.5319,454.951 L83.9048,454.205 " fill="none" stroke="#00FF00" />
+	<path d="M83.9048,453.459 L84.6507,453.832 L83.9048,454.205 " fill="none" stroke="#00FF00" />
+	<path d="M83.9048,453.459 L83.5319,453.086 L83.9048,452.34 " fill="none" stroke="#00FF00" />
+	<path d="M83.9048,451.222 L84.6507,451.967 L83.9048,452.34 " fill="none" stroke="#00FF00" />
+	<path d="M83.9048,451.222 L83.9048,450.849 L84.6507,450.849 L85.0236,450.476 L85.3965,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M86.5152,450.849 L85.7694,451.595 L85.3965,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M86.5152,450.849 L86.8881,450.476 L87.6339,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M88.7527,450.849 L88.0069,451.595 L87.6339,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M88.7527,450.849 L89.1256,450.476 L89.8714,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M90.9901,450.849 L90.2443,451.595 L89.8714,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M90.9901,450.849 L90.9901,450.476 L91.736,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M92.8547,450.849 L92.1089,451.595 L91.736,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M92.8547,450.849 L93.2276,450.476 L93.9734,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M95.0922,450.849 L94.3463,451.595 L93.9734,450.849 " fill="none" stroke="#00FF00" />
+	<path d="M95.0922,450.849 L95.4651,450.849 L94.7192,450.103 L95.4651,449.73 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,448.611 L95.838,448.984 L95.4651,449.73 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,448.611 L94.7192,447.865 L95.4651,447.865 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,446.747 L95.838,447.12 L95.4651,447.865 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,446.747 L94.7192,446.001 L95.4651,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,444.509 L95.838,444.882 L95.4651,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,444.509 L94.7192,443.763 L95.4651,443.39 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,442.272 L95.838,442.645 L95.4651,443.39 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,442.272 L94.7192,441.899 L95.4651,441.526 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,440.407 L95.838,440.78 L95.4651,441.526 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,440.407 L94.7192,439.661 L95.4651,439.288 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,438.17 L95.838,438.543 L95.4651,439.288 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,438.17 L94.7192,437.424 L95.4651,437.051 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,436.305 L95.838,436.305 L95.4651,437.051 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,436.305 L94.7192,435.559 L95.4651,435.186 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,434.068 L95.838,434.441 L95.4651,435.186 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,434.068 L94.7192,433.322 L95.4651,432.949 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,431.83 L95.838,432.203 L95.4651,432.949 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,431.83 L94.7192,431.084 L95.4651,430.712 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,429.966 L95.838,430.339 L95.4651,430.712 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,429.966 L94.7192,429.22 L95.4651,428.847 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,427.728 L95.838,428.101 L95.4651,428.847 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,427.728 L94.7192,426.982 L95.4651,426.61 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,425.491 L95.838,425.864 L95.4651,426.61 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,425.491 L94.7192,424.745 L95.4651,424.372 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,423.626 L95.838,423.999 L95.4651,424.372 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,423.626 L94.7192,422.88 L95.4651,422.508 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,421.389 L95.838,421.762 L95.4651,422.508 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,421.389 L94.7192,420.643 L95.4651,420.27 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,419.151 L95.838,419.524 L95.4651,420.27 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,419.151 L94.7192,418.405 L95.4651,418.405 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,417.287 L95.838,417.66 L95.4651,418.405 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,417.287 L94.7192,416.541 L95.4651,416.168 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,415.049 L95.838,415.422 L95.4651,416.168 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,415.049 L94.7192,414.303 L95.4651,413.931 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,412.812 L95.838,413.185 L95.4651,413.931 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,412.812 L94.7192,412.439 L95.4651,412.066 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,410.947 L95.838,411.32 L95.4651,412.066 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,410.947 L94.7192,410.201 L95.4651,409.829 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,408.71 L95.838,409.083 L95.4651,409.829 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,408.71 L94.7192,407.964 L95.4651,407.591 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,406.472 L95.838,406.845 L95.4651,407.591 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,406.472 L94.7192,406.099 L95.4651,405.727 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,404.608 L95.838,404.981 L95.4651,405.727 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,404.608 L94.7192,403.862 L95.4651,403.489 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,402.37 L95.838,402.743 L95.4651,403.489 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,402.37 L94.7192,401.625 L95.4651,401.252 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,400.506 L95.838,400.506 L95.4651,401.252 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,400.506 L94.7192,399.76 L95.4651,399.387 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,398.268 L95.838,398.641 L95.4651,399.387 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,398.268 L94.7192,397.523 L95.4651,397.15 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,396.031 L95.838,396.404 L95.4651,397.15 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,396.031 L94.7192,395.285 L95.4651,394.912 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,394.166 L95.838,394.539 L95.4651,394.912 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,394.166 L94.7192,393.42 L95.4651,393.048 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,391.929 L95.838,392.302 L95.4651,393.048 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,391.929 L94.7192,391.183 L95.4651,390.81 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,389.691 L95.838,390.064 L95.4651,390.81 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,389.691 L94.7192,388.946 L95.4651,388.573 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,387.827 L95.838,388.2 L95.4651,388.573 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,387.827 L94.7192,387.081 L95.4651,386.708 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,385.589 L95.838,385.962 L95.4651,386.708 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,385.589 L94.7192,384.844 L95.4651,384.471 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,383.352 L95.838,383.725 L95.4651,384.471 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,383.352 L94.7192,382.606 L95.4651,382.606 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,381.487 L95.838,381.86 L95.4651,382.606 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,381.487 L94.7192,380.742 L95.4651,380.369 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,379.25 L95.838,379.623 L95.4651,380.369 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,379.25 L94.7192,378.504 L95.4651,378.131 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,377.012 L95.838,377.385 L95.4651,378.131 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,377.012 L94.7192,376.64 L95.4651,376.267 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,375.148 L95.838,375.521 L95.4651,376.267 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,375.148 L94.7192,374.402 L95.4651,374.029 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,372.91 L95.838,373.283 L95.4651,374.029 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,372.91 L94.7192,372.165 L95.4651,371.792 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,370.673 L95.838,371.046 L95.4651,371.792 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,370.673 L94.7192,370.3 L95.4651,369.927 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,368.808 L95.838,369.181 L95.4651,369.927 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,368.808 L94.7192,368.063 L95.4651,367.69 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,366.571 L95.838,366.944 L95.4651,367.69 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,366.571 L94.7192,365.825 L95.4651,365.452 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,364.706 L95.838,365.079 L95.4651,365.452 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,364.706 L94.7192,363.961 L95.4651,363.588 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,362.469 L95.838,362.842 L95.4651,363.588 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,362.469 L94.7192,361.723 L95.4651,361.35 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,360.231 L95.838,360.604 L95.4651,361.35 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,360.231 L94.7192,359.486 L95.4651,359.113 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,358.367 L95.838,358.74 L95.4651,359.113 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,358.367 L94.7192,357.621 L95.4651,357.248 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,356.129 L95.838,356.502 L95.4651,357.248 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,356.129 L94.7192,355.384 L95.4651,355.011 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,353.892 L95.838,354.265 L95.4651,355.011 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,353.892 L94.7192,353.146 L95.4651,353.146 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,352.027 L95.838,352.4 L95.4651,353.146 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,352.027 L94.7192,351.282 L95.4651,350.909 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,349.79 L95.838,350.163 L95.4651,350.909 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,349.79 L94.7192,349.044 L95.4651,348.671 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,347.553 L95.838,347.925 L95.4651,348.671 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,347.553 L94.7192,347.18 L95.4651,346.807 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,345.688 L95.838,346.061 L95.4651,346.807 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,345.688 L94.7192,344.942 L95.4651,344.569 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,343.45 L95.838,343.823 L95.4651,344.569 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,343.45 L94.7192,342.705 L95.4651,342.332 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,341.213 L95.838,341.586 L95.4651,342.332 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,341.213 L94.7192,340.84 L95.4651,340.467 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,339.348 L95.838,339.721 L95.4651,340.467 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,339.348 L94.7192,338.603 L95.4651,338.23 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,337.111 L95.838,337.484 L95.4651,338.23 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,337.111 L94.7192,336.365 L95.4651,335.992 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,335.246 L95.838,335.246 L95.4651,335.992 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,335.246 L94.7192,334.501 L95.4651,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,333.009 L95.838,333.382 L95.4651,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,333.009 L94.7192,332.263 L95.4651,331.89 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,330.772 L95.838,331.144 L95.4651,331.89 " fill="none" stroke="#00FF00" />
+	<path d="M95.4651,330.772 L94.7192,330.772 L94.3463,331.144 L93.6005,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M92.4818,330.772 L93.2276,330.026 L93.6005,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M92.4818,330.772 L92.1089,331.144 L91.3631,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M90.6172,330.772 L90.9901,330.026 L91.3631,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M90.6172,330.772 L90.2443,331.144 L89.4985,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M88.3798,330.772 L89.1256,330.026 L89.4985,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M88.3798,330.772 L88.0069,331.144 L87.261,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M86.1423,330.772 L86.8881,330.026 L87.261,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M86.1423,330.772 L85.7694,331.144 L85.3965,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M84.2778,330.772 L85.0236,330.026 L85.3965,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M84.2778,330.772 L83.9048,331.144 L83.159,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M82.0403,330.772 L82.7861,330.026 L83.159,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M82.0403,330.772 L81.6674,331.144 L80.9216,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M79.8028,330.772 L80.5486,330.026 L80.9216,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M79.8028,330.772 L79.8028,331.144 L79.057,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M77.9383,330.772 L78.6841,330.026 L79.057,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M77.9383,330.772 L77.5654,331.144 L76.8195,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M75.7008,330.772 L76.4466,330.026 L76.8195,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M75.7008,330.772 L75.3279,331.144 L74.5821,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,330.772 L74.5821,330.026 L74.5821,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M73.8363,330.772 L73.4634,331.144 L72.7175,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M71.5988,330.772 L72.3446,330.026 L72.7175,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M71.5988,330.772 L71.2259,331.144 L70.4801,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M69.3613,330.772 L70.1072,330.026 L70.4801,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M69.3613,330.772 L68.9884,331.144 L68.6155,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M67.4968,330.772 L68.2426,330.026 L68.6155,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M67.4968,330.772 L67.1239,331.144 L66.3781,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M65.2593,330.772 L66.0051,330.026 L66.3781,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M65.2593,330.772 L64.8864,331.144 L64.1406,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M63.3948,330.772 L63.7677,330.026 L64.1406,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M63.3948,330.772 L63.0219,331.144 L62.276,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M61.1573,330.772 L61.9031,330.026 L62.276,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M61.1573,330.772 L60.7844,331.144 L60.0386,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M58.9198,330.772 L59.6657,330.026 L60.0386,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M58.9198,330.772 L58.5469,331.144 L58.174,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M57.0553,330.772 L57.8011,330.026 L58.174,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M57.0553,330.772 L56.6824,331.144 L55.9366,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M54.8178,330.772 L55.5637,330.026 L55.9366,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M54.8178,330.772 L54.4449,331.144 L53.6991,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M52.5804,330.772 L53.3262,330.026 L53.6991,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M52.5804,330.772 L52.5804,331.144 L51.8345,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M50.7158,330.772 L51.4616,330.026 L51.8345,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M50.7158,330.772 L50.3429,331.144 L49.5971,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M48.4784,330.772 L49.2242,330.026 L49.5971,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M48.4784,330.772 L48.1054,331.144 L47.3596,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M46.6138,330.772 L46.9867,330.026 L47.3596,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M46.6138,330.772 L46.2409,331.144 L45.4951,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M44.3763,330.772 L45.1222,330.026 L45.4951,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M44.3763,330.772 L44.0034,331.144 L43.2576,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M42.1389,330.772 L42.8847,330.026 L43.2576,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M42.1389,330.772 L41.766,331.144 L41.3931,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M40.2743,330.772 L41.0201,330.026 L41.3931,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M40.2743,330.772 L39.9014,331.144 L39.1556,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M38.0369,330.772 L38.7827,330.026 L39.1556,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M38.0369,330.772 L37.664,331.144 L36.9181,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M36.1723,330.772 L36.5452,330.026 L36.9181,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M36.1723,330.772 L35.7994,331.144 L35.0536,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M33.9348,330.772 L34.6807,330.026 L35.0536,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M33.9348,330.772 L33.5619,331.144 L32.8161,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M31.6974,330.772 L32.4432,330.026 L32.8161,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M31.6974,330.772 L31.3245,331.144 L30.5787,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M29.8328,330.772 L30.5787,330.026 L30.5787,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M29.8328,330.772 L29.4599,331.144 L28.7141,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M27.5954,330.772 L28.3412,330.026 L28.7141,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M27.5954,330.772 L27.2225,331.144 L26.4766,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M25.3579,330.772 L26.1037,330.026 L26.4766,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M25.3579,330.772 L24.985,331.144 L24.6121,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M23.4934,330.772 L24.2392,330.026 L24.6121,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M23.4934,330.772 L23.1204,331.144 L22.3746,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M21.2559,330.772 L22.0017,330.026 L22.3746,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M21.2559,330.772 L20.883,331.144 L20.1372,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M19.3913,330.772 L19.7643,330.026 L20.1372,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M19.3913,330.772 L19.0184,331.144 L18.2726,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M17.1539,330.772 L17.8997,330.026 L18.2726,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M17.1539,330.772 L16.781,331.144 L16.0351,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M14.9164,330.772 L15.6622,330.026 L16.0351,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M14.9164,330.772 L14.5435,331.144 L14.1706,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M13.0519,330.772 L13.7977,330.026 L14.1706,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M13.0519,330.772 L12.679,331.144 L12.306,330.772 " fill="none" stroke="#00FF00" />
+	<path d="M350.909,862.915 L351.282,862.915 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,861.796 L351.655,862.542 L351.282,862.915 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,861.796 L350.536,861.423 L351.282,860.677 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,859.559 L351.655,860.304 L351.282,860.677 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,859.559 L350.536,859.186 L351.282,858.44 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,857.321 L351.655,858.067 L351.282,858.44 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,857.321 L350.536,857.321 L351.282,856.575 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,855.456 L351.655,856.202 L351.282,856.575 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,855.456 L350.536,855.084 L351.282,854.338 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,853.219 L351.655,853.965 L351.282,854.338 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,853.219 L350.536,852.846 L351.282,852.1 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,851.354 L351.655,851.727 L351.282,852.1 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,851.354 L350.536,850.982 L351.282,850.236 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,849.117 L351.655,849.863 L351.282,850.236 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,849.117 L350.536,848.744 L351.282,847.998 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,846.88 L351.655,847.625 L351.282,847.998 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,846.88 L350.536,846.507 L351.282,845.761 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,845.015 L351.655,845.388 L351.282,845.761 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,845.015 L350.536,844.642 L351.282,843.896 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,842.778 L351.655,843.523 L351.282,843.896 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,842.778 L350.536,842.405 L351.282,841.659 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,840.54 L351.655,841.286 L351.282,841.659 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,840.54 L350.536,840.167 L351.282,839.794 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,838.676 L351.655,839.421 L351.282,839.794 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,838.676 L350.536,838.303 L351.282,837.557 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,836.438 L351.655,837.184 L351.282,837.557 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,836.438 L350.536,836.065 L351.282,835.319 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,834.201 L351.655,834.946 L351.282,835.319 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,834.201 L350.536,833.828 L351.282,833.455 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,832.336 L351.655,833.082 L351.282,833.455 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,832.336 L350.536,831.963 L351.282,831.217 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,830.099 L351.655,830.844 L351.282,831.217 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,830.099 L350.536,829.726 L351.282,828.98 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,827.861 L351.655,828.607 L351.282,828.98 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,827.861 L350.536,827.861 L351.282,827.115 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,825.997 L351.655,826.742 L351.282,827.115 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,825.997 L350.536,825.624 L351.282,824.878 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,823.759 L351.655,824.505 L351.282,824.878 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,823.759 L350.536,823.386 L351.282,822.64 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,821.895 L351.655,822.267 L351.282,822.64 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,821.895 L350.536,821.522 L351.282,820.776 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,819.657 L351.655,820.403 L351.282,820.776 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,819.657 L350.536,819.284 L351.282,818.538 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,817.42 L351.655,818.165 L351.282,818.538 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,817.42 L350.536,817.047 L351.282,816.301 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,815.555 L351.655,815.928 L351.282,816.301 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,815.555 L350.536,815.182 L351.282,814.436 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,813.318 L351.655,814.063 L351.282,814.436 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,813.318 L350.536,812.945 L351.282,812.199 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,811.08 L351.655,811.826 L351.282,812.199 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,811.08 L350.536,810.707 L351.282,809.961 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,809.216 L351.655,809.961 L351.282,809.961 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,809.216 L350.536,808.843 L351.282,808.097 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,806.978 L351.655,807.724 L351.282,808.097 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,806.978 L350.536,806.605 L351.282,805.859 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,804.741 L351.655,805.486 L351.282,805.859 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,804.741 L350.536,804.368 L351.282,803.995 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,802.876 L351.655,803.622 L351.282,803.995 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,802.876 L350.536,802.503 L351.282,801.757 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,800.639 L351.655,801.384 L351.282,801.757 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,800.639 L350.536,800.266 L351.282,799.52 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,798.401 L351.655,799.147 L351.282,799.52 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,798.401 L350.536,798.028 L351.282,797.655 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,796.537 L351.655,797.282 L351.282,797.655 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,796.537 L350.536,796.164 L351.282,795.418 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,794.299 L351.655,795.045 L351.282,795.418 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,794.299 L350.536,793.926 L351.282,793.18 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,792.062 L351.655,792.808 L351.282,793.18 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,792.062 L350.536,792.062 L351.282,791.316 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,790.197 L351.655,790.943 L351.282,791.316 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,790.197 L350.536,789.824 L351.282,789.078 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,787.96 L351.655,788.706 L351.282,789.078 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,787.96 L350.536,787.587 L351.282,786.841 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,786.095 L351.655,786.468 L351.282,786.841 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,786.095 L350.536,785.722 L351.282,784.976 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,783.858 L351.655,784.604 L351.282,784.976 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,783.858 L350.536,783.485 L351.282,782.739 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,781.62 L351.655,782.366 L351.282,782.739 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,781.62 L350.536,781.247 L351.282,780.502 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,779.756 L351.655,780.129 L351.282,780.502 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,779.756 L350.536,779.383 L351.282,778.637 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,777.518 L351.655,778.264 L351.282,778.637 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,777.518 L350.536,777.145 L351.282,776.399 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,775.281 L351.655,776.027 L351.282,776.399 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,775.281 L350.536,774.908 L351.282,774.535 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,773.416 L351.655,774.162 L351.282,774.535 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,773.416 L350.536,773.043 L351.282,772.297 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,771.179 L351.655,771.925 L351.282,772.297 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,771.179 L350.536,770.806 L351.282,770.06 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,768.941 L351.655,769.687 L351.282,770.06 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,768.941 L350.536,768.568 L351.282,768.195 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,767.077 L351.655,767.823 L351.282,768.195 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,767.077 L350.536,766.704 L351.282,765.958 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,764.839 L351.655,765.585 L351.282,765.958 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,764.839 L350.536,764.466 L351.282,763.721 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,762.602 L351.655,763.348 L351.282,763.721 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,762.602 L350.536,762.602 L351.282,761.856 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,760.737 L351.655,761.483 L351.282,761.856 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,760.737 L350.536,760.364 L351.282,759.619 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,758.5 L351.655,759.246 L351.282,759.619 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,758.5 L350.536,758.127 L351.282,757.381 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,756.635 L351.655,757.008 L351.282,757.381 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,756.635 L350.536,756.262 L351.282,755.517 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,754.398 L351.655,755.144 L351.282,755.517 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,754.398 L350.536,754.025 L351.282,753.279 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,752.16 L351.655,752.906 L351.282,753.279 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,752.16 L350.536,751.787 L351.282,751.042 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,750.296 L351.655,750.669 L351.282,751.042 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,750.296 L350.536,749.923 L351.282,749.177 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,748.058 L351.655,748.804 L351.282,749.177 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,748.058 L350.536,747.685 L351.282,746.94 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,745.821 L351.655,746.567 L351.282,746.94 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,745.821 L350.536,745.448 L351.282,744.702 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,743.956 L351.655,744.702 L351.282,744.702 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,743.956 L350.536,743.583 L351.282,742.838 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,741.719 L351.655,742.465 L351.282,742.838 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,741.719 L350.536,741.346 L351.282,740.6 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,739.481 L351.655,740.227 L351.282,740.6 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,739.481 L350.536,739.108 L351.282,738.736 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,737.617 L351.655,738.363 L351.282,738.736 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,737.617 L350.536,737.244 L351.282,736.498 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,735.379 L351.655,736.125 L351.282,736.498 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,735.379 L350.536,735.006 L351.282,734.261 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,733.142 L351.655,733.888 L351.282,734.261 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,733.142 L350.536,732.769 L351.282,732.396 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,731.277 L351.655,732.023 L351.282,732.396 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,731.277 L350.536,730.904 L351.282,730.159 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,729.04 L351.655,729.786 L351.282,730.159 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,729.04 L350.536,728.667 L351.282,727.921 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,726.802 L351.655,727.548 L351.282,727.921 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,726.802 L350.536,726.802 L351.282,726.057 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,724.938 L351.655,725.684 L351.282,726.057 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,724.938 L350.536,724.565 L351.282,723.819 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,722.7 L351.655,723.446 L351.282,723.819 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,722.7 L350.536,722.327 L351.282,721.582 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,720.836 L351.655,721.209 L351.282,721.582 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,720.836 L350.536,720.463 L351.282,719.717 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,718.598 L351.655,719.344 L351.282,719.717 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,718.598 L350.536,718.225 L351.282,717.48 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,716.361 L351.655,717.107 L351.282,717.48 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,716.361 L350.536,715.988 L351.282,715.242 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,714.496 L351.655,714.869 L351.282,715.242 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,714.496 L350.536,714.123 L351.282,713.378 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,712.259 L351.655,713.005 L351.282,713.378 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,712.259 L350.536,711.886 L351.282,711.14 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,710.021 L351.655,710.767 L351.282,711.14 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,710.021 L350.536,709.649 L351.282,708.903 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,708.157 L351.655,708.903 L351.282,708.903 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,708.157 L350.536,707.784 L351.282,707.038 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,705.919 L351.655,706.665 L351.282,707.038 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,705.919 L350.536,705.547 L351.282,704.801 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,703.682 L351.655,704.428 L351.282,704.801 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,703.682 L350.536,703.309 L351.282,702.936 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,701.817 L351.655,702.563 L351.282,702.936 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,701.817 L350.536,701.444 L351.282,700.699 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,699.58 L351.655,700.326 L351.282,700.699 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,699.58 L350.536,699.207 L351.282,698.461 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,697.342 L351.655,698.088 L351.282,698.461 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,697.342 L350.536,697.342 L351.282,696.597 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,695.478 L351.655,696.224 L351.282,696.597 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,695.478 L350.536,695.105 L351.282,694.359 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,693.24 L351.655,693.986 L351.282,694.359 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,693.24 L350.536,692.868 L351.282,692.122 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,691.376 L351.655,691.749 L351.282,692.122 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,691.376 L350.536,691.003 L351.282,690.257 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,689.138 L351.655,689.884 L351.282,690.257 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,689.138 L350.536,688.766 L351.282,688.02 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,686.901 L351.655,687.647 L351.282,688.02 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,686.901 L350.536,686.528 L351.282,685.782 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,685.036 L351.655,685.409 L351.282,685.782 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,685.036 L350.536,684.664 L351.282,683.918 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,682.799 L351.655,683.545 L351.282,683.918 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,682.799 L350.536,682.426 L351.282,681.68 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,680.562 L351.655,681.307 L351.282,681.68 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,680.562 L350.536,680.189 L351.282,679.443 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,678.697 L351.655,679.443 L351.282,679.443 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,678.697 L350.536,678.324 L351.282,677.578 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,676.459 L351.655,677.205 L351.282,677.578 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,676.459 L350.536,676.087 L351.282,675.341 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,674.222 L351.655,674.968 L351.282,675.341 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,674.222 L350.536,673.849 L351.282,673.476 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,672.357 L351.655,673.103 L351.282,673.476 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,672.357 L350.536,671.985 L351.282,671.239 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,670.12 L351.655,670.866 L351.282,671.239 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,670.12 L350.536,669.747 L351.282,669.001 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,667.883 L351.655,668.628 L351.282,669.001 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,667.883 L350.536,667.51 L351.282,667.137 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,666.018 L351.655,666.764 L351.282,667.137 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,666.018 L350.536,665.645 L351.282,664.899 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,663.781 L351.655,664.526 L351.282,664.899 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,663.781 L350.536,663.408 L351.282,662.662 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,661.543 L351.655,662.289 L351.282,662.662 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,661.543 L350.536,661.543 L351.282,660.797 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,659.679 L351.655,660.424 L351.282,660.797 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,659.679 L350.536,659.306 L351.282,658.56 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,657.441 L351.655,658.187 L351.282,658.56 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,657.441 L350.536,657.068 L351.282,656.322 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,655.577 L351.655,655.949 L351.282,656.322 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,655.577 L350.536,655.204 L351.282,654.458 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,653.339 L351.655,654.085 L351.282,654.458 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,653.339 L350.536,652.966 L351.282,652.22 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,651.102 L351.655,651.847 L351.282,652.22 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,651.102 L350.536,650.729 L351.282,649.983 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,649.237 L351.655,649.61 L351.282,649.983 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,649.237 L350.536,648.864 L351.282,648.118 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,647 L351.655,647.745 L351.282,648.118 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,647 L350.536,646.627 L351.282,645.881 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,644.762 L351.655,645.508 L351.282,645.881 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,644.762 L350.536,644.389 L351.282,643.643 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,642.898 L351.655,643.643 L351.282,643.643 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,642.898 L350.536,642.525 L351.282,641.779 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,640.66 L351.655,641.406 L351.282,641.779 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,640.66 L350.536,640.287 L351.282,639.541 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,638.423 L351.655,639.168 L351.282,639.541 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,638.423 L350.536,638.05 L351.282,637.677 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,636.558 L351.655,637.304 L351.282,637.677 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,636.558 L350.536,636.185 L351.282,635.439 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,634.321 L351.655,635.066 L351.282,635.439 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,634.321 L350.536,633.948 L351.282,633.202 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,632.083 L351.655,632.829 L351.282,633.202 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,632.083 L350.536,632.083 L351.282,631.337 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,630.219 L351.655,630.964 L351.282,631.337 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,630.219 L350.536,629.846 L351.282,629.1 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,627.981 L351.655,628.727 L351.282,629.1 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,627.981 L350.536,627.608 L351.282,626.862 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,626.117 L351.655,626.489 L351.282,626.862 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,626.117 L350.536,625.744 L351.282,624.998 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,623.879 L351.655,624.625 L351.282,624.998 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,623.879 L350.536,623.506 L351.282,622.76 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,621.642 L351.655,622.387 L351.282,622.76 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,621.642 L350.536,621.269 L351.282,620.523 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,619.777 L351.655,620.15 L351.282,620.523 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,619.777 L350.536,619.404 L351.282,618.658 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,617.54 L351.655,618.285 L351.282,618.658 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,617.54 L350.536,617.167 L351.282,616.421 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,615.302 L351.655,616.048 L351.282,616.421 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,615.302 L350.536,614.929 L351.282,614.183 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,613.438 L351.655,614.183 L351.282,614.183 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,613.438 L350.536,613.065 L351.282,612.319 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,611.2 L351.655,611.946 L351.282,612.319 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,611.2 L350.536,610.827 L351.282,610.081 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,608.963 L351.655,609.709 L351.282,610.081 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,608.963 L350.536,608.59 L351.282,608.217 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,607.098 L351.655,607.844 L351.282,608.217 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,607.098 L350.536,606.725 L351.282,605.979 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,604.861 L351.655,605.607 L351.282,605.979 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,604.861 L350.536,604.488 L351.282,603.742 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,602.623 L351.655,603.369 L351.282,603.742 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,602.623 L350.536,602.25 L351.282,601.877 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,600.759 L351.655,601.505 L351.282,601.877 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,600.759 L350.536,600.386 L351.282,599.64 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,598.521 L351.655,599.267 L351.282,599.64 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,598.521 L350.536,598.148 L351.282,597.402 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,596.284 L351.655,597.03 L351.282,597.402 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,596.284 L350.536,596.284 L351.282,595.538 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,594.419 L351.655,595.165 L351.282,595.538 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,594.419 L350.536,594.046 L351.282,593.3 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,592.182 L351.655,592.928 L351.282,593.3 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,592.182 L350.536,591.809 L351.282,591.063 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,590.317 L351.655,590.69 L351.282,591.063 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,590.317 L350.536,589.944 L351.282,589.198 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,588.08 L351.655,588.826 L351.282,589.198 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,588.08 L351.282,587.334 L350.163,587.334 L350.163,586.588 L349.417,585.842 L350.163,585.469 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,584.351 L350.536,584.724 L350.163,585.469 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,584.351 L349.417,583.978 L350.163,583.605 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,582.486 L350.536,582.859 L350.163,583.605 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,582.486 L349.417,581.74 L350.163,581.367 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,580.249 L350.536,580.622 L350.163,581.367 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,580.249 L349.417,579.503 L350.163,579.13 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,578.384 L350.536,578.384 L350.163,579.13 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,578.384 L349.417,577.638 L350.163,577.265 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,576.147 L350.536,576.52 L350.163,577.265 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,576.147 L349.417,575.401 L350.163,575.028 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,573.909 L350.536,574.282 L350.163,575.028 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,573.909 L349.417,573.163 L350.163,572.79 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,572.045 L350.536,572.417 L350.163,572.79 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,572.045 L350.163,570.926 L351.282,570.926 L350.536,570.18 L351.282,569.807 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,568.688 L351.655,569.061 L351.282,569.807 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,568.688 L350.536,567.943 L351.282,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,566.824 L351.655,566.824 L351.282,567.57 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,566.824 L350.536,566.078 L351.282,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,564.586 L351.655,564.959 L351.282,565.705 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,564.586 L350.536,563.841 L351.282,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,562.349 L351.655,562.722 L351.282,563.468 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,562.349 L350.536,561.603 L351.282,561.23 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,560.484 L351.655,560.857 L351.282,561.23 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,560.484 L350.536,559.739 L351.282,559.366 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,558.247 L351.655,558.62 L351.282,559.366 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,558.247 L350.536,557.501 L351.282,557.128 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,556.009 L351.655,556.382 L351.282,557.128 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,556.009 L350.536,555.264 L351.282,554.891 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,554.145 L351.655,554.518 L351.282,554.891 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,554.145 L350.536,553.399 L351.282,553.026 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,551.907 L351.655,552.28 L351.282,553.026 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,551.907 L350.536,551.162 L351.282,550.789 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,549.67 L351.655,550.043 L351.282,550.789 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,549.67 L350.536,548.924 L351.282,548.924 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,547.805 L351.655,548.178 L351.282,548.924 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,547.805 L350.536,547.06 L351.282,546.687 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,545.568 L351.655,545.941 L351.282,546.687 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,545.568 L350.536,544.822 L351.282,544.449 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,543.33 L351.655,543.703 L351.282,544.449 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,543.33 L350.536,542.958 L351.282,542.585 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,541.466 L351.655,541.839 L351.282,542.585 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,541.466 L350.536,540.72 L351.282,540.347 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,539.228 L351.655,539.601 L351.282,540.347 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,539.228 L350.536,538.483 L351.282,538.11 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,536.991 L351.655,537.364 L351.282,538.11 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,536.991 L350.536,536.618 L351.282,536.245 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,535.126 L351.655,535.499 L351.282,536.245 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,535.126 L350.536,534.381 L351.282,534.008 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,532.889 L351.655,533.262 L351.282,534.008 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,532.889 L350.536,532.143 L351.282,531.77 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,531.024 L351.655,531.024 L351.282,531.77 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,531.024 L350.536,530.279 L351.282,529.906 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,528.787 L351.655,529.16 L351.282,529.906 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,528.787 L350.536,528.041 L351.282,527.668 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,526.55 L351.655,526.922 L351.282,527.668 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,526.55 L350.536,525.804 L351.282,525.431 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,524.685 L351.655,525.058 L351.282,525.431 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,524.685 L350.536,523.939 L351.282,523.566 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,522.447 L351.655,522.82 L351.282,523.566 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,522.447 L350.536,521.702 L351.282,521.329 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,520.21 L351.655,520.583 L351.282,521.329 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,520.21 L350.536,519.464 L351.282,519.091 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,518.345 L351.655,518.718 L351.282,519.091 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,518.345 L350.536,517.6 L351.282,517.227 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,516.108 L351.655,516.481 L351.282,517.227 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,516.108 L350.536,515.362 L351.282,514.989 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,513.871 L351.655,514.243 L351.282,514.989 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,513.871 L350.536,513.125 L351.282,513.125 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,512.006 L351.655,512.379 L351.282,513.125 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,512.006 L350.536,511.26 L351.282,510.887 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,509.769 L351.655,510.141 L351.282,510.887 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,509.769 L350.536,509.023 L351.282,508.65 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,507.531 L351.655,507.904 L351.282,508.65 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,507.531 L350.536,507.158 L351.282,506.785 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,505.667 L351.655,506.039 L351.282,506.785 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,505.667 L350.536,504.921 L351.282,504.548 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,503.429 L351.655,503.802 L351.282,504.548 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,503.429 L350.536,502.683 L351.282,502.31 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,501.565 L351.655,501.565 L351.282,502.31 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,501.565 L350.536,500.819 L351.282,500.446 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,499.327 L351.655,499.7 L351.282,500.446 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,499.327 L350.536,498.581 L351.282,498.208 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,497.09 L351.655,497.462 L351.282,498.208 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,497.09 L350.536,496.344 L351.282,495.971 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,495.225 L351.655,495.598 L351.282,495.971 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,495.225 L350.536,494.479 L351.282,494.106 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,492.988 L351.655,493.36 L351.282,494.106 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,492.988 L350.536,492.242 L351.282,491.869 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,490.75 L351.655,491.123 L351.282,491.869 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,490.75 L350.536,490.004 L351.282,489.631 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,488.886 L351.655,489.258 L351.282,489.631 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,488.886 L350.536,488.14 L351.282,487.767 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,486.648 L351.655,487.021 L351.282,487.767 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,486.648 L350.536,485.902 L351.282,485.529 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,484.411 L351.655,484.784 L351.282,485.529 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,484.411 L350.536,483.665 L351.282,483.665 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,482.546 L351.655,482.919 L351.282,483.665 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,482.546 L350.536,481.8 L351.282,481.427 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,480.309 L351.655,480.682 L351.282,481.427 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,480.309 L350.536,479.563 L351.282,479.19 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,478.071 L351.655,478.444 L351.282,479.19 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,478.071 L350.536,477.698 L351.282,477.325 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,476.207 L351.655,476.58 L351.282,477.325 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,476.207 L350.536,475.461 L351.282,475.088 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,473.969 L351.655,474.342 L351.282,475.088 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,473.969 L350.536,473.223 L351.282,472.85 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,471.732 L351.655,472.105 L351.282,472.85 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,471.732 L350.536,471.359 L351.282,470.986 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,469.867 L351.655,470.24 L351.282,470.986 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,469.867 L350.536,469.121 L351.282,468.748 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,467.63 L351.655,468.003 L351.282,468.748 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,467.63 L350.536,466.884 L351.282,466.511 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,465.765 L351.655,465.765 L351.282,466.511 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,465.765 L350.536,465.019 L351.282,464.646 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,463.528 L351.655,463.901 L351.282,464.646 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,463.528 L350.536,462.782 L351.282,462.409 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,461.29 L351.655,461.663 L351.282,462.409 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,461.29 L350.536,460.544 L351.282,460.171 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,459.426 L351.655,459.799 L351.282,460.171 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,459.426 L350.536,458.68 L351.282,458.307 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,457.188 L351.655,457.561 L351.282,458.307 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,457.188 L350.536,456.442 L351.282,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,454.951 L351.655,455.324 L351.282,456.069 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,454.951 L350.536,454.205 L351.282,453.832 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,453.086 L351.655,453.459 L351.282,453.832 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,453.086 L350.536,452.34 L351.282,451.967 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,450.849 L351.655,451.222 L351.282,451.967 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,450.849 L350.536,450.103 L351.282,449.73 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,448.611 L351.655,448.984 L351.282,449.73 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,448.611 L350.536,447.865 L351.282,447.865 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,446.747 L351.655,447.12 L351.282,447.865 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,446.747 L350.536,446.001 L351.282,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,444.509 L351.655,444.882 L351.282,445.628 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,444.509 L350.536,443.763 L351.282,443.39 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,442.272 L351.655,442.645 L351.282,443.39 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,442.272 L350.536,441.899 L351.282,441.526 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,440.407 L351.655,440.78 L351.282,441.526 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,440.407 L350.536,439.661 L351.282,439.288 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,438.17 L351.655,438.543 L351.282,439.288 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,438.17 L350.536,437.424 L351.282,437.051 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,436.305 L351.655,436.305 L351.282,437.051 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,436.305 L350.536,435.559 L351.282,435.186 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,434.068 L351.655,434.441 L351.282,435.186 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,434.068 L350.536,433.322 L351.282,432.949 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,431.83 L351.655,432.203 L351.282,432.949 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,431.83 L350.536,431.084 L351.282,430.712 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,429.966 L351.655,430.339 L351.282,430.712 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,429.966 L350.536,429.22 L351.282,428.847 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,427.728 L351.655,428.101 L351.282,428.847 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,427.728 L350.536,426.982 L351.282,426.61 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,425.491 L351.655,425.864 L351.282,426.61 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,425.491 L350.536,424.745 L351.282,424.372 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,423.626 L351.655,423.999 L351.282,424.372 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,423.626 L350.536,422.88 L351.282,422.508 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,421.389 L351.655,421.762 L351.282,422.508 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,421.389 L350.536,420.643 L351.282,420.27 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,419.151 L351.655,419.524 L351.282,420.27 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,419.151 L350.536,418.405 L351.282,418.405 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,417.287 L351.655,417.66 L351.282,418.405 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,417.287 L350.536,416.541 L351.282,416.168 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,415.049 L351.655,415.422 L351.282,416.168 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,415.049 L350.536,414.303 L351.282,413.931 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,412.812 L351.655,413.185 L351.282,413.931 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,412.812 L350.536,412.439 L351.282,412.066 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,410.947 L351.655,411.32 L351.282,412.066 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,410.947 L350.536,410.201 L351.282,409.829 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,408.71 L351.655,409.083 L351.282,409.829 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,408.71 L350.536,407.964 L351.282,407.591 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,406.472 L351.655,406.845 L351.282,407.591 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,406.472 L350.536,406.099 L351.282,405.727 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,404.608 L351.655,404.981 L351.282,405.727 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,404.608 L350.536,403.862 L351.282,403.489 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,402.37 L351.655,402.743 L351.282,403.489 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,402.37 L350.536,401.625 L351.282,401.252 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,400.506 L351.655,400.506 L351.282,401.252 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,400.506 L350.536,399.76 L351.282,399.387 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,398.268 L351.655,398.641 L351.282,399.387 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,398.268 L350.536,397.523 L351.282,397.15 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,396.031 L351.655,396.404 L351.282,397.15 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,396.031 L350.536,395.285 L351.282,394.912 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,394.166 L351.655,394.539 L351.282,394.912 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,394.166 L350.536,393.42 L351.282,393.048 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,391.929 L351.655,392.302 L351.282,393.048 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,391.929 L350.536,391.183 L351.282,390.81 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,389.691 L351.655,390.064 L351.282,390.81 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,389.691 L350.536,388.946 L351.282,388.573 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,387.827 L351.655,388.2 L351.282,388.573 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,387.827 L350.536,387.081 L351.282,386.708 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,385.589 L351.655,385.962 L351.282,386.708 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,385.589 L350.536,384.844 L351.282,384.471 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,383.352 L351.655,383.725 L351.282,384.471 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,383.352 L350.536,382.606 L351.282,382.606 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,381.487 L351.655,381.86 L351.282,382.606 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,381.487 L350.536,380.742 L351.282,380.369 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,379.25 L351.655,379.623 L351.282,380.369 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,379.25 L350.536,378.504 L351.282,378.131 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,377.012 L351.655,377.385 L351.282,378.131 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,377.012 L350.536,376.64 L351.282,376.267 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,375.148 L351.655,375.521 L351.282,376.267 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,375.148 L350.536,374.402 L351.282,374.029 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,372.91 L351.655,373.283 L351.282,374.029 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,372.91 L350.536,372.165 L351.282,371.792 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,370.673 L351.655,371.046 L351.282,371.792 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,370.673 L350.536,370.3 L351.282,369.927 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,368.808 L351.655,369.181 L351.282,369.927 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,368.808 L350.536,368.063 L351.282,367.69 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,366.571 L351.655,366.944 L351.282,367.69 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,366.571 L350.536,365.825 L351.282,365.452 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,364.706 L351.655,365.079 L351.282,365.452 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,364.706 L350.536,363.961 L351.282,363.588 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,362.469 L351.655,362.842 L351.282,363.588 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,362.469 L350.536,361.723 L351.282,361.35 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,360.231 L351.655,360.604 L351.282,361.35 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,360.231 L350.536,359.486 L351.282,359.113 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,358.367 L351.655,358.74 L351.282,359.113 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,358.367 L350.536,357.621 L351.282,357.248 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,356.129 L351.655,356.502 L351.282,357.248 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,356.129 L350.536,355.384 L351.282,355.011 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,353.892 L351.655,354.265 L351.282,355.011 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,353.892 L350.536,353.146 L351.282,353.146 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,352.027 L351.655,352.4 L351.282,353.146 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,352.027 L350.536,351.282 L351.282,350.909 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,349.79 L351.655,350.163 L351.282,350.909 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,349.79 L350.536,349.044 L351.282,348.671 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,347.553 L351.655,347.925 L351.282,348.671 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,347.553 L350.536,347.18 L351.282,346.807 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,345.688 L351.655,346.061 L351.282,346.807 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,345.688 L350.536,344.942 L351.282,344.569 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,343.45 L351.655,343.823 L351.282,344.569 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,343.45 L350.536,342.705 L351.282,342.332 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,341.213 L351.655,341.586 L351.282,342.332 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,341.213 L350.536,340.84 L351.282,340.467 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,339.348 L351.655,339.721 L351.282,340.467 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,339.348 L350.536,338.603 L351.282,338.23 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,337.111 L351.655,337.484 L351.282,338.23 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,337.111 L350.536,336.365 L351.282,335.992 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,335.246 L351.655,335.246 L351.282,335.992 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,335.246 L350.536,334.501 L351.282,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,333.009 L351.655,333.382 L351.282,334.128 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,333.009 L350.536,332.263 L351.282,331.89 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,330.772 L351.655,331.144 L351.282,331.89 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,330.772 L350.536,330.026 L351.282,329.653 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,328.907 L351.655,329.28 L351.282,329.653 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,328.907 L350.536,328.161 L351.282,327.788 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,326.67 L351.655,327.042 L351.282,327.788 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,326.67 L350.536,325.924 L351.282,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,324.432 L351.655,324.805 L351.282,325.551 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,324.432 L350.536,323.686 L351.282,323.313 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,322.568 L351.655,322.94 L351.282,323.313 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,322.568 L350.536,321.822 L351.282,321.449 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,320.33 L351.655,320.703 L351.282,321.449 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,320.33 L350.536,319.584 L351.282,319.211 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,318.093 L351.655,318.465 L351.282,319.211 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,318.093 L350.536,317.347 L351.282,317.347 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,316.228 L351.655,316.601 L351.282,317.347 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,316.228 L350.536,315.482 L351.282,315.109 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,313.991 L351.655,314.363 L351.282,315.109 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,313.991 L350.536,313.245 L351.282,312.872 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,311.753 L351.655,312.126 L351.282,312.872 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,311.753 L350.536,311.38 L351.282,311.007 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,309.889 L351.655,310.261 L351.282,311.007 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,309.889 L350.536,309.143 L351.282,308.77 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,307.651 L351.655,308.024 L351.282,308.77 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,307.651 L350.536,306.905 L351.282,306.532 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,305.414 L351.655,305.787 L351.282,306.532 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,305.414 L350.536,305.041 L351.282,304.668 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,303.549 L351.655,303.922 L351.282,304.668 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,303.549 L350.536,302.803 L351.282,302.43 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,301.312 L351.655,301.685 L351.282,302.43 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,301.312 L350.536,300.566 L351.282,300.193 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,299.447 L351.655,299.82 L351.282,300.193 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,299.447 L350.536,298.701 L351.282,298.328 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,297.21 L351.655,297.583 L351.282,298.328 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,297.21 L350.536,296.464 L351.282,296.091 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,294.972 L351.655,295.345 L351.282,296.091 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,294.972 L350.536,294.226 L351.282,293.853 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,293.108 L351.655,293.48 L351.282,293.853 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,293.108 L350.536,292.362 L351.282,291.989 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,290.87 L351.655,291.243 L351.282,291.989 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,290.87 L350.536,290.124 L351.282,289.751 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,288.633 L351.655,289.006 L351.282,289.751 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,288.633 L350.536,287.887 L351.282,287.887 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,286.768 L351.655,287.141 L351.282,287.887 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,286.768 L350.536,286.022 L351.282,285.649 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,284.531 L351.655,284.904 L351.282,285.649 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,284.531 L350.536,283.785 L351.282,283.412 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,282.293 L351.655,282.666 L351.282,283.412 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,282.293 L350.536,281.92 L351.282,281.547 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,280.429 L351.655,280.802 L351.282,281.547 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,280.429 L350.536,279.683 L351.282,279.31 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,278.191 L351.655,278.564 L351.282,279.31 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,278.191 L350.536,277.445 L351.282,277.072 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,275.954 L351.655,276.327 L351.282,277.072 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,275.954 L350.536,275.581 L351.282,275.208 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,274.089 L351.655,274.462 L351.282,275.208 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,274.089 L350.536,273.343 L351.282,272.97 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,271.852 L351.655,272.225 L351.282,272.97 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,271.852 L350.536,271.106 L351.282,270.733 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,269.987 L351.655,269.987 L351.282,270.733 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,269.987 L350.536,269.241 L351.282,268.868 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,267.75 L351.655,268.123 L351.282,268.868 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,267.75 L350.536,267.004 L351.282,266.631 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,265.512 L351.655,265.885 L351.282,266.631 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,265.512 L350.536,264.766 L351.282,264.393 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,263.648 L351.655,264.021 L351.282,264.393 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,263.648 L350.536,262.902 L351.282,262.529 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,261.41 L351.655,261.783 L351.282,262.529 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,261.41 L350.536,260.664 L351.282,260.291 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,259.173 L351.655,259.546 L351.282,260.291 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,259.173 L350.536,258.427 L351.282,258.054 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,257.308 L351.655,257.681 L351.282,258.054 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,257.308 L350.536,256.562 L351.282,256.189 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,255.071 L351.655,255.444 L351.282,256.189 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,255.071 L350.536,254.325 L351.282,253.952 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,252.833 L351.655,253.206 L351.282,253.952 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,252.833 L350.536,252.087 L351.282,252.087 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,250.969 L351.655,251.342 L351.282,252.087 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,250.969 L350.536,250.223 L351.282,249.85 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,248.731 L351.655,249.104 L351.282,249.85 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,248.731 L350.536,247.985 L351.282,247.613 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,246.494 L351.655,246.867 L351.282,247.613 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,246.494 L350.536,246.121 L351.282,245.748 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,244.629 L351.655,245.002 L351.282,245.748 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,244.629 L350.536,243.883 L351.282,243.511 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,242.392 L351.655,242.765 L351.282,243.511 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,242.392 L350.536,241.646 L351.282,241.273 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,240.154 L351.655,240.527 L351.282,241.273 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,240.154 L350.536,239.781 L351.282,239.408 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,238.29 L351.655,238.663 L351.282,239.408 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,238.29 L350.536,237.544 L351.282,237.171 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,236.052 L351.655,236.425 L351.282,237.171 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,236.052 L350.536,235.306 L351.282,234.934 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,234.188 L351.655,234.561 L351.282,234.934 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,234.188 L350.536,233.442 L351.282,233.069 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,231.95 L351.655,232.323 L351.282,233.069 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,231.95 L350.536,231.204 L351.282,230.832 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,229.713 L351.655,230.086 L351.282,230.832 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,229.713 L350.536,228.967 L351.282,228.594 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,227.848 L351.655,228.221 L351.282,228.594 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,227.848 L350.536,227.102 L351.282,226.73 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,225.611 L351.655,225.984 L351.282,226.73 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,225.611 L350.536,224.865 L351.282,224.492 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,223.373 L351.655,223.746 L351.282,224.492 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,223.373 L350.536,222.628 L351.282,222.628 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,221.509 L351.655,221.882 L351.282,222.628 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,221.509 L350.536,220.763 L351.282,220.39 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,219.271 L351.655,219.644 L351.282,220.39 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,219.271 L350.536,218.526 L351.282,218.153 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,217.034 L351.655,217.407 L351.282,218.153 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,217.034 L350.536,216.661 L351.282,216.288 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,215.169 L351.655,215.542 L351.282,216.288 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,215.169 L350.536,214.423 L351.282,214.051 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,212.932 L351.655,213.305 L351.282,214.051 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,212.932 L350.536,212.186 L351.282,211.813 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,210.694 L351.655,211.067 L351.282,211.813 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,210.694 L350.163,210.694 L350.163,209.949 L349.417,209.576 L350.163,208.83 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,207.711 L350.536,208.457 L350.163,208.83 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,207.711 L349.417,207.338 L350.163,206.592 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,205.474 L350.536,206.219 L350.163,206.592 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,205.474 L349.417,205.101 L350.163,204.728 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,203.609 L350.536,204.355 L350.163,204.728 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,203.609 L349.417,203.236 L350.163,202.49 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,201.372 L350.536,202.117 L350.163,202.49 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,201.372 L349.417,200.999 L350.163,200.253 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,199.134 L350.536,199.88 L350.163,200.253 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,199.134 L349.417,198.761 L350.163,198.388 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,197.27 L350.536,198.015 L350.163,198.388 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,197.27 L349.417,196.897 L350.163,196.151 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,195.032 L350.536,195.778 L350.163,196.151 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,195.032 L350.163,193.913 L351.282,193.913 L351.282,193.541 L350.536,193.168 L351.282,192.795 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,191.676 L351.655,192.422 L351.282,192.795 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,191.676 L350.536,191.303 L351.282,190.557 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,189.438 L351.655,190.184 L351.282,190.557 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,189.438 L350.536,189.066 L351.282,188.32 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,187.201 L351.655,187.947 L351.282,188.32 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,187.201 L350.536,186.828 L351.282,186.455 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,185.336 L351.655,186.082 L351.282,186.455 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,185.336 L350.536,184.964 L351.282,184.218 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,183.099 L351.655,183.845 L351.282,184.218 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,183.099 L350.536,182.726 L351.282,181.98 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,180.862 L351.655,181.607 L351.282,181.98 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,180.862 L350.536,180.862 L351.282,180.116 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,178.997 L351.655,179.743 L351.282,180.116 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,178.997 L350.536,178.624 L351.282,177.878 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,176.76 L351.655,177.505 L351.282,177.878 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,176.76 L350.536,176.387 L351.282,175.641 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,174.895 L351.655,175.268 L351.282,175.641 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,174.895 L350.536,174.522 L351.282,173.776 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,172.658 L351.655,173.403 L351.282,173.776 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,172.658 L350.536,172.285 L351.282,171.539 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,170.42 L351.655,171.166 L351.282,171.539 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,170.42 L350.536,170.047 L351.282,169.301 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,168.556 L351.655,168.928 L351.282,169.301 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,168.556 L350.536,168.183 L351.282,167.437 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,166.318 L351.655,167.064 L351.282,167.437 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,166.318 L350.536,165.945 L351.282,165.199 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,164.081 L351.655,164.826 L351.282,165.199 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,164.081 L350.536,163.708 L351.282,163.335 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,162.216 L351.655,162.962 L351.282,163.335 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,162.216 L350.536,161.843 L351.282,161.097 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,159.979 L351.655,160.724 L351.282,161.097 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,159.979 L350.536,159.606 L351.282,158.86 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,157.741 L351.655,158.487 L351.282,158.86 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,157.741 L350.536,157.368 L351.282,156.995 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,155.877 L351.655,156.622 L351.282,156.995 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,155.877 L350.536,155.504 L351.282,154.758 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,153.639 L351.655,154.385 L351.282,154.758 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,153.639 L350.536,153.266 L351.282,152.52 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,151.402 L351.655,152.147 L351.282,152.52 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,151.402 L350.536,151.402 L351.282,150.656 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,149.537 L351.655,150.283 L351.282,150.656 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,149.537 L350.536,149.164 L351.282,148.418 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,147.3 L351.655,148.045 L351.282,148.418 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,147.3 L350.536,146.927 L351.282,146.181 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,145.435 L351.655,145.808 L351.282,146.181 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,145.435 L350.536,145.062 L351.282,144.316 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,143.198 L351.655,143.943 L351.282,144.316 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,143.198 L350.536,142.825 L351.282,142.079 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,140.96 L351.655,141.706 L351.282,142.079 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,140.96 L350.536,140.587 L351.282,139.841 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,139.096 L351.655,139.468 L351.282,139.841 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,139.096 L350.536,138.723 L351.282,137.977 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,136.858 L351.655,137.604 L351.282,137.977 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,136.858 L350.536,136.485 L351.282,135.739 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,134.621 L351.655,135.366 L351.282,135.739 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,134.621 L350.536,134.248 L351.282,133.502 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,132.756 L351.655,133.502 L351.282,133.502 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,132.756 L350.536,132.383 L351.282,131.637 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,130.519 L351.655,131.264 L351.282,131.637 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,130.519 L350.536,130.146 L351.282,129.4 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,128.281 L351.655,129.027 L351.282,129.4 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,128.281 L350.536,127.908 L351.282,127.535 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,126.417 L351.655,127.162 L351.282,127.535 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,126.417 L350.536,126.044 L351.282,125.298 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,124.179 L351.655,124.925 L351.282,125.298 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,124.179 L350.536,123.806 L351.282,123.06 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,121.942 L351.655,122.688 L351.282,123.06 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,121.942 L350.536,121.569 L351.282,121.196 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,120.077 L351.655,120.823 L351.282,121.196 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,120.077 L350.536,119.704 L351.282,118.958 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,117.84 L351.655,118.586 L351.282,118.958 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,117.84 L350.536,117.467 L351.282,116.721 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,115.602 L351.655,116.348 L351.282,116.721 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,115.602 L350.536,115.602 L351.282,114.856 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,113.738 L351.655,114.483 L351.282,114.856 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,113.738 L350.536,113.365 L351.282,112.619 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,111.5 L351.655,112.246 L351.282,112.619 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,111.5 L350.536,111.127 L351.282,110.381 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,109.636 L351.655,110.009 L351.282,110.381 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,109.636 L350.536,109.263 L351.282,108.517 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,107.398 L351.655,108.144 L351.282,108.517 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,107.398 L350.536,107.025 L351.282,106.279 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,105.161 L351.655,105.907 L351.282,106.279 " fill="none" stroke="#00FF00" />
+	<path d="M351.282,105.161 L351.282,104.788 L350.536,104.788 L349.79,105.161 L349.417,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M348.298,104.788 L348.671,104.042 L349.417,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M348.298,104.788 L347.925,105.161 L347.553,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M346.434,104.788 L346.807,104.042 L347.553,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M346.434,104.788 L345.688,105.161 L345.315,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M344.196,104.788 L344.569,104.042 L345.315,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M344.196,104.788 L343.45,105.161 L343.078,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M342.332,104.788 L342.705,104.042 L343.078,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M342.332,104.788 L341.586,105.161 L341.213,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M340.094,104.788 L340.467,104.042 L341.213,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M340.094,104.788 L339.348,105.161 L338.976,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M337.857,104.788 L338.23,104.042 L338.976,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M337.857,104.788 L337.484,105.161 L337.111,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M335.992,104.788 L336.365,104.042 L337.111,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M335.992,104.788 L335.246,105.161 L334.874,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M333.755,104.788 L334.128,104.042 L334.874,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M333.755,104.788 L333.009,105.161 L332.636,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M331.89,104.788 L331.89,104.042 L332.636,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M331.89,104.788 L331.144,105.161 L330.772,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M329.653,104.788 L330.026,104.042 L330.772,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M329.653,104.788 L328.907,105.161 L328.534,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M327.415,104.788 L327.788,104.042 L328.534,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M327.415,104.788 L326.67,105.161 L326.297,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M325.551,104.788 L325.924,104.042 L326.297,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M325.551,104.788 L324.805,105.161 L324.432,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M323.313,104.788 L323.686,104.042 L324.432,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M323.313,104.788 L322.568,105.161 L322.195,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M321.076,104.788 L321.449,104.042 L322.195,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M321.076,104.788 L320.703,105.161 L320.33,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M319.211,104.788 L319.584,104.042 L320.33,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M319.211,104.788 L318.465,105.161 L318.093,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M316.974,104.788 L317.347,104.042 L318.093,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M316.974,104.788 L316.228,105.161 L315.855,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M315.109,104.788 L315.482,104.042 L315.855,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M315.109,104.788 L314.363,105.161 L313.991,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M312.872,104.788 L313.245,104.042 L313.991,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M312.872,104.788 L312.126,105.161 L311.753,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M310.634,104.788 L311.007,104.042 L311.753,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M310.634,104.788 L309.889,105.161 L309.889,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M308.77,104.788 L309.143,104.042 L309.889,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M308.77,104.788 L308.024,105.161 L307.651,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M306.532,104.788 L306.905,104.042 L307.651,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M306.532,104.788 L305.787,105.161 L305.414,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M304.295,104.788 L304.668,104.042 L305.414,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M304.295,104.788 L303.922,105.161 L303.549,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M302.43,104.788 L302.803,104.042 L303.549,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M302.43,104.788 L301.685,105.161 L301.312,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M300.193,104.788 L300.566,104.042 L301.312,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M300.193,104.788 L299.447,105.161 L299.074,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M298.328,104.788 L298.701,104.042 L299.074,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M298.328,104.788 L297.583,105.161 L297.21,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M296.091,104.788 L296.464,104.042 L297.21,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M296.091,104.788 L295.345,105.161 L294.972,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M293.853,104.788 L294.226,104.042 L294.972,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M293.853,104.788 L293.48,105.161 L293.108,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M291.989,104.788 L292.362,104.042 L293.108,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M291.989,104.788 L291.243,105.161 L290.87,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M289.751,104.788 L290.124,104.042 L290.87,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M289.751,104.788 L289.006,105.161 L288.633,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M287.887,104.788 L287.887,104.042 L288.633,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M287.887,104.788 L287.141,105.161 L286.768,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M285.649,104.788 L286.022,104.042 L286.768,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M285.649,104.788 L284.904,105.161 L284.531,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M283.412,104.788 L283.785,104.042 L284.531,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M283.412,104.788 L282.666,105.161 L282.666,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M281.547,104.788 L281.92,104.042 L282.666,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M281.547,104.788 L280.802,105.161 L280.429,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M279.31,104.788 L279.683,104.042 L280.429,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M279.31,104.788 L278.564,105.161 L278.191,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M277.072,104.788 L277.445,104.042 L278.191,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M277.072,104.788 L276.7,105.161 L276.327,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M275.208,104.788 L275.581,104.042 L276.327,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M275.208,104.788 L274.462,105.161 L274.089,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M272.97,104.788 L273.343,104.042 L274.089,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M272.97,104.788 L272.225,105.161 L271.852,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M271.106,104.788 L271.479,104.042 L271.852,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M271.106,104.788 L270.36,105.161 L269.987,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M268.868,104.788 L269.241,104.042 L269.987,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M268.868,104.788 L268.123,105.161 L267.75,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M266.631,104.788 L267.004,104.042 L267.75,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M266.631,104.788 L266.258,105.161 L265.885,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M264.766,104.788 L265.139,104.042 L265.885,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M264.766,104.788 L264.021,105.161 L263.648,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M262.529,104.788 L262.902,104.042 L263.648,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M262.529,104.788 L261.783,105.161 L261.41,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M260.664,104.788 L260.664,104.042 L261.41,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M260.664,104.788 L259.919,105.161 L259.546,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M258.427,104.788 L258.8,104.042 L259.546,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M258.427,104.788 L257.681,105.161 L257.308,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M256.189,104.788 L256.562,104.042 L257.308,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M256.189,104.788 L255.444,105.161 L255.071,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M254.325,104.788 L254.698,104.042 L255.071,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M254.325,104.788 L253.579,105.161 L253.206,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M252.087,104.788 L252.46,104.042 L253.206,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M252.087,104.788 L251.342,105.161 L250.969,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M249.85,104.788 L250.223,104.042 L250.969,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M249.85,104.788 L249.477,105.161 L249.104,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M247.985,104.788 L248.358,104.042 L249.104,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M247.985,104.788 L247.24,105.161 L246.867,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M245.748,104.788 L246.121,104.042 L246.867,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M245.748,104.788 L245.002,105.161 L244.629,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M243.883,104.788 L244.256,104.042 L244.629,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M243.883,104.788 L243.138,105.161 L242.765,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M241.646,104.788 L242.019,104.042 L242.765,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M241.646,104.788 L240.9,105.161 L240.527,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M239.408,104.788 L239.781,104.042 L240.527,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M239.408,104.788 L238.663,105.161 L238.663,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M237.544,104.788 L237.917,104.042 L238.663,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M237.544,104.788 L236.798,105.161 L236.425,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,104.788 L235.679,104.042 L236.425,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M235.306,104.788 L234.561,105.161 L234.188,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M233.069,104.788 L233.442,104.042 L234.188,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M233.069,104.788 L232.696,105.161 L232.323,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M231.204,104.788 L231.577,104.042 L232.323,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M231.204,104.788 L230.459,105.161 L230.086,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M228.967,104.788 L229.34,104.042 L230.086,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M228.967,104.788 L228.221,105.161 L227.848,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M227.102,104.788 L227.475,104.042 L227.848,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M227.102,104.788 L226.357,105.161 L225.984,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M224.865,104.788 L225.238,104.042 L225.984,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M224.865,104.788 L224.119,105.161 L223.746,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M222.628,104.788 L223,104.042 L223.746,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M222.628,104.788 L222.255,105.161 L221.882,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M220.763,104.788 L221.136,104.042 L221.882,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M220.763,104.788 L220.017,105.161 L219.644,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M218.526,104.788 L218.898,104.042 L219.644,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M218.526,104.788 L217.78,105.161 L217.407,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M216.661,104.788 L216.661,104.042 L217.407,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M216.661,104.788 L215.915,105.161 L215.542,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M214.423,104.788 L214.796,104.042 L215.542,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M214.423,104.788 L213.678,105.161 L213.305,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M212.186,104.788 L212.559,104.042 L213.305,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M212.186,104.788 L211.44,105.161 L211.44,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M210.321,104.788 L210.694,104.042 L211.44,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M210.321,104.788 L209.576,105.161 L209.203,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M208.084,104.788 L208.457,104.042 L209.203,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M208.084,104.788 L207.338,105.161 L206.965,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M205.847,104.788 L206.219,104.042 L206.965,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M205.847,104.788 L205.474,105.161 L205.101,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M203.982,104.788 L204.355,104.042 L205.101,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M203.982,104.788 L203.236,105.161 L202.863,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M201.745,104.788 L202.117,104.042 L202.863,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M201.745,104.788 L200.999,105.161 L200.626,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M199.88,104.788 L200.253,104.042 L200.626,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M199.88,104.788 L199.134,105.161 L198.761,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M197.643,104.788 L198.015,104.042 L198.761,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M197.643,104.788 L196.897,105.161 L196.524,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M195.405,104.788 L195.778,104.042 L196.524,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M195.405,104.788 L195.032,105.161 L194.659,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M193.541,104.788 L193.913,104.042 L194.659,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M193.541,104.788 L192.795,105.161 L192.422,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M191.303,104.788 L191.676,104.042 L192.422,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M191.303,104.788 L190.557,105.161 L190.184,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M189.438,104.788 L189.438,104.042 L190.184,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M189.438,104.788 L188.693,105.161 L188.32,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M187.201,104.788 L187.574,104.042 L188.32,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M187.201,104.788 L186.455,105.161 L186.082,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M184.964,104.788 L185.336,104.042 L186.082,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M184.964,104.788 L184.218,105.161 L183.845,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M183.099,104.788 L183.472,104.042 L183.845,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M183.099,104.788 L182.353,105.161 L181.98,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M180.862,104.788 L181.234,104.042 L181.98,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M180.862,104.788 L180.116,105.161 L179.743,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M178.624,104.788 L178.997,104.042 L179.743,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M178.624,104.788 L178.251,105.161 L177.878,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M176.76,104.788 L177.132,104.042 L177.878,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M176.76,104.788 L176.014,105.161 L175.641,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M174.522,104.788 L174.895,104.042 L175.641,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M174.522,104.788 L173.776,105.161 L173.403,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M172.658,104.788 L173.03,104.042 L173.403,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M172.658,104.788 L171.912,105.161 L171.539,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M170.42,104.788 L170.793,104.042 L171.539,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M170.42,104.788 L169.674,105.161 L169.301,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M168.183,104.788 L168.556,104.042 L169.301,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M168.183,104.788 L167.437,105.161 L167.437,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M166.318,104.788 L166.691,104.042 L167.437,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M166.318,104.788 L165.572,105.161 L165.199,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M164.081,104.788 L164.453,104.042 L165.199,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M164.081,104.788 L163.335,105.161 L162.962,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M162.216,104.788 L162.216,104.042 L162.962,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M162.216,104.788 L161.47,105.161 L161.097,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M159.979,104.788 L160.351,104.042 L161.097,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M159.979,104.788 L159.233,105.161 L158.86,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M157.741,104.788 L158.114,104.042 L158.86,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M157.741,104.788 L156.995,105.161 L156.622,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M155.877,104.788 L156.249,104.042 L156.622,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M155.877,104.788 L155.131,105.161 L154.758,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M153.639,104.788 L154.012,104.042 L154.758,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M153.639,104.788 L152.893,105.161 L152.52,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M151.402,104.788 L151.775,104.042 L152.52,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M151.402,104.788 L151.029,105.161 L150.656,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M149.537,104.788 L149.91,104.042 L150.656,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M149.537,104.788 L148.791,105.161 L148.418,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M147.3,104.788 L147.673,104.042 L148.418,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M147.3,104.788 L146.554,105.161 L146.181,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M145.435,104.788 L145.808,104.042 L146.181,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M145.435,104.788 L144.689,105.161 L144.316,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M143.198,104.788 L143.571,104.042 L144.316,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M143.198,104.788 L142.452,105.161 L142.079,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M140.96,104.788 L141.333,104.042 L142.079,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M140.96,104.788 L140.214,105.161 L140.214,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M139.096,104.788 L139.468,104.042 L140.214,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M139.096,104.788 L138.35,105.161 L137.977,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M136.858,104.788 L137.231,104.042 L137.977,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M136.858,104.788 L136.112,105.161 L135.739,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M134.621,104.788 L134.994,104.042 L135.739,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M134.621,104.788 L134.248,105.161 L133.875,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M132.756,104.788 L133.129,104.042 L133.875,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M132.756,104.788 L132.01,105.161 L131.637,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M130.519,104.788 L130.892,104.042 L131.637,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M130.519,104.788 L129.773,105.161 L129.4,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M128.654,104.788 L129.027,104.042 L129.4,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M128.654,104.788 L127.908,105.161 L127.535,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M126.417,104.788 L126.79,104.042 L127.535,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M126.417,104.788 L125.671,105.161 L125.298,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M124.179,104.788 L124.552,104.042 L125.298,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M124.179,104.788 L123.806,105.161 L123.433,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M122.315,104.788 L122.688,104.042 L123.433,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M122.315,104.788 L121.569,105.161 L121.196,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M120.077,104.788 L120.45,104.042 L121.196,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M120.077,104.788 L119.331,105.161 L118.958,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M118.213,104.788 L118.213,104.042 L118.958,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M118.213,104.788 L117.467,105.161 L117.094,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M115.975,104.788 L116.348,104.042 L117.094,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M115.975,104.788 L115.229,105.161 L114.856,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M113.738,104.788 L114.111,104.042 L114.856,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M113.738,104.788 L112.992,105.161 L112.619,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M111.873,104.788 L112.246,104.042 L112.619,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M111.873,104.788 L111.127,105.161 L110.754,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M109.636,104.788 L110.009,104.042 L110.754,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M109.636,104.788 L108.89,105.161 L108.517,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M107.398,104.788 L107.771,104.042 L108.517,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M107.398,104.788 L107.025,105.161 L106.652,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M105.534,104.788 L105.907,104.042 L106.652,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M105.534,104.788 L104.788,105.161 L104.415,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M103.296,104.788 L103.669,104.042 L104.415,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M103.296,104.788 L102.55,105.161 L102.177,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M101.432,104.788 L101.805,104.042 L102.177,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M101.432,104.788 L100.686,105.161 L100.313,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M99.1942,104.788 L99.5671,104.042 L100.313,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M99.1942,104.788 L98.4483,105.161 L98.0754,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M96.9567,104.788 L97.3296,104.042 L98.0754,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M96.9567,104.788 L96.2109,105.161 L96.2109,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M95.0922,104.788 L95.4651,104.042 L96.2109,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M95.0922,104.788 L94.3463,105.161 L93.9734,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M92.8547,104.788 L93.2276,104.042 L93.9734,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M92.8547,104.788 L92.1089,105.161 L91.736,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M90.9901,104.788 L90.9901,104.042 L91.736,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M90.9901,104.788 L90.2443,105.161 L89.8714,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M88.7527,104.788 L89.1256,104.042 L89.8714,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M88.7527,104.788 L88.0069,105.161 L87.6339,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M86.5152,104.788 L86.8881,104.042 L87.6339,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M86.5152,104.788 L85.7694,105.161 L85.3965,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M84.6507,104.788 L85.0236,104.042 L85.3965,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M84.6507,104.788 L83.9048,105.161 L83.5319,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M82.4132,104.788 L82.7861,104.042 L83.5319,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M82.4132,104.788 L81.6674,105.161 L81.2945,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M80.1757,104.788 L80.5486,104.042 L81.2945,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M80.1757,104.788 L79.8028,105.161 L79.4299,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M78.3112,104.788 L78.6841,104.042 L79.4299,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M78.3112,104.788 L77.5654,105.161 L77.1925,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M76.0737,104.788 L76.4466,104.042 L77.1925,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M76.0737,104.788 L75.3279,105.161 L74.955,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M74.2092,104.788 L74.5821,104.042 L74.955,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M74.2092,104.788 L73.4634,105.161 L73.0904,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M71.9717,104.788 L72.3446,104.042 L73.0904,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M71.9717,104.788 L71.2259,105.161 L70.853,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M69.7342,104.788 L70.1072,104.042 L70.853,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M69.7342,104.788 L68.9884,105.161 L68.9884,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M67.8697,104.788 L68.2426,104.042 L68.9884,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M67.8697,104.788 L67.1239,105.161 L66.751,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M65.6322,104.788 L66.0051,104.042 L66.751,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M65.6322,104.788 L64.8864,105.161 L64.5135,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M63.3948,104.788 L63.7677,104.042 L64.5135,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M63.3948,104.788 L63.0219,105.161 L62.6489,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M61.5302,104.788 L61.9031,104.042 L62.6489,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M61.5302,104.788 L60.7844,105.161 L60.4115,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M59.2928,104.788 L59.6657,104.042 L60.4115,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M59.2928,104.788 L58.5469,105.161 L58.174,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M57.4282,104.788 L57.8011,104.042 L58.174,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M57.4282,104.788 L56.6824,105.161 L56.3095,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M55.1907,104.788 L55.5637,104.042 L56.3095,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M55.1907,104.788 L54.4449,105.161 L54.072,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,104.788 L53.3262,104.042 L54.072,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M52.9533,104.788 L52.5804,105.161 L52.2075,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,104.788 L51.4616,104.042 L52.2075,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M51.0887,104.788 L50.3429,105.161 L49.97,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M48.8513,104.788 L49.2242,104.042 L49.97,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M48.8513,104.788 L48.1054,105.161 L47.7325,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M46.9867,104.788 L46.9867,104.042 L47.7325,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M46.9867,104.788 L46.2409,105.161 L45.868,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M44.7492,104.788 L45.1222,104.042 L45.868,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M44.7492,104.788 L44.0034,105.161 L43.6305,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M42.5118,104.788 L42.8847,104.042 L43.6305,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M42.5118,104.788 L41.766,105.161 L41.3931,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M40.6472,104.788 L41.0201,104.042 L41.3931,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M40.6472,104.788 L39.9014,105.161 L39.5285,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M38.4098,104.788 L38.7827,104.042 L39.5285,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M38.4098,104.788 L37.664,105.161 L37.291,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M36.1723,104.788 L36.5452,104.042 L37.291,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M36.1723,104.788 L35.7994,105.161 L35.4265,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M34.3078,104.788 L34.6807,104.042 L35.4265,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M34.3078,104.788 L33.5619,105.161 L33.189,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M32.0703,104.788 L32.4432,104.042 L33.189,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M32.0703,104.788 L31.3245,105.161 L30.9516,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M30.2057,104.788 L30.5787,104.042 L30.9516,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M30.2057,104.788 L29.4599,105.161 L29.087,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M27.9683,104.788 L28.3412,104.042 L29.087,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M27.9683,104.788 L27.2225,105.161 L26.8495,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M25.7308,104.788 L26.1037,104.042 L26.8495,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M25.7308,104.788 L24.985,105.161 L24.985,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M23.8663,104.788 L24.2392,104.042 L24.985,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M23.8663,104.788 L23.1204,105.161 L22.7475,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M21.6288,104.788 L22.0017,104.042 L22.7475,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M21.6288,104.788 L20.883,105.161 L20.5101,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M19.7643,104.788 L19.7643,104.042 L20.5101,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M19.7643,104.788 L19.0184,105.161 L18.6455,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M17.5268,104.788 L17.8997,104.042 L18.6455,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M17.5268,104.788 L16.781,105.161 L16.4081,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M15.2893,104.788 L15.6622,104.042 L16.4081,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M15.2893,104.788 L14.5435,105.161 L14.1706,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M13.4248,104.788 L13.7977,104.042 L14.1706,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M13.4248,104.788 L12.679,105.161 L12.306,104.788 " fill="none" stroke="#00FF00" />
+	<path d="M12.306,674.595 L12.679,674.222 L13.0519,673.849 L13.7977,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M14.5435,674.222 L14.1706,674.968 L13.7977,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M14.5435,674.222 L14.9164,673.849 L15.6622,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M16.781,674.222 L16.0351,674.968 L15.6622,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M16.781,674.222 L17.1539,673.849 L17.8997,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M19.0184,674.222 L18.2726,674.968 L17.8997,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M19.0184,674.222 L19.3913,673.849 L19.7643,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M20.883,674.222 L20.1372,674.968 L19.7643,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M20.883,674.222 L21.2559,673.849 L22.0017,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M23.1204,674.222 L22.3746,674.968 L22.0017,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M23.1204,674.222 L23.4934,673.849 L24.2392,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M24.985,674.222 L24.6121,674.968 L24.2392,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M24.985,674.222 L25.3579,673.849 L26.1037,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M27.2225,674.222 L26.4766,674.968 L26.1037,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M27.2225,674.222 L27.5954,673.849 L28.3412,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M29.4599,674.222 L28.7141,674.968 L28.3412,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M29.4599,674.222 L29.8328,673.849 L30.5787,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M31.3245,674.222 L30.5787,674.968 L30.5787,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M31.3245,674.222 L31.6974,673.849 L32.4432,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M33.5619,674.222 L32.8161,674.968 L32.4432,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M33.5619,674.222 L33.9348,673.849 L34.6807,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M35.7994,674.222 L35.0536,674.968 L34.6807,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M35.7994,674.222 L36.1723,673.849 L36.5452,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M37.664,674.222 L36.9181,674.968 L36.5452,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M37.664,674.222 L38.0369,673.849 L38.7827,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M39.9014,674.222 L39.1556,674.968 L38.7827,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M39.9014,674.222 L40.2743,673.849 L41.0201,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M41.766,674.222 L41.3931,674.968 L41.0201,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M41.766,674.222 L42.1389,673.849 L42.8847,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M44.0034,674.222 L43.2576,674.968 L42.8847,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M44.0034,674.222 L44.3763,673.849 L45.1222,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,674.222 L45.4951,674.968 L45.1222,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,674.222 L46.6138,673.849 L46.9867,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M48.1054,674.222 L47.3596,674.968 L46.9867,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M48.1054,674.222 L48.4784,673.849 L49.2242,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M50.3429,674.222 L49.5971,674.968 L49.2242,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M50.3429,674.222 L50.7158,673.849 L51.4616,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M52.5804,674.222 L51.8345,674.968 L51.4616,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M52.5804,674.222 L52.5804,673.849 L53.3262,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M54.4449,674.222 L53.6991,674.968 L53.3262,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M54.4449,674.222 L54.8178,673.849 L55.5637,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M56.6824,674.222 L55.9366,674.968 L55.5637,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M56.6824,674.222 L57.0553,673.849 L57.8011,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M58.5469,674.222 L58.174,674.968 L57.8011,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M58.5469,674.222 L58.9198,673.849 L59.6657,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M60.7844,674.222 L60.0386,674.968 L59.6657,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M60.7844,674.222 L61.1573,673.849 L61.9031,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M63.0219,674.222 L62.276,674.968 L61.9031,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M63.0219,674.222 L63.3948,673.849 L63.7677,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M64.8864,674.222 L64.1406,674.968 L63.7677,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M64.8864,674.222 L65.2593,673.849 L66.0051,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M67.1239,674.222 L66.3781,674.968 L66.0051,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M67.1239,674.222 L67.4968,673.849 L68.2426,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M68.9884,674.222 L68.6155,674.968 L68.2426,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M68.9884,674.222 L69.3613,673.849 L70.1072,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M71.2259,674.222 L70.4801,674.968 L70.1072,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M71.2259,674.222 L71.5988,673.849 L72.3446,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M73.4634,674.222 L72.7175,674.968 L72.3446,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M73.4634,674.222 L73.8363,673.849 L74.5821,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M75.3279,674.222 L74.5821,674.968 L74.5821,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M75.3279,674.222 L75.7008,673.849 L76.4466,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M77.5654,674.222 L76.8195,674.968 L76.4466,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M77.5654,674.222 L77.9383,673.849 L78.6841,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M79.8028,674.222 L79.057,674.968 L78.6841,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M79.8028,674.222 L79.8028,673.849 L80.5486,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M81.6674,674.222 L80.9216,674.968 L80.5486,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M81.6674,674.222 L82.0403,673.849 L82.7861,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M83.9048,674.222 L83.159,674.968 L82.7861,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M83.9048,674.222 L84.2778,673.849 L85.0236,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M85.7694,674.222 L85.3965,674.968 L85.0236,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M85.7694,674.222 L86.1423,673.849 L86.8881,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M88.0069,674.222 L87.261,674.968 L86.8881,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M88.0069,674.222 L88.3798,673.849 L89.1256,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,674.222 L89.4985,674.968 L89.1256,674.222 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,674.222 L90.2443,675.341 L90.9901,676.087 L90.2443,676.459 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,677.578 L89.8714,677.205 L90.2443,676.459 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,677.578 L90.2443,678.697 L89.8714,678.697 L89.1256,679.07 L88.7527,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M87.6339,678.697 L88.0069,677.951 L88.7527,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M87.6339,678.697 L86.8881,679.07 L86.5152,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M85.3965,678.697 L85.7694,677.951 L86.5152,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M85.3965,678.697 L85.0236,679.07 L84.6507,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M83.5319,678.697 L83.9048,677.951 L84.6507,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M83.5319,678.697 L82.7861,679.07 L82.4132,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M81.2945,678.697 L81.6674,677.951 L82.4132,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M81.2945,678.697 L80.5486,679.07 L80.1757,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M79.4299,678.697 L79.8028,677.951 L80.1757,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M79.4299,678.697 L78.6841,679.07 L78.3112,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M77.1925,678.697 L77.5654,677.951 L78.3112,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M77.1925,678.697 L76.4466,679.07 L76.0737,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M74.955,678.697 L75.3279,677.951 L76.0737,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M74.955,678.697 L74.5821,679.07 L74.2092,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M73.0904,678.697 L73.4634,677.951 L74.2092,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M73.0904,678.697 L72.3446,679.07 L71.9717,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M70.853,678.697 L71.2259,677.951 L71.9717,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M70.853,678.697 L70.1072,679.07 L69.7342,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M68.9884,678.697 L68.9884,677.951 L69.7342,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M68.9884,678.697 L68.2426,679.07 L67.8697,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M66.751,678.697 L67.1239,677.951 L67.8697,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M66.751,678.697 L66.0051,679.07 L65.6322,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M64.5135,678.697 L64.8864,677.951 L65.6322,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M64.5135,678.697 L63.7677,679.07 L63.3948,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M62.6489,678.697 L63.0219,677.951 L63.3948,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M62.6489,678.697 L61.9031,679.07 L61.5302,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M60.4115,678.697 L60.7844,677.951 L61.5302,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M60.4115,678.697 L59.6657,679.07 L59.2928,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M58.174,678.697 L58.5469,677.951 L59.2928,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M58.174,678.697 L57.8011,679.07 L57.4282,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,678.697 L56.6824,677.951 L57.4282,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,678.697 L55.5637,679.07 L55.1907,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M54.072,678.697 L54.4449,677.951 L55.1907,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M54.072,678.697 L53.3262,679.07 L52.9533,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M52.2075,678.697 L52.5804,677.951 L52.9533,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M52.2075,678.697 L51.4616,679.07 L51.0887,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M49.97,678.697 L50.3429,677.951 L51.0887,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M49.97,678.697 L49.2242,679.07 L48.8513,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M47.7325,678.697 L48.1054,677.951 L48.8513,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M47.7325,678.697 L46.9867,679.07 L46.9867,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M45.868,678.697 L46.2409,677.951 L46.9867,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M45.868,678.697 L45.1222,679.07 L44.7492,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M43.6305,678.697 L44.0034,677.951 L44.7492,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M43.6305,678.697 L42.8847,679.07 L42.5118,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M41.3931,678.697 L41.766,677.951 L42.5118,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M41.3931,678.697 L41.0201,679.07 L40.6472,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M39.5285,678.697 L39.9014,677.951 L40.6472,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M39.5285,678.697 L38.7827,679.07 L38.4098,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M37.291,678.697 L37.664,677.951 L38.4098,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M37.291,678.697 L36.5452,679.07 L36.1723,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M35.4265,678.697 L35.7994,677.951 L36.1723,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M35.4265,678.697 L34.6807,679.07 L34.3078,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M33.189,678.697 L33.5619,677.951 L34.3078,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M33.189,678.697 L32.4432,679.07 L32.0703,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M30.9516,678.697 L31.3245,677.951 L32.0703,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M30.9516,678.697 L30.5787,679.07 L30.2057,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M29.087,678.697 L29.4599,677.951 L30.2057,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M29.087,678.697 L28.3412,679.07 L27.9683,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M26.8495,678.697 L27.2225,677.951 L27.9683,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M26.8495,678.697 L26.1037,679.07 L25.7308,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M24.985,678.697 L24.985,677.951 L25.7308,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M24.985,678.697 L24.2392,679.07 L23.8663,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M22.7475,678.697 L23.1204,677.951 L23.8663,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M22.7475,678.697 L22.0017,679.07 L21.6288,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M20.5101,678.697 L20.883,677.951 L21.6288,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M20.5101,678.697 L19.7643,679.07 L19.7643,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M18.6455,678.697 L19.0184,677.951 L19.7643,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M18.6455,678.697 L17.8997,679.07 L17.5268,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M16.4081,678.697 L16.781,677.951 L17.5268,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M16.4081,678.697 L15.6622,679.07 L15.2893,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M14.1706,678.697 L14.5435,677.951 L15.2893,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M14.1706,678.697 L13.7977,679.07 L13.4248,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M12.306,678.697 L12.679,677.951 L13.4248,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M12.306,678.697 L12.679,678.697 " fill="none" stroke="#00FF00" />
+	<path d="M12.306,792.435 L12.679,792.062 L13.4248,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M14.1706,792.435 L13.7977,792.808 L13.4248,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M14.1706,792.435 L14.5435,792.062 L15.2893,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M16.4081,792.435 L15.6622,792.808 L15.2893,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M16.4081,792.435 L16.781,792.062 L17.5268,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M18.6455,792.435 L17.8997,792.808 L17.5268,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M18.6455,792.435 L19.0184,792.062 L19.7643,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M20.5101,792.435 L19.7643,792.808 L19.7643,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M20.5101,792.435 L20.883,792.062 L21.6288,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M22.7475,792.435 L22.0017,792.808 L21.6288,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M22.7475,792.435 L23.1204,792.062 L23.8663,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M24.985,792.435 L24.2392,792.808 L23.8663,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M24.985,792.435 L24.985,792.062 L25.7308,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M26.8495,792.435 L26.1037,792.808 L25.7308,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M26.8495,792.435 L27.2225,792.062 L27.9683,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M29.087,792.435 L28.3412,792.808 L27.9683,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M29.087,792.435 L29.4599,792.062 L30.2057,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M30.9516,792.435 L30.5787,792.808 L30.2057,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M30.9516,792.435 L31.3245,792.062 L32.0703,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M33.189,792.435 L32.4432,792.808 L32.0703,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M33.189,792.435 L33.5619,792.062 L34.3078,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M35.4265,792.435 L34.6807,792.808 L34.3078,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M35.4265,792.435 L35.7994,792.062 L36.1723,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M37.291,792.435 L36.5452,792.808 L36.1723,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M37.291,792.435 L37.664,792.062 L38.4098,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M39.5285,792.435 L38.7827,792.808 L38.4098,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M39.5285,792.435 L39.9014,792.062 L40.6472,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M41.3931,792.435 L41.0201,792.808 L40.6472,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M41.3931,792.435 L41.766,792.062 L42.5118,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M43.6305,792.435 L42.8847,792.808 L42.5118,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M43.6305,792.435 L44.0034,792.062 L44.7492,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M45.868,792.435 L45.1222,792.808 L44.7492,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M45.868,792.435 L46.2409,792.062 L46.9867,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M47.7325,792.435 L46.9867,792.808 L46.9867,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M47.7325,792.435 L48.1054,792.062 L48.8513,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M49.97,792.435 L49.2242,792.808 L48.8513,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M49.97,792.435 L50.3429,792.062 L51.0887,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M52.2075,792.435 L51.4616,792.808 L51.0887,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M52.2075,792.435 L52.5804,792.062 L52.9533,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M54.072,792.435 L53.3262,792.808 L52.9533,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M54.072,792.435 L54.4449,792.062 L55.1907,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,792.435 L55.5637,792.808 L55.1907,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M56.3095,792.435 L56.6824,792.062 L57.4282,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M58.174,792.435 L57.8011,792.808 L57.4282,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M58.174,792.435 L58.5469,792.062 L59.2928,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M60.4115,792.435 L59.6657,792.808 L59.2928,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M60.4115,792.435 L60.7844,792.062 L61.5302,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M62.6489,792.435 L61.9031,792.808 L61.5302,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M62.6489,792.435 L63.0219,792.062 L63.3948,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M64.5135,792.435 L63.7677,792.808 L63.3948,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M64.5135,792.435 L64.8864,792.062 L65.6322,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M66.751,792.435 L66.0051,792.808 L65.6322,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M66.751,792.435 L67.1239,792.062 L67.8697,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M68.9884,792.435 L68.2426,792.808 L67.8697,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M68.9884,792.435 L68.9884,792.062 L69.7342,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M70.853,792.435 L70.1072,792.808 L69.7342,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M70.853,792.435 L71.2259,792.062 L71.9717,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M73.0904,792.435 L72.3446,792.808 L71.9717,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M73.0904,792.435 L73.4634,792.062 L74.2092,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M74.955,792.435 L74.5821,792.808 L74.2092,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M74.955,792.435 L75.3279,792.062 L76.0737,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M77.1925,792.435 L76.4466,792.808 L76.0737,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M77.1925,792.435 L77.5654,792.062 L78.3112,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M79.4299,792.435 L78.6841,792.808 L78.3112,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M79.4299,792.435 L79.8028,792.062 L80.1757,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M81.2945,792.435 L80.5486,792.808 L80.1757,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M81.2945,792.435 L81.6674,792.062 L82.4132,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M83.5319,792.435 L82.7861,792.808 L82.4132,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M83.5319,792.435 L83.9048,792.062 L84.6507,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M85.3965,792.435 L85.0236,792.808 L84.6507,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M85.3965,792.435 L85.7694,792.062 L86.5152,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M87.6339,792.435 L86.8881,792.808 L86.5152,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M87.6339,792.435 L88.0069,792.062 L88.7527,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M89.8714,792.435 L89.1256,792.808 L88.7527,792.435 " fill="none" stroke="#00FF00" />
+	<path d="M89.8714,792.435 L90.2443,792.435 L90.2443,793.553 L90.9901,793.926 L90.2443,794.672 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,795.791 L89.8714,795.045 L90.2443,794.672 " fill="none" stroke="#00FF00" />
+	<path d="M90.2443,795.791 L90.2443,796.91 L89.4985,797.282 L89.1256,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M88.0069,796.91 L88.3798,796.164 L89.1256,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M88.0069,796.91 L87.261,797.282 L86.8881,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M85.7694,796.91 L86.1423,796.164 L86.8881,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M85.7694,796.91 L85.3965,797.282 L85.0236,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M83.9048,796.91 L84.2778,796.164 L85.0236,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M83.9048,796.91 L83.159,797.282 L82.7861,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M81.6674,796.91 L82.0403,796.164 L82.7861,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M81.6674,796.91 L80.9216,797.282 L80.5486,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M79.8028,796.91 L79.8028,796.164 L80.5486,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M79.8028,796.91 L79.057,797.282 L78.6841,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M77.5654,796.91 L77.9383,796.164 L78.6841,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M77.5654,796.91 L76.8195,797.282 L76.4466,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M75.3279,796.91 L75.7008,796.164 L76.4466,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M75.3279,796.91 L74.5821,797.282 L74.5821,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M73.4634,796.91 L73.8363,796.164 L74.5821,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M73.4634,796.91 L72.7175,797.282 L72.3446,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M71.2259,796.91 L71.5988,796.164 L72.3446,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M71.2259,796.91 L70.4801,797.282 L70.1072,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M68.9884,796.91 L69.3613,796.164 L70.1072,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M68.9884,796.91 L68.6155,797.282 L68.2426,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M67.1239,796.91 L67.4968,796.164 L68.2426,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M67.1239,796.91 L66.3781,797.282 L66.0051,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M64.8864,796.91 L65.2593,796.164 L66.0051,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M64.8864,796.91 L64.1406,797.282 L63.7677,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M63.0219,796.91 L63.3948,796.164 L63.7677,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M63.0219,796.91 L62.276,797.282 L61.9031,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M60.7844,796.91 L61.1573,796.164 L61.9031,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M60.7844,796.91 L60.0386,797.282 L59.6657,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M58.5469,796.91 L58.9198,796.164 L59.6657,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M58.5469,796.91 L58.174,797.282 L57.8011,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M56.6824,796.91 L57.0553,796.164 L57.8011,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M56.6824,796.91 L55.9366,797.282 L55.5637,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M54.4449,796.91 L54.8178,796.164 L55.5637,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M54.4449,796.91 L53.6991,797.282 L53.3262,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M52.5804,796.91 L52.5804,796.164 L53.3262,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M52.5804,796.91 L51.8345,797.282 L51.4616,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M50.3429,796.91 L50.7158,796.164 L51.4616,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M50.3429,796.91 L49.5971,797.282 L49.2242,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M48.1054,796.91 L48.4784,796.164 L49.2242,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M48.1054,796.91 L47.3596,797.282 L46.9867,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,796.91 L46.6138,796.164 L46.9867,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M46.2409,796.91 L45.4951,797.282 L45.1222,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M44.0034,796.91 L44.3763,796.164 L45.1222,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M44.0034,796.91 L43.2576,797.282 L42.8847,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M41.766,796.91 L42.1389,796.164 L42.8847,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M41.766,796.91 L41.3931,797.282 L41.0201,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M39.9014,796.91 L40.2743,796.164 L41.0201,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M39.9014,796.91 L39.1556,797.282 L38.7827,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M37.664,796.91 L38.0369,796.164 L38.7827,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M37.664,796.91 L36.9181,797.282 L36.5452,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M35.7994,796.91 L36.1723,796.164 L36.5452,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M35.7994,796.91 L35.0536,797.282 L34.6807,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M33.5619,796.91 L33.9348,796.164 L34.6807,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M33.5619,796.91 L32.8161,797.282 L32.4432,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M31.3245,796.91 L31.6974,796.164 L32.4432,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M31.3245,796.91 L30.5787,797.282 L30.5787,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M29.4599,796.91 L29.8328,796.164 L30.5787,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M29.4599,796.91 L28.7141,797.282 L28.3412,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M27.2225,796.91 L27.5954,796.164 L28.3412,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M27.2225,796.91 L26.4766,797.282 L26.1037,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M24.985,796.91 L25.3579,796.164 L26.1037,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M24.985,796.91 L24.6121,797.282 L24.2392,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M23.1204,796.91 L23.4934,796.164 L24.2392,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M23.1204,796.91 L22.3746,797.282 L22.0017,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M20.883,796.91 L21.2559,796.164 L22.0017,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M20.883,796.91 L20.1372,797.282 L19.7643,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M19.0184,796.91 L19.3913,796.164 L19.7643,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M19.0184,796.91 L18.2726,797.282 L17.8997,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M16.781,796.91 L17.1539,796.164 L17.8997,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M16.781,796.91 L16.0351,797.282 L15.6622,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M14.5435,796.91 L14.9164,796.164 L15.6622,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M14.5435,796.91 L14.1706,797.282 L13.7977,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M12.679,796.91 L13.0519,796.164 L13.7977,796.91 " fill="none" stroke="#00FF00" />
+	<path d="M12.679,796.91 L12.306,797.282 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,86.1423 L355.011,84.6507 M351.282,90.6172 L351.282,84.6507 " fill="none" stroke="#808080" />
+	<path d="M355.384,86.8881 L355.757,86.8881 M350.909,86.8881 L350.536,86.8881 M363.961,86.8881 L355.011,86.8881 " fill="none" stroke="#808080" />
+	<path d="M362.469,92.1089 L362.469,92.1089 L362.469,92.4818 L362.096,92.8547 L361.723,93.2276 L360.977,93.2276 L360.604,92.8547 L360.604,92.4818 L360.231,92.1089 L360.231,91.736 L360.604,91.3631 L360.977,90.6172 L362.842,88.0069 L360.231,88.0069 " fill="none" stroke="#FAFAFA" />
+	<path d="M358.367,93.2276 L358.74,92.8547 L359.113,92.1089 L359.113,90.9901 L359.113,90.2443 L359.113,89.1256 L358.74,88.3798 L358.367,88.0069 L357.994,88.0069 L357.248,88.3798 L356.875,89.1256 L356.875,90.2443 L356.875,90.9901 L356.875,92.1089 L357.248,92.8547 L357.994,93.2276 L358.367,93.2276 Z" fill="none" stroke="#FAFAFA" />
+	<path d="M355.011,86.8881 L351.282,86.8881 " fill="none" stroke="#808080" />
+	<path d="M356.875,85.3965 L353.519,88.7527 " fill="none" stroke="#FAFAFA" />
+	<path d="M355.011,84.6507 L355.011,89.4985 M357.621,86.8881 L352.773,86.8881 " fill="none" stroke="#808080" />
+	<path d="M349.417,88.7527 L353.146,85.3965 " fill="none" stroke="#FAFAFA" />
+	<path d="M351.282,89.4985 L351.282,84.6507 M348.298,86.8881 L353.892,86.8881 " fill="none" stroke="#808080" />
+	<path d="M351.282,90.6172 L351.282,84.6507 " fill="none" stroke="#808080" />
+	<path d="M350.909,86.8881 L12.306,86.8881 " fill="none" stroke="#808080" />
+	<path d="M349.417,88.7527 L353.146,85.3965 " fill="none" stroke="#FAFAFA" />
+	<path d="M351.282,89.4985 L351.282,84.6507 M348.298,86.8881 L353.892,86.8881 " fill="none" stroke="#808080" />
+	<path d="M160.724,92.1089 L160.351,92.1089 L159.979,93.2276 L159.979,88.0069 " fill="none" stroke="#FAFAFA" />
+	<path d="M155.504,91.736 L155.877,90.9901 L156.249,90.2443 L156.622,89.8714 L156.622,89.8714 L156.995,90.2443 L157.368,90.9901 L157.741,91.736 L157.368,92.1089 L156.995,92.8547 L156.622,93.2276 L156.622,93.2276 L156.249,92.8547 L155.877,92.1089 L155.504,91.736 L155.504,90.2443 L155.877,89.1256 L156.249,88.3798 L156.622,88.0069 L156.622,88.0069 L157.368,88.3798 L157.368,88.7527 " fill="none" stroke="#FAFAFA" />
+	<path d="M153.266,93.2276 L153.639,92.8547 L154.012,92.1089 L154.385,90.9901 L154.385,90.2443 L154.012,89.1256 L153.639,88.3798 L153.266,88.0069 L152.893,88.0069 L152.147,88.3798 L151.775,89.1256 L151.775,90.2443 L151.775,90.9901 L151.775,92.1089 L152.147,92.8547 L152.893,93.2276 L153.266,93.2276 Z" fill="none" stroke="#FAFAFA" />
+	<path d="M150.283,88.0069 L148.418,93.2276 L151.029,93.2276 " fill="none" stroke="#FAFAFA" />
+	<path d="M355.011,86.1423 L355.011,74.2092 M352.773,84.2778 L352.773,74.2092 " fill="none" stroke="#808080" />
+	<path d="M355.384,76.4466 L355.757,76.4466 M352.4,76.4466 L352.773,76.4466 M368.435,76.4466 L355.011,76.4466 " fill="none" stroke="#808080" />
+	<path d="M367.317,81.6674 L366.944,82.0403 L366.198,82.7861 L366.198,77.5654 " fill="none" stroke="#FAFAFA" />
+	<path d="M364.333,81.6674 L364.333,82.4132 L363.961,82.4132 L363.588,82.7861 L362.842,82.7861 L362.469,82.4132 L362.096,81.6674 L362.096,81.2945 L362.469,80.5486 L362.842,80.1757 L364.706,77.5654 L362.096,77.5654 " fill="none" stroke="#FAFAFA" />
+	<path d="M360.604,78.3112 L360.604,77.9383 L360.604,77.5654 L360.231,77.9383 L360.604,78.3112 Z" fill="none" stroke="#FAFAFA" />
+	<path d="M357.248,82.7861 L359.113,82.7861 L359.113,80.5486 L358.367,80.9216 L357.994,80.9216 L357.248,80.5486 L356.875,80.1757 L356.875,79.8028 L356.875,79.4299 L356.875,78.3112 L357.248,77.9383 L357.994,77.5654 L358.367,77.5654 L359.113,77.9383 L359.113,78.3112 L359.113,78.6841 " fill="none" stroke="#FAFAFA" />
+	<path d="M355.011,76.4466 L352.773,76.4466 " fill="none" stroke="#808080" />
+	<path d="M356.875,74.5821 L353.519,78.3112 " fill="none" stroke="#FAFAFA" />
+	<path d="M355.011,74.2092 L355.011,79.057 M357.621,76.4466 L352.773,76.4466 " fill="none" stroke="#808080" />
+	<path d="M350.909,78.3112 L354.265,74.5821 " fill="none" stroke="#FAFAFA" />
+	<path d="M352.773,79.057 L352.773,74.2092 M350.163,76.4466 L355.011,76.4466 " fill="none" stroke="#808080" />
+	<path d="M352.773,84.2778 L352.773,74.2092 M323.313,72.7175 L323.313,74.2092 " fill="none" stroke="#808080" />
+	<path d="M352.4,76.4466 L323.313,76.4466 " fill="none" stroke="#808080" />
+	<path d="M350.909,78.3112 L354.265,74.5821 " fill="none" stroke="#FAFAFA" />
+	<path d="M352.773,79.057 L352.773,74.2092 M350.163,76.4466 L355.011,76.4466 " fill="none" stroke="#808080" />
+	<path d="M325.178,74.5821 L321.449,78.3112 " fill="none" stroke="#FAFAFA" />
+	<path d="M323.313,74.2092 L323.313,79.057 M325.924,76.4466 L320.703,76.4466 " fill="none" stroke="#808080" />
+	<path d="M342.332,81.6674 L341.959,82.0403 L341.586,82.7861 L341.586,77.5654 " fill="none" stroke="#FAFAFA" />
+	<path d="M337.484,82.7861 L339.348,79.4299 L337.111,79.4299 " fill="none" stroke="#FAFAFA" />
+	<path d="M337.484,82.7861 L337.484,77.5654 " fill="none" stroke="#FAFAFA" />
+	<path d="M335.619,82.7861 L333.755,82.7861 L334.874,80.5486 L334.128,80.5486 L333.755,80.5486 L333.755,80.1757 L333.382,79.8028 L333.382,79.4299 L333.755,78.3112 L334.128,77.9383 L334.501,77.5654 L335.246,77.5654 L335.619,77.9383 L335.992,78.3112 L335.992,78.6841 " fill="none" stroke="#FAFAFA" />
+	<path d="M323.313,72.7175 L323.313,74.2092 M248.358,72.7175 L248.358,74.2092 " fill="none" stroke="#808080" />
+	<path d="M322.94,76.4466 L248.358,76.4466 " fill="none" stroke="#808080" />
+	<path d="M321.449,78.3112 L325.178,74.5821 " fill="none" stroke="#FAFAFA" />
+	<path d="M323.313,79.057 L323.313,74.2092 M320.703,76.4466 L325.924,76.4466 " fill="none" stroke="#808080" />
+	<path d="M249.85,74.5821 L246.494,78.3112 " fill="none" stroke="#FAFAFA" />
+	<path d="M248.358,74.2092 L248.358,79.057 M250.596,76.4466 L245.748,76.4466 " fill="none" stroke="#808080" />
+	<path d="M290.124,82.7861 L287.887,82.7861 L289.006,80.5486 L288.633,80.5486 L288.26,80.5486 L287.887,80.1757 L287.887,79.8028 L287.887,79.4299 L287.887,78.3112 L288.26,77.9383 L289.006,77.5654 L289.378,77.5654 L290.124,77.9383 L290.124,78.3112 L290.497,78.6841 " fill="none" stroke="#FAFAFA" />
+	<path d="M284.531,82.0403 L284.904,82.4132 L285.276,82.7861 L285.649,82.7861 L286.395,82.4132 L286.768,81.6674 L286.768,80.5486 L286.768,79.4299 L286.768,78.3112 L286.395,77.9383 L285.649,77.5654 L284.904,77.9383 L284.531,78.3112 L284.531,79.4299 L284.531,80.1757 L284.904,80.5486 L285.649,80.5486 L286.395,80.5486 L286.768,80.1757 L286.768,79.4299 " fill="none" stroke="#FAFAFA" />
+	<path d="M281.92,82.7861 L283.412,79.4299 L281.174,79.4299 " fill="none" stroke="#FAFAFA" />
+	<path d="M281.92,82.7861 L281.92,77.5654 " fill="none" stroke="#FAFAFA" />
+	<path d="M248.358,72.7175 L248.358,74.2092 M227.475,72.7175 L227.475,74.2092 " fill="none" stroke="#808080" />
+	<path d="M247.985,76.4466 L227.475,76.4466 " fill="none" stroke="#808080" />
+	<path d="M246.494,78.3112 L249.85,74.5821 " fill="none" stroke="#FAFAFA" />
+	<path d="M248.358,79.057 L248.358,74.2092 M245.748,76.4466 L250.596,76.4466 " fill="none" stroke="#808080" />
+	<path d="M228.967,74.5821 L225.611,78.3112 " fill="none" stroke="#FAFAFA" />
+	<path d="M227.475,74.2092 L227.475,79.057 M229.713,76.4466 L224.865,76.4466 " fill="none" stroke="#808080" />
+	<path d="M244.629,81.6674 L244.256,82.0403 L243.883,82.7861 L243.883,77.5654 " fill="none" stroke="#FAFAFA" />
+	<path d="M240.527,82.7861 L241.273,82.4132 L241.646,81.6674 L241.646,80.5486 L241.646,80.1757 L241.646,78.6841 L241.273,77.9383 L240.527,77.5654 L240.154,77.5654 L239.781,77.9383 L239.408,78.6841 L239.036,80.1757 L239.036,80.5486 L239.408,81.6674 L239.781,82.4132 L240.154,82.7861 L240.527,82.7861 Z" fill="none" stroke="#FAFAFA" />
+	<path d="M237.917,81.6674 L237.544,82.0403 L236.798,82.7861 L236.798,77.5654 " fill="none" stroke="#FAFAFA" />
+	<path d="M234.561,78.3112 L234.561,77.9383 L234.561,77.5654 L234.188,77.9383 L234.561,78.3112 Z" fill="none" stroke="#FAFAFA" />
+	<path d="M231.204,82.7861 L233.069,82.7861 L233.069,80.5486 L232.323,80.9216 L231.95,80.9216 L231.204,80.5486 L230.832,80.1757 L230.832,79.8028 L230.832,79.4299 L230.832,78.3112 L231.204,77.9383 L231.95,77.5654 L232.323,77.5654 L233.069,77.9383 L233.069,78.3112 L233.069,78.6841 " fill="none" stroke="#FAFAFA" />
+	<path d="M227.475,72.7175 L227.475,74.2092 M113.738,72.7175 L113.738,74.2092 " fill="none" stroke="#808080" />
+	<path d="M227.102,76.4466 L114.111,76.4466 " fill="none" stroke="#808080" />
+	<path d="M225.611,78.3112 L228.967,74.5821 " fill="none" stroke="#FAFAFA" />
+	<path d="M227.475,79.057 L227.475,74.2092 M224.865,76.4466 L229.713,76.4466 " fill="none" stroke="#808080" />
+	<path d="M115.602,74.5821 L112.246,78.3112 " fill="none" stroke="#FAFAFA" />
+	<path d="M113.738,74.2092 L113.738,79.057 M116.348,76.4466 L111.5,76.4466 " fill="none" stroke="#808080" />
+	<path d="M173.03,82.7861 L174.895,82.7861 L174.895,80.5486 L174.149,80.9216 L173.776,80.9216 L173.03,80.5486 L173.03,80.1757 L173.03,79.8028 L173.03,79.4299 L173.03,78.3112 L173.03,77.9383 L173.776,77.5654 L174.149,77.5654 L174.895,77.9383 L174.895,78.3112 L175.268,78.6841 " fill="none" stroke="#FAFAFA" />
+	<path d="M169.674,82.7861 L171.539,82.7861 L171.539,80.5486 L170.793,80.9216 L170.42,80.9216 L169.674,80.5486 L169.301,80.1757 L169.301,79.8028 L169.301,79.4299 L169.301,78.3112 L169.674,77.9383 L170.42,77.5654 L170.793,77.5654 L171.539,77.9383 L171.539,78.3112 L171.912,78.6841 " fill="none" stroke="#FAFAFA" />
+	<path d="M167.437,82.7861 L167.437,82.4132 L167.81,81.6674 L168.183,80.5486 L168.183,80.1757 L167.81,78.6841 L167.437,77.9383 L167.437,77.5654 L167.064,77.5654 L166.691,77.9383 L166.318,78.6841 L165.945,80.1757 L165.945,80.5486 L166.318,81.6674 L166.691,82.4132 L167.064,82.7861 L167.437,82.7861 Z" fill="none" stroke="#FAFAFA" />
+	<path d="M113.738,72.7175 L113.738,74.2092 M92.4818,72.7175 L92.4818,74.2092 " fill="none" stroke="#808080" />
+	<path d="M113.365,76.4466 L92.8547,76.4466 " fill="none" stroke="#808080" />
+	<path d="M112.246,78.3112 L115.602,74.5821 " fill="none" stroke="#FAFAFA" />
+	<path d="M113.738,79.057 L113.738,74.2092 M111.5,76.4466 L116.348,76.4466 " fill="none" stroke="#808080" />
+	<path d="M94.3463,74.5821 L90.9901,78.3112 " fill="none" stroke="#FAFAFA" />
+	<path d="M92.4818,74.2092 L92.4818,79.057 M95.4651,76.4466 L90.2443,76.4466 " fill="none" stroke="#808080" />
+	<path d="M110.381,81.6674 L110.009,82.0403 L109.263,82.7861 L109.263,77.5654 " fill="none" stroke="#FAFAFA" />
+	<path d="M106.279,82.7861 L107.025,82.4132 L107.398,81.6674 L107.398,80.5486 L107.398,80.1757 L107.398,78.6841 L107.025,77.9383 L106.279,77.5654 L105.907,77.5654 L105.534,77.9383 L105.161,78.6841 L104.788,80.1757 L104.788,80.5486 L105.161,81.6674 L105.534,82.4132 L105.907,82.7861 L106.279,82.7861 Z" fill="none" stroke="#FAFAFA" />
+	<path d="M103.669,81.6674 L103.296,82.4132 L102.923,82.7861 L102.177,82.7861 L101.805,82.4132 L101.805,81.6674 L101.805,81.2945 L101.805,80.5486 L102.177,80.1757 L103.669,77.5654 L101.805,77.5654 " fill="none" stroke="#FAFAFA" />
+	<path d="M100.313,78.3112 L100.313,77.9383 L100.313,77.5654 L99.94,77.9383 L100.313,78.3112 Z" fill="none" stroke="#FAFAFA" />
+	<path d="M96.5838,82.7861 L98.4483,82.7861 L98.4483,80.5486 L97.7025,80.9216 L97.3296,80.9216 L96.5838,80.5486 L96.2109,80.1757 L96.2109,79.8028 L96.2109,79.4299 L96.2109,78.3112 L96.5838,77.9383 L97.3296,77.5654 L97.7025,77.5654 L98.4483,77.9383 L98.4483,78.3112 L98.8213,78.6841 " fill="none" stroke="#FAFAFA" />
+	<path d="M92.4818,72.7175 L92.4818,74.2092 M81.6674,72.7175 L81.6674,74.2092 " fill="none" stroke="#808080" />
+	<path d="M92.8547,76.4466 L93.2276,76.4466 M81.6674,76.4466 L81.2945,76.4466 " fill="none" stroke="#808080" />
+	<path d="M94.3463,74.5821 L90.9901,78.3112 " fill="none" stroke="#FAFAFA" />
+	<path d="M92.4818,74.2092 L92.4818,79.057 M95.4651,76.4466 L90.2443,76.4466 " fill="none" stroke="#808080" />
+	<path d="M79.8028,78.3112 L83.5319,74.5821 " fill="none" stroke="#FAFAFA" />
+	<path d="M81.6674,79.057 L81.6674,74.2092 M79.4299,76.4466 L84.6507,76.4466 " fill="none" stroke="#808080" />
+	<path d="M90.9901,82.7861 L92.4818,82.7861 L92.4818,80.5486 L91.736,80.9216 L91.3631,80.9216 L90.9901,80.5486 L90.6172,80.1757 L90.6172,79.8028 L90.6172,79.4299 L90.6172,78.3112 L90.9901,77.9383 L91.3631,77.5654 L91.736,77.5654 L92.4818,77.9383 L92.4818,78.3112 L92.8547,78.6841 " fill="none" stroke="#FAFAFA" />
+	<path d="M89.1256,81.6674 L89.1256,82.4132 L88.7527,82.4132 L88.3798,82.7861 L87.6339,82.7861 L87.261,82.4132 L86.8881,81.6674 L86.8881,81.2945 L87.261,80.5486 L87.6339,80.1757 L89.4985,77.5654 L86.8881,77.5654 " fill="none" stroke="#FAFAFA" />
+	<path d="M85.3965,78.3112 L85.7694,77.9383 L85.3965,77.5654 L85.3965,77.9383 L85.3965,78.3112 Z" fill="none" stroke="#FAFAFA" />
+	<path d="M82.0403,82.7861 L83.9048,82.7861 L84.2778,80.5486 L83.9048,80.5486 L83.5319,80.9216 L82.7861,80.9216 L82.4132,80.5486 L82.0403,80.1757 L81.6674,79.8028 L81.6674,79.4299 L82.0403,78.3112 L82.4132,77.9383 L82.7861,77.5654 L83.5319,77.5654 L83.9048,77.9383 L84.2778,78.3112 L84.2778,78.6841 " fill="none" stroke="#FAFAFA" />
+	<path d="M81.6674,72.7175 L81.6674,74.2092 M54.4449,72.7175 L54.4449,74.2092 " fill="none" stroke="#808080" />
+	<path d="M81.6674,76.4466 L54.8178,76.4466 " fill="none" stroke="#808080" />
+	<path d="M79.8028,78.3112 L83.5319,74.5821 " fill="none" stroke="#FAFAFA" />
+	<path d="M81.6674,79.057 L81.6674,74.2092 M79.4299,76.4466 L84.6507,76.4466 " fill="none" stroke="#808080" />
+	<path d="M56.3095,74.5821 L52.5804,78.3112 " fill="none" stroke="#FAFAFA" />
+	<path d="M54.4449,74.2092 L54.4449,79.057 M57.0553,76.4466 L52.2075,76.4466 " fill="none" stroke="#808080" />
+	<path d="M74.955,81.6674 L74.5821,82.0403 L74.5821,82.7861 L74.5821,77.5654 " fill="none" stroke="#FAFAFA" />
+	<path d="M71.9717,82.7861 L70.1072,82.7861 L70.853,80.5486 L70.4801,80.5486 L70.1072,80.5486 L70.1072,80.1757 L69.7342,79.8028 L69.7342,79.4299 L70.1072,78.3112 L70.1072,77.9383 L70.853,77.5654 L71.2259,77.5654 L71.9717,77.9383 L71.9717,78.3112 L72.3446,78.6841 " fill="none" stroke="#FAFAFA" />
+	<path d="M68.9884,81.6674 L68.6155,82.4132 L68.2426,82.7861 L67.4968,82.7861 L67.1239,82.4132 L66.751,82.4132 L66.751,81.6674 L66.751,81.2945 L66.751,80.5486 L67.1239,80.1757 L68.9884,77.5654 L66.3781,77.5654 " fill="none" stroke="#FAFAFA" />
+	<path d="M64.8864,78.3112 L65.2593,77.9383 L64.8864,77.5654 L64.8864,77.9383 L64.8864,78.3112 Z" fill="none" stroke="#FAFAFA" />
+	<path d="M61.5302,82.7861 L63.3948,82.7861 L63.3948,80.5486 L63.3948,80.5486 L63.0219,80.9216 L62.276,80.9216 L61.9031,80.5486 L61.5302,80.1757 L61.1573,79.8028 L61.1573,79.4299 L61.5302,78.3112 L61.9031,77.9383 L62.276,77.5654 L63.0219,77.5654 L63.3948,77.9383 L63.3948,78.3112 L63.3948,78.6841 " fill="none" stroke="#FAFAFA" />
+	<path d="M54.4449,72.7175 L54.4449,74.2092 " fill="none" stroke="#808080" />
+	<path d="M54.4449,76.4466 L12.306,76.4466 " fill="none" stroke="#808080" />
+	<path d="M52.5804,78.3112 L56.3095,74.5821 " fill="none" stroke="#FAFAFA" />
+	<path d="M54.4449,79.057 L54.4449,74.2092 M52.2075,76.4466 L57.0553,76.4466 " fill="none" stroke="#808080" />
+	<path d="M35.4265,81.6674 L35.4265,82.4132 L35.0536,82.4132 L34.6807,82.7861 L33.9348,82.7861 L33.5619,82.4132 L33.189,81.6674 L33.189,81.2945 L33.5619,80.5486 L33.9348,80.1757 L35.7994,77.5654 L33.189,77.5654 " fill="none" stroke="#FAFAFA" />
+	<path d="M31.6974,82.7861 L29.8328,82.7861 L30.5787,80.5486 L30.5787,80.5486 L30.2057,80.5486 L29.8328,80.1757 L29.8328,79.8028 L29.8328,79.4299 L29.8328,78.3112 L30.2057,77.9383 L30.5787,77.5654 L30.9516,77.5654 L31.6974,77.9383 L31.6974,78.3112 L32.0703,78.6841 " fill="none" stroke="#FAFAFA" />
+	<path d="M27.5954,82.7861 L27.9683,82.4132 L28.3412,81.6674 L28.7141,80.5486 L28.7141,80.1757 L28.3412,78.6841 L27.9683,77.9383 L27.5954,77.5654 L27.2225,77.5654 L26.8495,77.9383 L26.4766,78.6841 L26.1037,80.1757 L26.1037,80.5486 L26.4766,81.6674 L26.8495,82.4132 L27.2225,82.7861 L27.5954,82.7861 Z" fill="none" stroke="#FAFAFA" />
+	<path d="M355.011,86.1423 L355.011,63.7677 " fill="none" stroke="#808080" />
+	<path d="M355.011,66.3781 L12.306,66.3781 " fill="none" stroke="#808080" />
+	<path d="M353.519,68.2426 L356.875,64.5135 " fill="none" stroke="#FAFAFA" />
+	<path d="M355.011,68.6155 L355.011,63.7677 M352.773,66.3781 L357.621,66.3781 " fill="none" stroke="#808080" />
+	<path d="M160.724,71.5988 L160.351,71.5988 L159.979,72.7175 L159.979,67.4968 " fill="none" stroke="#FAFAFA" />
+	<path d="M155.504,70.853 L155.877,70.1072 L156.249,69.3613 L156.622,68.9884 L156.622,68.9884 L156.995,69.3613 L157.368,70.1072 L157.741,70.853 L157.368,71.5988 L156.995,72.3446 L156.622,72.7175 L156.622,72.7175 L156.249,72.3446 L155.877,71.5988 L155.504,70.853 L155.504,69.3613 L155.877,68.2426 L156.249,67.4968 L156.622,67.4968 L156.622,67.4968 L157.368,67.4968 L157.368,68.2426 " fill="none" stroke="#FAFAFA" />
+	<path d="M152.52,72.7175 L154.385,68.9884 L151.402,68.9884 " fill="none" stroke="#FAFAFA" />
+	<path d="M152.52,72.7175 L152.52,67.4968 " fill="none" stroke="#FAFAFA" />
+	<path d="M150.283,67.4968 L148.418,72.7175 L151.029,72.7175 " fill="none" stroke="#FAFAFA" />
+	<path d="M350.163,587.334 L350.163,586.588 L349.417,585.842 L350.163,585.469 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,584.351 L350.536,584.724 L350.163,585.469 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,584.351 L349.417,583.978 L350.163,583.605 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,582.486 L350.536,582.859 L350.163,583.605 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,582.486 L349.417,581.74 L350.163,581.367 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,580.249 L350.536,580.622 L350.163,581.367 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,580.249 L349.417,579.503 L350.163,579.13 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,578.384 L350.536,578.384 L350.163,579.13 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,578.384 L349.417,577.638 L350.163,577.265 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,576.147 L350.536,576.52 L350.163,577.265 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,576.147 L349.417,575.401 L350.163,575.028 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,573.909 L350.536,574.282 L350.163,575.028 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,573.909 L349.417,573.163 L350.163,572.79 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,572.045 L350.536,572.417 L350.163,572.79 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,572.045 L350.163,570.926 L350.536,570.926 L350.909,570.18 L351.655,570.926 " fill="none" stroke="#00FF00" />
+	<path d="M352.773,570.926 L352.027,571.299 L351.655,570.926 " fill="none" stroke="#00FF00" />
+	<path d="M352.773,570.926 L353.146,570.18 L353.892,570.926 " fill="none" stroke="#00FF00" />
+	<path d="M354.638,570.926 L353.892,571.299 L353.892,570.926 " fill="none" stroke="#00FF00" />
+	<path d="M354.638,570.926 L355.011,570.926 L355.011,572.045 L355.757,572.417 L355.011,572.79 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,573.909 L354.638,573.163 L355.011,572.79 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,573.909 L355.757,574.282 L355.011,575.028 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,576.147 L354.638,575.401 L355.011,575.028 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,576.147 L355.757,576.52 L355.011,577.265 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,578.384 L354.638,577.638 L355.011,577.265 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,578.384 L355.757,578.384 L355.011,579.13 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,580.249 L354.638,579.503 L355.011,579.13 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,580.249 L355.757,580.622 L355.011,581.367 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,582.486 L354.638,581.74 L355.011,581.367 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,582.486 L355.757,582.859 L355.011,583.605 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,584.351 L354.638,583.978 L355.011,583.605 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,584.351 L355.757,584.724 L355.011,585.469 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,586.588 L354.638,585.842 L355.011,585.469 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,586.588 L355.011,587.334 L354.638,587.334 L353.892,588.08 L353.892,587.334 " fill="none" stroke="#00FF00" />
+	<path d="M352.773,587.334 L353.146,586.961 L353.892,587.334 " fill="none" stroke="#00FF00" />
+	<path d="M352.773,587.334 L352.027,588.08 L351.655,587.334 " fill="none" stroke="#00FF00" />
+	<path d="M350.536,587.334 L350.909,586.961 L351.655,587.334 " fill="none" stroke="#00FF00" />
+	<path d="M350.536,587.334 L350.163,587.334 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,210.694 L350.163,209.949 L349.417,209.576 L350.163,208.83 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,207.711 L350.536,208.457 L350.163,208.83 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,207.711 L349.417,207.338 L350.163,206.592 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,205.474 L350.536,206.219 L350.163,206.592 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,205.474 L349.417,205.101 L350.163,204.728 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,203.609 L350.536,204.355 L350.163,204.728 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,203.609 L349.417,203.236 L350.163,202.49 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,201.372 L350.536,202.117 L350.163,202.49 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,201.372 L349.417,200.999 L350.163,200.253 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,199.134 L350.536,199.88 L350.163,200.253 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,199.134 L349.417,198.761 L350.163,198.388 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,197.27 L350.536,198.015 L350.163,198.388 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,197.27 L349.417,196.897 L350.163,196.151 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,195.032 L350.536,195.778 L350.163,196.151 " fill="none" stroke="#00FF00" />
+	<path d="M350.163,195.032 L350.163,193.913 L350.536,193.913 L350.909,193.541 L351.655,193.913 " fill="none" stroke="#00FF00" />
+	<path d="M352.773,193.913 L352.027,194.659 L351.655,193.913 " fill="none" stroke="#00FF00" />
+	<path d="M352.773,193.913 L353.146,193.541 L353.892,193.913 " fill="none" stroke="#00FF00" />
+	<path d="M354.638,193.913 L353.892,194.659 L353.892,193.913 " fill="none" stroke="#00FF00" />
+	<path d="M354.638,193.913 L355.011,193.913 L355.011,195.032 L355.757,195.778 L355.011,196.151 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,197.27 L354.638,196.897 L355.011,196.151 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,197.27 L355.757,198.015 L355.011,198.388 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,199.134 L354.638,198.761 L355.011,198.388 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,199.134 L355.757,199.88 L355.011,200.253 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,201.372 L354.638,200.999 L355.011,200.253 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,201.372 L355.757,202.117 L355.011,202.49 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,203.609 L354.638,203.236 L355.011,202.49 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,203.609 L355.757,204.355 L355.011,204.728 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,205.474 L354.638,205.101 L355.011,204.728 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,205.474 L355.757,206.219 L355.011,206.592 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,207.711 L354.638,207.338 L355.011,206.592 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,207.711 L355.757,208.457 L355.011,208.83 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,209.949 L354.638,209.576 L355.011,208.83 " fill="none" stroke="#00FF00" />
+	<path d="M355.011,209.949 L355.011,210.694 L354.638,210.694 L353.892,211.067 L353.892,210.694 " fill="none" stroke="#00FF00" />
+	<path d="M352.773,210.694 L353.146,210.321 L353.892,210.694 " fill="none" stroke="#00FF00" />
+	<path d="M352.773,210.694 L352.027,211.067 L351.655,210.694 " fill="none" stroke="#00FF00" />
+	<path d="M350.536,210.694 L350.909,210.321 L351.655,210.694 " fill="none" stroke="#00FF00" />
+	<path d="M350.536,210.694 L350.163,210.694 " fill="none" stroke="#00FF00" />
+	<path d="M202.49,590.317 L203.609,590.317 M207.338,590.317 L209.949,590.317 M213.678,590.317 L216.288,590.317 M219.644,590.317 L222.255,590.317 M225.984,590.317 L228.221,590.317 M232.323,590.317 L234.561,590.317 M238.663,590.317 L240.9,590.317 M244.256,590.317 L246.867,590.317 " fill="none" stroke="#00BFFF" />
+	<path d="M250.596,590.317 L252.087,590.317 L252.087,589.571 " fill="none" stroke="#00BFFF" />
+	<path d="M252.087,585.469 L252.087,583.232 M252.087,579.13 L252.087,576.892 M252.087,573.163 L252.087,570.926 M252.087,566.824 L252.087,564.586 M252.087,560.857 L252.087,558.247 M252.087,554.891 L252.087,551.907 M252.087,548.551 L252.087,545.941 " fill="none" stroke="#00BFFF" />
+	<path d="M252.087,542.212 L252.087,541.093 L250.596,541.093 " fill="none" stroke="#00BFFF" />
+	<path d="M246.867,541.093 L244.256,541.093 M240.9,541.093 L238.663,541.093 M234.561,541.093 L232.323,541.093 M228.221,541.093 L225.984,541.093 M222.255,541.093 L219.644,541.093 M216.288,541.093 L213.678,541.093 M209.949,541.093 L207.338,541.093 " fill="none" stroke="#00BFFF" />
+	<path d="M203.609,541.093 L202.49,541.093 L202.49,542.212 " fill="none" stroke="#00BFFF" />
+	<path d="M202.49,545.941 L202.49,548.551 M202.49,551.907 L202.49,554.891 M202.49,558.247 L202.49,560.857 M202.49,564.586 L202.49,566.824 M202.49,570.926 L202.49,573.163 M202.49,576.892 L202.49,579.13 M202.49,583.232 L202.49,585.469 " fill="none" stroke="#00BFFF" />
+	<path d="M202.49,589.571 L202.49,590.317 " fill="none" stroke="#00BFFF" />
+	<path d="M194.286,598.894 L197.643,598.894 M200.999,598.894 L203.609,598.894 M207.338,598.894 L209.949,598.894 M213.678,598.894 L216.288,598.894 M219.644,598.894 L222.255,598.894 M225.984,598.894 L228.221,598.894 M232.323,598.894 L234.561,598.894 M238.663,598.894 L240.9,598.894 M244.256,598.894 L246.867,598.894 M250.596,598.894 L253.206,598.894 " fill="none" stroke="#00BFFF" />
+	<path d="M256.935,598.894 L260.291,598.894 L260.291,595.538 " fill="none" stroke="#00BFFF" />
+	<path d="M260.291,591.809 L260.291,589.571 M260.291,585.469 L260.291,583.232 M260.291,579.13 L260.291,576.892 M260.291,573.163 L260.291,570.926 M260.291,566.824 L260.291,564.586 M260.291,560.857 L260.291,558.247 M260.291,554.891 L260.291,551.907 M260.291,548.551 L260.291,545.941 M260.291,542.212 L260.291,539.601 " fill="none" stroke="#00BFFF" />
+	<path d="M260.291,535.872 L260.291,532.516 L256.935,532.516 " fill="none" stroke="#00BFFF" />
+	<path d="M253.206,532.516 L250.596,532.516 M246.867,532.516 L244.256,532.516 M240.9,532.516 L238.663,532.516 M234.561,532.516 L232.323,532.516 M228.221,532.516 L225.984,532.516 M222.255,532.516 L219.644,532.516 M216.288,532.516 L213.678,532.516 M209.949,532.516 L207.338,532.516 M203.609,532.516 L200.999,532.516 " fill="none" stroke="#00BFFF" />
+	<path d="M197.643,532.516 L194.286,532.516 L194.286,535.872 " fill="none" stroke="#00BFFF" />
+	<path d="M194.286,539.601 L194.286,542.212 M194.286,545.941 L194.286,548.551 M194.286,551.907 L194.286,554.891 M194.286,558.247 L194.286,560.857 M194.286,564.586 L194.286,566.824 M194.286,570.926 L194.286,573.163 M194.286,576.892 L194.286,579.13 M194.286,583.232 L194.286,585.469 M194.286,589.571 L194.286,591.809 " fill="none" stroke="#00BFFF" />
+	<path d="M194.286,595.538 L194.286,598.894 " fill="none" stroke="#00BFFF" />
+	<path d="M260.291,598.894 L257.308,596.284 " fill="none" stroke="#00BFFF" />
+	<path d="M255.071,593.3 L252.087,590.317 " fill="none" stroke="#00BFFF" />
+	<path d="M202.49,590.317 L199.88,593.3 " fill="none" stroke="#00BFFF" />
+	<path d="M196.897,596.284 L194.286,598.894 " fill="none" stroke="#00BFFF" />
+	<path d="M202.49,541.093 L199.88,538.11 " fill="none" stroke="#00BFFF" />
+	<path d="M196.897,535.499 L194.286,532.516 " fill="none" stroke="#00BFFF" />
+	<path d="M252.087,541.093 L255.071,538.11 " fill="none" stroke="#00BFFF" />
+	<path d="M257.308,535.499 L260.291,532.516 " fill="none" stroke="#00BFFF" />
+	<path d="M245.375,546.687 L245.375,566.824 L245.375,546.687 Z" fill="none" stroke="#FFFF00" />
+	<path d="M241.646,544.822 L245.375,546.687 L241.646,548.924 Z" fill="#FFFF00" stroke="none" />
+	<path d="M245.375,546.687 L241.646,548.924 L241.646,544.822 Z" fill="#FFFF00" stroke="none" />
+	<path d="M249.85,544.822 L245.375,546.687 L249.85,548.924 Z" fill="#FFFF00" stroke="none" />
+	<path d="M245.375,546.687 L249.85,548.924 L249.85,544.822 Z" fill="#FFFF00" stroke="none" />
+	<path d="M241.646,551.907 L242.392,551.907 L242.392,553.399 L241.646,553.399 L241.646,551.907 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M241.646,554.518 L241.646,553.772 L241.646,553.772 L241.273,553.772 L241.273,554.145 L241.273,554.145 L240.9,554.145 L240.9,554.145 L240.9,554.145 L240.9,554.145 L240.9,554.891 L240.9,554.891 L240.9,554.891 L240.9,554.891 L240.9,554.891 L240.9,554.891 L240.9,554.891 L240.9,554.518 L241.273,554.518 L241.273,554.518 L241.273,554.518 L241.646,554.518 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M242.765,556.009 L242.392,554.891 L242.392,555.264 L242.392,555.264 L242.392,555.264 L242.392,555.264 L242.392,555.637 L242.392,555.637 L242.392,555.637 L242.019,555.637 L242.019,555.637 L242.019,556.009 L242.019,556.009 L241.646,556.009 L241.646,556.009 L241.646,556.009 L241.646,556.009 L241.273,555.637 L241.273,555.637 L241.273,555.637 L240.9,555.637 L240.9,555.637 L240.9,555.264 L240.9,555.264 L240.9,555.264 L240.9,554.891 L240.9,554.891 L240.9,554.145 L240.527,554.518 L240. [...]
+	<path d="M243.138,554.891 L242.392,554.891 L242.392,554.891 L242.392,554.891 L242.392,554.891 L242.392,554.891 L242.765,556.009 L242.765,556.009 L242.765,556.009 L242.765,555.637 L242.765,555.637 L242.765,555.637 L242.765,555.637 L243.138,554.891 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M244.256,554.518 L244.256,554.145 L244.256,554.145 L244.256,554.145 L244.256,554.145 L243.883,554.145 L243.883,554.145 L243.883,554.145 L243.511,554.518 L243.511,554.518 L243.883,554.518 L243.883,554.518 L243.883,554.518 L244.256,554.891 L244.256,554.891 L244.256,554.891 L244.256,554.891 L244.256,554.891 L244.256,554.891 L244.256,554.891 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M244.629,554.891 L244.629,554.891 L244.629,554.891 L244.256,554.891 L244.256,554.891 L244.256,554.891 L244.256,554.518 L244.256,554.518 L244.256,554.518 L244.256,554.518 L244.256,554.518 L244.256,554.891 L244.256,554.891 L244.256,555.264 L244.256,555.264 L244.256,555.264 L244.256,555.637 L244.256,555.637 L243.883,555.637 L243.883,555.637 L243.883,555.637 L243.883,555.637 L243.511,555.637 L243.511,555.637 L243.511,555.637 L243.138,555.637 L243.138,555.637 L243.138,555.264 L243.1 [...]
+	<path d="M240.9,557.874 L240.9,557.128 L240.527,557.128 L240.527,557.501 L240.527,557.501 L240.154,557.501 L240.154,557.501 L240.154,557.501 L239.781,557.501 L239.781,557.501 L239.781,557.128 L239.408,557.501 L239.408,557.501 L239.781,557.501 L239.781,557.501 L239.781,557.874 L239.781,557.874 L239.781,557.874 L240.154,557.874 L240.154,557.874 L240.154,557.874 L240.527,557.874 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M244.256,561.23 L244.256,558.62 L244.256,558.62 L244.256,560.857 L244.256,560.857 L244.256,560.857 L243.883,560.857 L243.883,560.484 L243.883,560.484 L243.883,560.484 L243.511,560.484 L243.511,560.484 L243.511,560.111 L243.511,560.111 L243.138,560.111 L243.138,560.111 L243.138,560.111 L242.765,560.111 L242.765,560.111 L242.765,559.739 L242.765,559.739 L242.392,559.739 L242.392,559.739 L242.392,559.739 L242.019,559.739 L242.019,559.739 L242.019,559.739 L241.646,559.739 L241.646, [...]
+	<path d="M244.629,563.841 L244.629,563.468 L242.019,561.603 L241.646,561.603 L241.646,563.468 L240.527,563.468 L240.527,563.841 L241.646,563.841 L241.646,564.586 L242.019,564.586 L242.019,563.841 L242.019,561.976 L243.883,563.468 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M244.629,563.841 L243.883,563.468 L242.019,563.468 L242.019,561.976 L242.019,563.841 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M248.358,551.907 L248.731,551.907 L248.731,553.399 L248.358,553.399 L248.358,551.907 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M247.985,554.518 L247.985,553.772 L247.985,553.772 L247.985,553.772 L247.613,554.145 L247.613,554.145 L247.613,554.145 L247.24,554.145 L247.24,554.145 L247.24,554.145 L247.24,554.891 L247.24,554.891 L247.24,554.891 L247.24,554.891 L247.24,554.891 L247.613,554.891 L247.613,554.891 L247.613,554.518 L247.613,554.518 L247.613,554.518 L247.985,554.518 L247.985,554.518 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M249.104,556.009 L249.104,554.891 L249.104,555.264 L249.104,555.264 L249.104,555.264 L248.731,555.264 L248.731,555.637 L248.731,555.637 L248.731,555.637 L248.731,555.637 L248.358,555.637 L248.358,556.009 L248.358,556.009 L247.985,556.009 L247.985,556.009 L247.985,556.009 L247.985,556.009 L247.613,555.637 L247.613,555.637 L247.613,555.637 L247.613,555.637 L247.24,555.637 L247.24,555.264 L247.24,555.264 L247.24,555.264 L247.24,554.891 L247.24,554.891 L247.24,554.145 L247.24,554.5 [...]
+	<path d="M249.477,554.891 L249.104,554.891 L249.104,554.891 L249.104,554.891 L249.104,554.891 L249.104,554.891 L249.104,556.009 L249.104,556.009 L249.104,556.009 L249.104,555.637 L249.104,555.637 L249.477,555.637 L249.477,555.637 L249.477,554.891 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M250.596,554.518 L250.596,554.145 L250.223,554.145 L250.223,554.145 L250.223,554.145 L249.85,554.145 L249.85,554.145 L249.85,554.145 L249.85,554.518 L249.85,554.518 L249.85,554.518 L249.85,554.518 L250.223,554.518 L250.223,554.891 L250.223,554.891 L250.223,554.891 L250.223,554.891 L250.596,554.891 L250.596,554.891 L250.596,554.891 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M250.969,554.891 L250.969,554.891 L250.969,554.891 L250.969,554.891 L250.969,554.891 L250.969,554.891 L250.596,554.518 L250.596,554.518 L250.596,554.518 L250.596,554.518 L250.596,554.518 L250.596,554.891 L250.596,554.891 L250.596,555.264 L250.223,555.264 L250.223,555.264 L250.223,555.637 L250.223,555.637 L250.223,555.637 L249.85,555.637 L249.85,555.637 L249.85,555.637 L249.85,555.637 L249.85,555.637 L249.85,555.637 L249.85,555.637 L249.85,555.637 L249.477,555.264 L249.477,555.2 [...]
+	<path d="M247.613,557.874 L247.613,557.128 L246.867,557.128 L246.867,557.501 L246.867,557.501 L246.494,557.501 L246.494,557.501 L246.494,557.501 L246.494,557.501 L246.121,557.501 L246.121,557.128 L246.121,557.501 L246.121,557.501 L246.121,557.501 L246.121,557.501 L246.121,557.874 L246.494,557.874 L246.494,557.874 L246.494,557.874 L246.494,557.874 L246.867,557.874 L246.867,557.874 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M250.596,558.993 L250.223,558.993 L250.223,558.993 L250.223,558.993 L250.223,558.993 L249.85,558.993 L249.85,558.993 L249.85,558.62 L249.85,558.62 L249.85,558.62 L249.85,558.62 L249.85,558.62 L249.477,558.62 L249.477,558.62 L249.477,558.62 L249.104,558.62 L249.104,558.62 L249.104,558.62 L248.731,558.62 L248.731,558.62 L248.358,558.62 L248.358,558.62 L248.358,558.62 L247.985,558.62 L247.985,558.62 L247.985,558.993 L247.613,558.993 L247.613,558.993 L247.613,558.993 L247.613,558.9 [...]
+	<path d="M250.969,560.111 L250.969,560.111 L250.969,560.111 L250.969,559.739 L250.969,559.739 L250.969,559.739 L250.596,559.366 L250.596,559.366 L250.596,559.366 L250.596,559.366 L250.596,559.366 L250.596,558.993 L250.596,560.111 L250.596,560.111 L250.596,560.111 L250.596,560.484 L250.223,560.484 L250.223,560.484 L250.223,560.484 L250.223,560.857 L250.223,560.857 L249.85,560.857 L249.85,560.857 L249.85,560.857 L249.85,560.857 L249.85,560.857 L249.85,560.857 L249.85,560.857 L249.85,560.8 [...]
+	<path d="M250.969,563.841 L250.969,563.468 L248.358,561.603 L247.985,561.603 L247.985,563.468 L246.867,563.468 L246.867,563.841 L247.985,563.841 L247.985,564.586 L248.358,564.586 L248.358,563.841 L248.358,561.976 L249.85,563.468 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M250.969,563.841 L249.85,563.468 L248.358,563.468 L248.358,561.976 L248.358,563.841 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M57.4282,590.317 L58.174,590.317 M62.276,590.317 L64.5135,590.317 M68.2426,590.317 L70.853,590.317 M74.5821,590.317 L76.8195,590.317 M80.5486,590.317 L83.159,590.317 M86.8881,590.317 L89.4985,590.317 M92.8547,590.317 L95.4651,590.317 M99.1942,590.317 L101.805,590.317 " fill="none" stroke="#00BFFF" />
+	<path d="M105.534,590.317 L106.652,590.317 L106.652,589.571 " fill="none" stroke="#00BFFF" />
+	<path d="M106.652,585.469 L106.652,583.232 M106.652,579.13 L106.652,576.892 M106.652,573.163 L106.652,570.926 M106.652,566.824 L106.652,564.586 M106.652,560.857 L106.652,558.247 M106.652,554.891 L106.652,552.28 M106.652,548.551 L106.652,545.941 " fill="none" stroke="#00BFFF" />
+	<path d="M106.652,542.212 L106.652,541.093 L105.534,541.093 " fill="none" stroke="#00BFFF" />
+	<path d="M101.805,541.093 L99.1942,541.093 M95.4651,541.093 L92.8547,541.093 M89.4985,541.093 L86.8881,541.093 M83.159,541.093 L80.5486,541.093 M76.8195,541.093 L74.5821,541.093 M70.853,541.093 L68.6155,541.093 M64.5135,541.093 L62.276,541.093 " fill="none" stroke="#00BFFF" />
+	<path d="M58.174,541.093 L57.4282,541.093 L57.4282,542.212 " fill="none" stroke="#00BFFF" />
+	<path d="M57.4282,545.941 L57.4282,548.551 M57.4282,551.907 L57.4282,554.891 M57.4282,558.247 L57.4282,560.857 M57.4282,564.586 L57.4282,566.824 M57.4282,570.926 L57.4282,573.163 M57.4282,576.892 L57.4282,579.13 M57.4282,583.232 L57.4282,585.469 " fill="none" stroke="#00BFFF" />
+	<path d="M57.4282,589.571 L57.4282,590.317 " fill="none" stroke="#00BFFF" />
+	<path d="M48.8513,598.894 L52.2075,598.894 M55.9366,598.894 L58.174,598.894 M62.276,598.894 L64.5135,598.894 M68.2426,598.894 L70.853,598.894 M74.5821,598.894 L76.8195,598.894 M80.5486,598.894 L83.159,598.894 M86.8881,598.894 L89.4985,598.894 M92.8547,598.894 L95.4651,598.894 M99.1942,598.894 L101.805,598.894 M105.534,598.894 L107.771,598.894 " fill="none" stroke="#00BFFF" />
+	<path d="M111.5,598.894 L114.856,598.894 L114.856,595.911 " fill="none" stroke="#00BFFF" />
+	<path d="M114.856,591.809 L114.856,589.571 M114.856,585.469 L114.856,583.232 M114.856,579.13 L114.856,576.892 M114.856,573.163 L114.856,570.926 M114.856,566.824 L114.856,564.586 M114.856,560.857 L114.856,558.247 M114.856,554.891 L114.856,552.28 M114.856,548.551 L114.856,545.941 M114.856,542.212 L114.856,539.601 " fill="none" stroke="#00BFFF" />
+	<path d="M114.856,535.872 L114.856,532.516 L111.873,532.516 " fill="none" stroke="#00BFFF" />
+	<path d="M107.771,532.516 L105.534,532.516 M101.805,532.516 L99.1942,532.516 M95.4651,532.516 L92.8547,532.516 M89.4985,532.516 L86.8881,532.516 M83.159,532.516 L80.5486,532.516 M76.8195,532.516 L74.5821,532.516 M70.853,532.516 L68.6155,532.516 M64.5135,532.516 L62.276,532.516 M58.174,532.516 L55.9366,532.516 " fill="none" stroke="#00BFFF" />
+	<path d="M52.2075,532.516 L48.8513,532.516 L48.8513,535.872 " fill="none" stroke="#00BFFF" />
+	<path d="M48.8513,539.601 L48.8513,542.212 M48.8513,545.941 L48.8513,548.551 M48.8513,551.907 L48.8513,554.891 M48.8513,558.247 L48.8513,560.857 M48.8513,564.586 L48.8513,566.824 M48.8513,570.926 L48.8513,573.163 M48.8513,576.892 L48.8513,579.13 M48.8513,583.232 L48.8513,585.469 M48.8513,589.571 L48.8513,591.809 " fill="none" stroke="#00BFFF" />
+	<path d="M48.8513,595.538 L48.8513,598.894 " fill="none" stroke="#00BFFF" />
+	<path d="M114.856,598.894 L112.246,596.284 " fill="none" stroke="#00BFFF" />
+	<path d="M109.263,593.3 L106.652,590.317 " fill="none" stroke="#00BFFF" />
+	<path d="M57.4282,590.317 L54.4449,593.3 " fill="none" stroke="#00BFFF" />
+	<path d="M51.8345,596.284 L48.8513,598.894 " fill="none" stroke="#00BFFF" />
+	<path d="M57.4282,541.093 L54.4449,538.11 " fill="none" stroke="#00BFFF" />
+	<path d="M51.8345,535.499 L48.8513,532.516 " fill="none" stroke="#00BFFF" />
+	<path d="M106.652,541.093 L109.263,538.11 " fill="none" stroke="#00BFFF" />
+	<path d="M112.246,535.499 L114.856,532.516 " fill="none" stroke="#00BFFF" />
+	<path d="M100.313,546.687 L100.313,566.824 L100.313,546.687 Z" fill="none" stroke="#FFFF00" />
+	<path d="M96.2109,544.822 L100.313,546.687 L96.2109,548.924 Z" fill="#FFFF00" stroke="none" />
+	<path d="M100.313,546.687 L96.2109,548.924 L96.2109,544.822 Z" fill="#FFFF00" stroke="none" />
+	<path d="M104.415,544.822 L100.313,546.687 L104.415,548.924 Z" fill="#FFFF00" stroke="none" />
+	<path d="M100.313,546.687 L104.415,548.924 L104.415,544.822 Z" fill="#FFFF00" stroke="none" />
+	<path d="M96.2109,551.907 L96.5838,551.907 L96.5838,553.399 L96.2109,553.399 L96.2109,551.907 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M96.2109,554.518 L96.2109,553.772 L96.2109,553.772 L96.2109,553.772 L96.2109,554.145 L95.838,554.145 L95.838,554.145 L95.838,554.145 L95.838,554.145 L95.4651,554.145 L95.4651,554.891 L95.4651,554.891 L95.838,554.891 L95.838,554.891 L95.838,554.891 L95.838,554.891 L95.838,554.891 L95.838,554.891 L95.838,554.518 L96.2109,554.518 L96.2109,554.518 L96.2109,554.518 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M96.9567,556.009 L96.9567,554.891 L96.9567,555.264 L96.9567,555.264 L96.9567,555.264 L96.9567,555.264 L96.9567,555.637 L96.9567,555.637 L96.5838,555.637 L96.5838,555.637 L96.5838,555.637 L96.5838,556.009 L96.2109,556.009 L96.2109,556.009 L96.2109,556.009 L96.2109,556.009 L96.2109,556.009 L96.2109,555.637 L96.2109,555.637 L95.838,555.637 L95.838,555.637 L95.838,555.637 L95.838,555.264 L95.838,555.264 L95.838,555.264 L95.4651,555.264 L95.4651,554.891 L95.4651,554.145 L95.4651,554 [...]
+	<path d="M97.3296,554.891 L96.9567,554.891 L96.9567,554.891 L96.9567,554.891 L96.9567,554.891 L96.9567,554.891 L96.9567,556.009 L97.3296,556.009 L97.3296,556.009 L97.3296,555.637 L97.3296,555.637 L97.3296,555.637 L97.3296,556.009 L97.3296,554.891 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M98.8213,554.518 L98.8213,554.145 L98.8213,554.145 L98.8213,554.145 L98.4483,554.145 L98.4483,554.145 L98.4483,554.145 L98.0754,554.145 L98.0754,554.518 L98.0754,554.518 L98.4483,554.518 L98.4483,554.518 L98.4483,554.518 L98.4483,554.891 L98.8213,554.891 L98.8213,554.891 L98.8213,554.891 L98.8213,554.891 L98.8213,554.891 L98.8213,554.891 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M99.1942,554.891 L99.1942,554.891 L99.1942,554.891 L99.1942,554.891 L99.1942,554.891 L99.1942,554.891 L99.1942,554.518 L99.1942,554.518 L99.1942,554.518 L99.1942,554.518 L98.8213,554.518 L98.8213,554.891 L98.8213,554.891 L98.8213,555.264 L98.8213,555.264 L98.8213,555.264 L98.8213,555.637 L98.4483,555.637 L98.4483,555.637 L98.4483,555.637 L98.4483,555.637 L98.0754,555.637 L98.0754,555.637 L98.0754,555.637 L97.7025,555.637 L97.7025,555.637 L97.7025,555.637 L97.7025,555.264 L97.70 [...]
+	<path d="M95.838,557.874 L95.838,557.128 L95.0922,557.128 L95.0922,557.501 L95.0922,557.501 L95.0922,557.501 L95.0922,557.501 L94.7192,557.501 L94.7192,557.501 L94.7192,557.501 L94.7192,557.128 L94.3463,557.501 L94.3463,557.501 L94.3463,557.501 L94.7192,557.501 L94.7192,557.874 L94.7192,557.874 L94.7192,557.874 L94.7192,557.874 L95.0922,557.874 L95.0922,557.874 L95.0922,557.874 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M99.1942,561.23 L99.1942,558.62 L98.8213,558.62 L98.8213,560.857 L98.8213,560.857 L98.4483,560.857 L98.4483,560.857 L98.4483,560.484 L98.4483,560.484 L98.0754,560.484 L98.0754,560.484 L98.0754,560.484 L98.0754,560.484 L97.7025,560.111 L97.7025,560.111 L97.7025,560.111 L97.7025,560.111 L97.3296,560.111 L97.3296,560.111 L97.3296,559.739 L96.9567,559.739 L96.9567,559.739 L96.9567,559.739 L96.5838,559.739 L96.5838,559.739 L96.5838,559.739 L96.2109,559.739 L96.2109,559.739 L96.2109, [...]
+	<path d="M99.1942,563.841 L99.1942,563.468 L96.5838,561.603 L96.2109,561.603 L96.2109,563.468 L95.0922,563.468 L95.0922,563.841 L96.2109,563.841 L96.2109,564.586 L96.5838,564.586 L96.5838,563.841 L96.5838,561.976 L98.4483,563.468 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M99.1942,563.841 L98.4483,563.468 L96.5838,563.468 L96.5838,561.976 L96.5838,563.841 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M102.55,551.907 L103.296,551.907 L103.296,553.399 L102.55,553.399 L102.55,551.907 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M102.55,554.518 L102.55,553.772 L102.55,553.772 L102.177,554.145 L102.177,554.145 L102.177,554.145 L101.805,554.145 L101.805,554.145 L101.805,554.145 L101.805,554.145 L101.805,554.891 L101.805,554.891 L101.805,554.891 L101.805,554.891 L101.805,554.891 L101.805,554.891 L101.805,554.891 L102.177,554.891 L102.177,554.518 L102.177,554.518 L102.177,554.518 L102.55,554.518 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M103.669,556.009 L103.296,554.891 L103.296,555.264 L103.296,555.264 L103.296,555.264 L103.296,555.264 L103.296,555.637 L103.296,555.637 L103.296,555.637 L102.923,555.637 L102.923,555.637 L102.923,556.009 L102.923,556.009 L102.55,556.009 L102.55,556.009 L102.55,556.009 L102.55,556.009 L102.177,555.637 L102.177,555.637 L102.177,555.637 L101.805,555.637 L101.805,555.637 L101.805,555.264 L101.805,555.264 L101.805,555.264 L101.805,555.264 L101.805,554.891 L101.805,554.145 L101.805,5 [...]
+	<path d="M104.042,554.891 L103.296,554.891 L103.296,554.891 L103.296,554.891 L103.296,554.891 L103.296,554.891 L103.669,556.009 L103.669,556.009 L103.669,556.009 L103.669,555.637 L103.669,555.637 L103.669,555.637 L103.669,556.009 L104.042,554.891 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M105.534,554.518 L105.161,554.145 L105.161,554.145 L105.161,554.145 L105.161,554.145 L104.788,554.145 L104.788,554.145 L104.788,554.145 L104.415,554.518 L104.415,554.518 L104.788,554.518 L104.788,554.518 L104.788,554.518 L105.161,554.891 L105.161,554.891 L105.161,554.891 L105.161,554.891 L105.161,554.891 L105.161,554.891 L105.161,554.891 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M105.907,554.891 L105.907,554.891 L105.907,554.891 L105.534,554.891 L105.534,554.891 L105.534,554.891 L105.534,554.518 L105.534,554.518 L105.534,554.518 L105.534,554.518 L105.534,554.518 L105.161,554.891 L105.161,554.891 L105.161,555.264 L105.161,555.264 L105.161,555.264 L105.161,555.637 L105.161,555.637 L104.788,555.637 L104.788,555.637 L104.788,555.637 L104.788,555.637 L104.415,555.637 L104.415,555.637 L104.415,555.637 L104.042,555.637 L104.042,555.637 L104.042,555.264 L104.0 [...]
+	<path d="M101.805,557.874 L101.805,557.128 L101.805,557.128 L101.805,557.501 L101.805,557.501 L101.432,557.501 L101.432,557.501 L101.432,557.501 L101.059,557.501 L101.059,557.501 L101.059,557.128 L100.686,557.501 L100.686,557.501 L101.059,557.501 L101.059,557.501 L101.059,557.874 L101.059,557.874 L101.059,557.874 L101.432,557.874 L101.432,557.874 L101.432,557.874 L101.805,557.874 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M105.161,558.993 L105.161,558.993 L105.161,558.993 L105.161,558.993 L104.788,558.993 L104.788,558.993 L104.788,558.993 L104.788,558.993 L104.415,558.62 L104.415,558.62 L104.415,558.62 L104.042,558.62 L104.042,558.62 L104.042,558.62 L103.669,558.62 L103.669,558.62 L103.669,558.62 L103.296,558.62 L103.296,558.62 L103.296,558.62 L102.923,558.62 L102.923,558.62 L102.55,558.62 L102.55,558.62 L102.55,558.62 L102.177,558.993 L102.177,558.993 L102.177,558.993 L102.177,558.993 L101.805, [...]
+	<path d="M105.907,560.111 L105.907,560.111 L105.907,560.111 L105.907,559.739 L105.534,559.739 L105.534,559.739 L105.534,559.366 L105.534,559.366 L105.534,559.366 L105.534,559.366 L105.534,559.366 L105.161,558.993 L105.161,560.111 L105.161,560.111 L105.161,560.111 L105.161,560.484 L105.161,560.484 L105.161,560.484 L105.161,560.484 L104.788,560.857 L104.788,560.857 L104.788,560.857 L104.788,560.857 L104.788,560.857 L104.788,560.857 L104.415,560.857 L104.415,560.857 L104.415,560.857 L104.0 [...]
+	<path d="M105.907,563.841 L105.907,563.468 L102.923,561.603 L102.55,561.603 L102.55,563.468 L101.805,563.468 L101.805,563.841 L102.55,563.841 L102.55,564.586 L102.923,564.586 L102.923,563.841 L102.923,561.976 L104.788,563.468 Z" fill="#FFFF00" stroke="#000000" stroke-width="0.3" />
+	<path d="M105.907,563.841 L104.788,563.468 L102.923,563.468 L102.923,561.976 L102.923,563.841 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M223.373,477.698 L224.492,477.698 M228.221,477.698 L230.832,477.698 M234.561,477.698 L237.171,477.698 M240.527,477.698 L243.138,477.698 M246.867,477.698 L249.477,477.698 M253.206,477.698 L255.444,477.698 M259.546,477.698 L261.783,477.698 M265.512,477.698 L267.75,477.698 " fill="none" stroke="#00BFFF" />
+	<path d="M271.479,477.698 L272.598,477.698 L272.598,476.58 " fill="none" stroke="#00BFFF" />
+	<path d="M272.598,472.85 L272.598,470.613 M272.598,466.511 L272.598,464.273 M272.598,460.171 L272.598,457.934 M272.598,453.832 L272.598,451.595 M272.598,447.865 L272.598,445.628 M272.598,441.899 L272.598,439.288 M272.598,435.559 L272.598,432.949 " fill="none" stroke="#00BFFF" />
+	<path d="M272.598,429.593 L272.598,428.101 L271.479,428.101 " fill="none" stroke="#00BFFF" />
+	<path d="M267.75,428.101 L265.512,428.101 M261.783,428.101 L259.546,428.101 M255.444,428.101 L253.206,428.101 M249.477,428.101 L246.867,428.101 M243.138,428.101 L240.527,428.101 M237.171,428.101 L234.561,428.101 M230.832,428.101 L228.221,428.101 " fill="none" stroke="#00BFFF" />
+	<path d="M224.492,428.101 L223.373,428.101 L223.373,429.593 " fill="none" stroke="#00BFFF" />
+	<path d="M223.373,432.949 L223.373,435.559 M223.373,439.288 L223.373,441.899 M223.373,445.628 L223.373,447.865 M223.373,451.595 L223.373,453.832 M223.373,457.934 L223.373,460.171 M223.373,464.273 L223.373,466.511 M223.373,470.613 L223.373,472.85 " fill="none" stroke="#00BFFF" />
+	<path d="M223.373,476.58 L223.373,477.698 " fill="none" stroke="#00BFFF" />
+	<path d="M215.169,485.902 L218.526,485.902 M222.255,485.902 L224.492,485.902 M228.221,485.902 L230.832,485.902 M234.561,485.902 L237.171,485.902 M240.527,485.902 L243.138,485.902 M246.867,485.902 L249.477,485.902 M253.206,485.902 L255.444,485.902 M259.546,485.902 L261.783,485.902 M265.512,485.902 L267.75,485.902 M271.479,485.902 L274.089,485.902 " fill="none" stroke="#00BFFF" />
+	<path d="M277.818,485.902 L281.174,485.902 L281.174,482.919 " fill="none" stroke="#00BFFF" />
+	<path d="M281.174,478.817 L281.174,476.58 M281.174,472.85 L281.174,470.613 M281.174,466.511 L281.174,464.273 M281.174,460.171 L281.174,457.934 M281.174,453.832 L281.174,451.595 M281.174,447.865 L281.174,445.628 M281.174,441.899 L281.174,439.288 M281.174,435.559 L281.174,432.949 M281.174,429.593 L281.174,426.982 " fill="none" stroke="#00BFFF" />
+	<path d="M281.174,423.253 L281.174,419.524 L277.818,419.524 " fill="none" stroke="#00BFFF" />
+	<path d="M274.089,419.524 L271.479,419.524 M267.75,419.524 L265.512,419.524 M261.783,419.524 L259.546,419.524 M255.444,419.524 L253.206,419.524 M249.477,419.524 L246.867,419.524 M243.138,419.524 L240.527,419.524 M237.171,419.524 L234.561,419.524 M230.832,419.524 L228.221,419.524 M224.492,419.524 L222.255,419.524 " fill="none" stroke="#00BFFF" />
+	<path d="M218.526,419.524 L215.169,419.524 L215.169,423.253 " fill="none" stroke="#00BFFF" />
+	<path d="M215.169,426.982 L215.169,429.593 M215.169,432.949 L215.169,435.559 M215.169,439.288 L215.169,441.899 M215.169,445.628 L215.169,447.865 M215.169,451.595 L215.169,453.832 M215.169,457.934 L215.169,460.171 M215.169,464.273 L215.169,466.511 M215.169,470.613 L215.169,472.85 M215.169,476.58 L215.169,478.817 " fill="none" stroke="#00BFFF" />
+	<path d="M215.169,482.919 L215.169,485.902 " fill="none" stroke="#00BFFF" />
+	<path d="M281.174,485.902 L278.191,483.292 " fill="none" stroke="#00BFFF" />
+	<path d="M275.954,480.682 L272.598,477.698 " fill="none" stroke="#00BFFF" />
+	<path d="M223.373,477.698 L220.763,480.682 " fill="none" stroke="#00BFFF" />
+	<path d="M217.78,483.292 L215.169,485.902 " fill="none" stroke="#00BFFF" />
+	<path d="M223.373,428.101 L220.763,425.118 " fill="none" stroke="#00BFFF" />
+	<path d="M217.78,422.88 L215.169,419.524 " fill="none" stroke="#00BFFF" />
+	<path d="M272.598,428.101 L275.954,425.118 " fill="none" stroke="#00BFFF" />
+	<path d="M278.191,422.88 L281.174,419.524 " fill="none" stroke="#00BFFF" />
+	<path d="M266.258,434.068 L266.258,453.832 L266.258,434.068 Z" fill="none" stroke="#FFFF00" />
+	<path d="M262.529,431.83 L266.258,434.068 L262.529,436.305 Z" fill="#FFFF00" stroke="none" />
+	<path d="M266.258,434.068 L262.529,436.305 L262.529,431.83 Z" fill="#FFFF00" stroke="none" />
+	<path d="M270.733,431.83 L266.258,434.068 L270.733,436.305 Z" fill="#FFFF00" stroke="none" />
+	<path d="M266.258,434.068 L270.733,436.305 L270.733,431.83 Z" fill="#FFFF00" stroke="none" />
+	<path d="M262.529,438.916 L263.275,438.916 L263.275,440.78 L262.529,440.78 L262.529,438.916 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M262.529,441.526 L262.529,441.153 L262.529,441.153 L262.156,441.153 L262.156,441.153 L262.156,441.153 L261.783,441.153 L261.783,441.153 L261.783,441.526 L261.783,441.526 L261.783,442.272 L261.783,441.899 L261.783,441.899 L261.783,441.899 L261.783,441.899 L261.783,441.899 L261.783,441.899 L261.783,441.899 L262.156,441.899 L262.156,441.899 L262.156,441.899 L262.529,441.526 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M263.648,443.39 L263.275,442.272 L263.275,442.272 L263.275,442.272 L263.275,442.645 L263.275,442.645 L263.275,442.645 L263.275,442.645 L263.275,443.018 L262.902,443.018 L262.902,443.018 L262.902,443.018 L262.529,443.018 L262.529,443.018 L262.529,443.018 L262.529,443.018 L262.156,443.018 L262.156,443.018 L262.156,443.018 L262.156,443.018 L261.783,442.645 L261.783,442.645 L261.783,442.645 L261.783,442.645 L261.783,442.272 L261.783,442.272 L261.783,442.272 L261.783,441.526 L261.41 [...]
+	<path d="M264.021,441.899 L263.275,441.899 L263.275,441.899 L263.275,441.899 L263.275,441.899 L263.275,442.272 L263.648,443.39 L263.648,443.018 L263.648,443.018 L263.648,443.018 L263.648,442.645 L263.648,443.018 L263.648,443.018 L264.021,441.899 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M265.139,441.526 L265.139,441.526 L265.139,441.526 L265.139,441.153 L264.766,441.153 L264.766,441.153 L264.766,441.153 L264.393,441.153 L264.393,441.526 L264.393,441.899 L264.766,441.899 L264.766,441.899 L264.766,441.899 L265.139,441.899 L265.139,441.899 L265.139,441.899 L265.139,441.899 L265.139,441.899 L265.139,441.899 L265.139,442.272 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M265.885,442.272 L265.885,441.899 L265.512,441.899 L265.512,441.899 L265.512,441.899 L265.512,441.899 L265.512,441.899 L265.512,441.526 L265.512,441.526 L265.512,441.526 L265.139,441.526 L265.139,442.272 L265.139,442.272 L265.139,442.272 L265.139,442.272 L265.139,442.645 L265.139,442.645 L265.139,442.645 L264.766,442.645 L264.766,442.645 L264.766,443.018 L264.393,443.018 L264.393,443.018 L264.393,442.645 L264.393,442.645 L264.021,442.645 L264.021,442.645 L264.021,442.645 L264.0 [...]
+	<path d="M261.783,444.882 L261.783,444.509 L261.41,444.509 L261.41,444.882 L261.037,444.882 L261.037,444.882 L261.037,444.882 L261.037,444.509 L260.664,444.509 L260.664,444.509 L260.664,444.509 L260.664,444.509 L260.664,444.509 L260.664,444.882 L260.664,444.882 L260.664,444.882 L260.664,444.882 L260.664,444.882 L261.037,444.882 L261.037,444.882 L261.037,444.882 L261.41,444.882 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M265.512,448.238 L265.512,446.001 L265.139,446.001 L265.139,447.865 L265.139,447.865 L265.139,447.865 L264.766,447.865 L264.766,447.865 L264.766,447.865 L264.766,447.865 L264.393,447.492 L264.393,447.492 L264.393,447.492 L264.021,447.492 L264.021,447.492 L264.021,447.12 L264.021,447.12 L263.648,447.12 L263.648,447.12 L263.648,447.12 L263.648,447.12 L263.275,447.12 L263.275,447.12 L263.275,446.747 L262.902,446.747 L262.902,446.747 L262.902,446.747 L262.529,446.747 L262.529,446.7 [...]
+	<path d="M265.512,451.222 L265.512,450.849 L262.902,448.611 L262.156,448.611 L262.156,450.476 L261.41,450.476 L261.41,451.222 L262.156,451.222 L262.156,451.967 L262.902,451.967 L262.902,451.222 L262.902,449.357 L264.766,450.476 Z" fill="#000000" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M265.512,451.222 L264.766,450.476 L262.902,450.476 L262.902,449.357 L262.902,451.222 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M268.868,438.916 L269.614,438.916 L269.614,440.78 L268.868,440.78 L268.868,438.916 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M268.868,441.526 L268.868,441.153 L268.868,441.153 L268.868,441.153 L268.495,441.153 L268.495,441.153 L268.495,441.153 L268.123,441.153 L268.123,441.526 L268.123,441.526 L268.123,442.272 L268.123,441.899 L268.123,441.899 L268.123,441.899 L268.123,441.899 L268.123,441.899 L268.123,441.899 L268.495,441.899 L268.495,441.899 L268.495,441.899 L268.495,441.899 L268.868,441.526 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M269.987,443.39 L269.987,442.272 L269.987,442.272 L269.987,442.272 L269.987,442.645 L269.614,442.645 L269.614,442.645 L269.614,442.645 L269.614,443.018 L269.614,443.018 L269.241,443.018 L269.241,443.018 L269.241,443.018 L268.868,443.018 L268.868,443.018 L268.868,443.018 L268.868,443.018 L268.495,443.018 L268.495,443.018 L268.495,443.018 L268.495,442.645 L268.123,442.645 L268.123,442.645 L268.123,442.645 L268.123,442.272 L268.123,442.272 L268.123,442.272 L268.123,441.526 L268.12 [...]
+	<path d="M270.36,441.899 L269.987,441.899 L269.987,441.899 L269.987,441.899 L269.987,441.899 L269.987,442.272 L269.987,443.39 L269.987,443.018 L269.987,443.018 L269.987,443.018 L269.987,442.645 L269.987,443.018 L270.36,443.018 L270.36,441.899 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M271.479,441.526 L271.479,441.526 L271.479,441.526 L271.479,441.153 L271.479,441.153 L271.106,441.153 L271.106,441.153 L271.106,441.153 L270.733,441.526 L271.106,441.899 L271.106,441.899 L271.106,441.899 L271.479,441.899 L271.479,441.899 L271.479,441.899 L271.479,441.899 L271.479,441.899 L271.479,441.899 L271.479,441.899 L271.479,442.272 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M271.852,442.272 L271.852,441.899 L271.852,441.899 L271.852,441.899 L271.852,441.899 L271.479,441.899 L271.479,441.899 L271.479,441.526 L271.479,441.526 L271.479,441.526 L271.479,441.526 L271.479,442.272 L271.479,442.272 L271.479,442.272 L271.479,442.272 L271.479,442.645 L271.479,442.645 L271.479,442.645 L271.479,442.645 L271.106,442.645 L271.106,443.018 L271.106,443.018 L271.106,443.018 L270.733,442.645 L270.733,442.645 L270.733,442.645 L270.36,442.645 L270.36,442.645 L270.36, [...]
+	<path d="M268.495,444.882 L268.495,444.509 L267.75,444.509 L267.75,444.882 L267.75,444.882 L267.377,444.882 L267.377,444.882 L267.377,444.509 L267.377,444.509 L267.004,444.509 L267.004,444.509 L267.004,444.509 L267.004,444.509 L267.004,444.882 L267.004,444.882 L267.004,444.882 L267.004,444.882 L267.377,444.882 L267.377,444.882 L267.377,444.882 L267.75,444.882 L267.75,444.882 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M271.479,446.374 L271.479,446.374 L271.479,446.001 L271.479,446.001 L271.106,446.001 L271.106,446.001 L271.106,446.001 L271.106,446.001 L270.733,446.001 L270.733,446.001 L270.733,446.001 L270.733,446.001 L270.36,446.001 L270.36,446.001 L270.36,446.001 L269.987,446.001 L269.987,446.001 L269.987,446.001 L269.614,446.001 L269.614,446.001 L269.241,446.001 L269.241,446.001 L269.241,446.001 L268.868,446.001 L268.868,446.001 L268.868,446.001 L268.495,446.001 L268.495,446.001 L268.495, [...]
+	<path d="M271.852,447.12 L271.852,447.12 L271.852,447.12 L271.852,447.12 L271.852,446.747 L271.852,446.747 L271.479,446.747 L271.479,446.747 L271.479,446.374 L271.479,446.374 L271.479,446.374 L271.479,446.374 L271.479,447.12 L271.479,447.492 L271.479,447.492 L271.479,447.492 L271.479,447.492 L271.479,447.865 L271.479,447.865 L271.479,447.865 L271.479,447.865 L271.106,447.865 L271.106,447.865 L271.106,447.865 L271.106,447.865 L270.733,447.865 L270.733,447.865 L270.733,447.865 L270.36,447 [...]
+	<path d="M271.852,451.222 L271.852,450.849 L269.241,448.611 L268.868,448.611 L268.868,450.476 L267.75,450.476 L267.75,451.222 L268.868,451.222 L268.868,451.967 L269.241,451.967 L269.241,451.222 L269.241,449.357 L271.106,450.476 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M271.852,451.222 L271.106,450.476 L269.241,450.476 L269.241,449.357 L269.241,451.222 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M223.373,353.519 L224.492,353.519 M228.221,353.519 L230.832,353.519 M234.561,353.519 L237.171,353.519 M240.527,353.519 L243.138,353.519 M246.867,353.519 L249.477,353.519 M253.206,353.519 L255.444,353.519 M259.546,353.519 L261.783,353.519 M265.512,353.519 L267.75,353.519 " fill="none" stroke="#00BFFF" />
+	<path d="M271.479,353.519 L272.598,353.519 L272.598,352.4 " fill="none" stroke="#00BFFF" />
+	<path d="M272.598,348.298 L272.598,346.061 M272.598,342.332 L272.598,340.094 M272.598,335.992 L272.598,333.755 M272.598,329.653 L272.598,327.415 M272.598,323.313 L272.598,321.076 M272.598,317.347 L272.598,315.109 M272.598,311.38 L272.598,308.77 " fill="none" stroke="#00BFFF" />
+	<path d="M272.598,305.041 L272.598,303.922 L271.479,303.922 " fill="none" stroke="#00BFFF" />
+	<path d="M267.75,303.922 L265.512,303.922 M261.783,303.922 L259.546,303.922 M255.444,303.922 L253.206,303.922 M249.477,303.922 L246.867,303.922 M243.138,303.922 L240.527,303.922 M237.171,303.922 L234.561,303.922 M230.832,303.922 L228.221,303.922 " fill="none" stroke="#00BFFF" />
+	<path d="M224.492,303.922 L223.373,303.922 L223.373,305.041 " fill="none" stroke="#00BFFF" />
+	<path d="M223.373,308.77 L223.373,311.38 M223.373,315.109 L223.373,317.347 M223.373,321.076 L223.373,323.313 M223.373,327.415 L223.373,329.653 M223.373,333.755 L223.373,335.992 M223.373,340.094 L223.373,342.332 M223.373,346.061 L223.373,348.298 " fill="none" stroke="#00BFFF" />
+	<path d="M223.373,352.4 L223.373,353.519 " fill="none" stroke="#00BFFF" />
+	<path d="M215.169,361.723 L218.526,361.723 M222.255,361.723 L224.492,361.723 M228.221,361.723 L230.832,361.723 M234.561,361.723 L237.171,361.723 M240.527,361.723 L243.138,361.723 M246.867,361.723 L249.477,361.723 M253.206,361.723 L255.444,361.723 M259.546,361.723 L261.783,361.723 M265.512,361.723 L267.75,361.723 M271.479,361.723 L274.089,361.723 " fill="none" stroke="#00BFFF" />
+	<path d="M277.818,361.723 L281.174,361.723 L281.174,358.74 " fill="none" stroke="#00BFFF" />
+	<path d="M281.174,354.638 L281.174,352.4 M281.174,348.298 L281.174,346.061 M281.174,342.332 L281.174,340.094 M281.174,335.992 L281.174,333.755 M281.174,329.653 L281.174,327.415 M281.174,323.313 L281.174,321.076 M281.174,317.347 L281.174,315.109 M281.174,311.38 L281.174,308.77 M281.174,305.041 L281.174,302.43 " fill="none" stroke="#00BFFF" />
+	<path d="M281.174,299.074 L281.174,295.345 L277.818,295.345 " fill="none" stroke="#00BFFF" />
+	<path d="M274.089,295.345 L271.479,295.345 M267.75,295.345 L265.512,295.345 M261.783,295.345 L259.546,295.345 M255.444,295.345 L253.206,295.345 M249.477,295.345 L246.867,295.345 M243.138,295.345 L240.527,295.345 M237.171,295.345 L234.561,295.345 M230.832,295.345 L228.221,295.345 M224.492,295.345 L222.255,295.345 " fill="none" stroke="#00BFFF" />
+	<path d="M218.526,295.345 L215.169,295.345 L215.169,299.074 " fill="none" stroke="#00BFFF" />
+	<path d="M215.169,302.43 L215.169,305.041 M215.169,308.77 L215.169,311.38 M215.169,315.109 L215.169,317.347 M215.169,321.076 L215.169,323.313 M215.169,327.415 L215.169,329.653 M215.169,333.755 L215.169,335.992 M215.169,340.094 L215.169,342.332 M215.169,346.061 L215.169,348.298 M215.169,352.4 L215.169,354.638 " fill="none" stroke="#00BFFF" />
+	<path d="M215.169,358.74 L215.169,361.723 " fill="none" stroke="#00BFFF" />
+	<path d="M281.174,361.723 L278.191,359.113 " fill="none" stroke="#00BFFF" />
+	<path d="M275.954,356.502 L272.598,353.519 " fill="none" stroke="#00BFFF" />
+	<path d="M223.373,353.519 L220.763,356.502 " fill="none" stroke="#00BFFF" />
+	<path d="M217.78,359.113 L215.169,361.723 " fill="none" stroke="#00BFFF" />
+	<path d="M223.373,303.922 L220.763,300.939 " fill="none" stroke="#00BFFF" />
+	<path d="M217.78,298.328 L215.169,295.345 " fill="none" stroke="#00BFFF" />
+	<path d="M272.598,303.922 L275.954,300.939 " fill="none" stroke="#00BFFF" />
+	<path d="M278.191,298.328 L281.174,295.345 " fill="none" stroke="#00BFFF" />
+	<path d="M266.258,309.889 L266.258,329.653 L266.258,309.889 Z" fill="none" stroke="#FFFF00" />
+	<path d="M262.529,307.651 L266.258,309.889 L262.529,311.753 Z" fill="#FFFF00" stroke="none" />
+	<path d="M266.258,309.889 L262.529,311.753 L262.529,307.651 Z" fill="#FFFF00" stroke="none" />
+	<path d="M270.733,307.651 L266.258,309.889 L270.733,311.753 Z" fill="#FFFF00" stroke="none" />
+	<path d="M266.258,309.889 L270.733,311.753 L270.733,307.651 Z" fill="#FFFF00" stroke="none" />
+	<path d="M262.529,314.736 L263.275,314.736 L263.275,316.228 L262.529,316.228 L262.529,314.736 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M262.529,317.347 L262.529,316.974 L262.529,316.974 L262.156,316.974 L262.156,316.974 L262.156,316.974 L261.783,316.974 L261.783,316.974 L261.783,316.974 L261.783,317.347 L261.783,317.72 L261.783,317.72 L261.783,317.72 L261.783,317.347 L261.783,317.347 L261.783,317.347 L261.783,317.347 L261.783,317.347 L262.156,317.347 L262.156,317.347 L262.156,317.347 L262.529,317.347 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M263.648,318.838 L263.275,317.72 L263.275,318.093 L263.275,318.093 L263.275,318.093 L263.275,318.465 L263.275,318.465 L263.275,318.465 L263.275,318.465 L262.902,318.465 L262.902,318.838 L262.902,318.838 L262.529,318.838 L262.529,318.838 L262.529,318.838 L262.529,318.838 L262.156,318.838 L262.156,318.838 L262.156,318.465 L262.156,318.465 L261.783,318.465 L261.783,318.465 L261.783,318.465 L261.783,318.093 L261.783,318.093 L261.783,318.093 L261.783,317.72 L261.783,317.347 L261.41, [...]
+	<path d="M264.021,317.72 L263.275,317.347 L263.275,317.72 L263.275,317.72 L263.275,317.72 L263.275,317.72 L263.648,318.838 L263.648,318.838 L263.648,318.838 L263.648,318.465 L263.648,318.465 L263.648,318.465 L263.648,318.838 L264.021,317.72 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M265.139,317.347 L265.139,317.347 L265.139,316.974 L265.139,316.974 L264.766,316.974 L264.766,316.974 L264.766,316.974 L264.393,316.974 L264.393,317.347 L264.393,317.347 L264.766,317.347 L264.766,317.347 L264.766,317.347 L265.139,317.347 L265.139,317.347 L265.139,317.347 L265.139,317.347 L265.139,317.72 L265.139,317.72 L265.139,317.72 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M265.885,317.72 L265.885,317.72 L265.512,317.72 L265.512,317.347 L265.512,317.347 L265.512,317.347 L265.512,317.347 L265.512,317.347 L265.512,317.347 L265.512,317.347 L265.139,317.347 L265.139,317.72 L265.139,318.093 L265.139,318.093 L265.139,318.093 L265.139,318.093 L265.139,318.465 L265.139,318.465 L264.766,318.465 L264.766,318.465 L264.766,318.465 L264.393,318.465 L264.393,318.465 L264.393,318.465 L264.393,318.465 L264.021,318.465 L264.021,318.465 L264.021,318.465 L264.021,3 [...]
+	<path d="M261.783,320.703 L261.783,320.33 L261.41,320.33 L261.41,320.33 L261.037,320.33 L261.037,320.33 L261.037,320.33 L261.037,320.33 L260.664,320.33 L260.664,320.33 L260.664,319.957 L260.664,320.33 L260.664,320.33 L260.664,320.33 L260.664,320.33 L260.664,320.703 L260.664,320.703 L260.664,320.703 L261.037,320.703 L261.037,320.703 L261.037,320.703 L261.41,320.703 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M265.512,324.059 L265.512,321.449 L265.139,321.449 L265.139,323.313 L265.139,323.313 L265.139,323.313 L264.766,323.313 L264.766,323.313 L264.766,323.313 L264.766,323.313 L264.393,323.313 L264.393,323.313 L264.393,323.313 L264.021,322.94 L264.021,322.94 L264.021,322.94 L264.021,322.94 L263.648,322.94 L263.648,322.94 L263.648,322.94 L263.648,322.94 L263.275,322.568 L263.275,322.568 L263.275,322.568 L262.902,322.568 L262.902,322.568 L262.902,322.568 L262.529,322.568 L262.529,322.5 [...]
+	<path d="M265.512,327.042 L265.512,326.297 L262.902,324.432 L262.156,324.432 L262.156,326.297 L261.41,326.297 L261.41,327.042 L262.156,327.042 L262.156,327.415 L262.902,327.415 L262.902,327.042 L262.902,324.805 L264.766,326.297 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M265.512,327.042 L264.766,326.297 L262.902,326.297 L262.902,324.805 L262.902,327.042 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M268.868,314.736 L269.614,314.736 L269.614,316.228 L268.868,316.228 L268.868,314.736 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M268.868,317.347 L268.868,316.974 L268.868,316.974 L268.868,316.974 L268.495,316.974 L268.495,316.974 L268.495,316.974 L268.123,316.974 L268.123,316.974 L268.123,317.347 L268.123,317.72 L268.123,317.72 L268.123,317.72 L268.123,317.347 L268.123,317.347 L268.123,317.347 L268.123,317.347 L268.495,317.347 L268.495,317.347 L268.495,317.347 L268.495,317.347 L268.868,317.347 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M269.987,318.838 L269.987,317.72 L269.987,318.093 L269.987,318.093 L269.987,318.093 L269.614,318.465 L269.614,318.465 L269.614,318.465 L269.614,318.465 L269.614,318.465 L269.241,318.838 L269.241,318.838 L269.241,318.838 L268.868,318.838 L268.868,318.838 L268.868,318.838 L268.868,318.838 L268.495,318.838 L268.495,318.465 L268.495,318.465 L268.495,318.465 L268.123,318.465 L268.123,318.465 L268.123,318.093 L268.123,318.093 L268.123,318.093 L268.123,317.72 L268.123,317.347 L268.123 [...]
+	<path d="M270.36,317.72 L269.987,317.347 L269.987,317.72 L269.987,317.72 L269.987,317.72 L269.987,317.72 L269.987,318.838 L269.987,318.838 L269.987,318.838 L269.987,318.465 L269.987,318.465 L269.987,318.465 L270.36,318.838 L270.36,317.72 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M271.479,317.347 L271.479,317.347 L271.479,316.974 L271.479,316.974 L271.479,316.974 L271.106,316.974 L271.106,316.974 L271.106,316.974 L270.733,317.347 L271.106,317.347 L271.106,317.347 L271.106,317.347 L271.479,317.347 L271.479,317.347 L271.479,317.347 L271.479,317.347 L271.479,317.347 L271.479,317.72 L271.479,317.72 L271.479,317.72 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M271.852,317.72 L271.852,317.72 L271.852,317.72 L271.852,317.347 L271.852,317.347 L271.479,317.347 L271.479,317.347 L271.479,317.347 L271.479,317.347 L271.479,317.347 L271.479,317.347 L271.479,317.72 L271.479,318.093 L271.479,318.093 L271.479,318.093 L271.479,318.093 L271.479,318.465 L271.479,318.465 L271.479,318.465 L271.106,318.465 L271.106,318.465 L271.106,318.465 L271.106,318.465 L270.733,318.465 L270.733,318.465 L270.733,318.465 L270.36,318.465 L270.36,318.465 L270.36,318. [...]
+	<path d="M268.495,320.703 L268.495,320.33 L267.75,320.33 L267.75,320.33 L267.75,320.33 L267.377,320.33 L267.377,320.33 L267.377,320.33 L267.377,320.33 L267.004,320.33 L267.004,319.957 L267.004,320.33 L267.004,320.33 L267.004,320.33 L267.004,320.33 L267.004,320.703 L267.004,320.703 L267.377,320.703 L267.377,320.703 L267.377,320.703 L267.75,320.703 L267.75,320.703 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M271.479,322.195 L271.479,321.822 L271.479,321.822 L271.479,321.822 L271.106,321.822 L271.106,321.822 L271.106,321.822 L271.106,321.822 L270.733,321.822 L270.733,321.822 L270.733,321.449 L270.733,321.449 L270.36,321.449 L270.36,321.449 L270.36,321.449 L269.987,321.449 L269.987,321.449 L269.987,321.449 L269.614,321.449 L269.614,321.449 L269.241,321.449 L269.241,321.449 L269.241,321.449 L268.868,321.822 L268.868,321.822 L268.868,321.822 L268.495,321.822 L268.495,321.822 L268.495, [...]
+	<path d="M271.852,322.94 L271.852,322.94 L271.852,322.94 L271.852,322.568 L271.852,322.568 L271.852,322.568 L271.479,322.568 L271.479,322.195 L271.479,322.195 L271.479,322.195 L271.479,322.195 L271.479,322.195 L271.479,322.94 L271.479,322.94 L271.479,323.313 L271.479,323.313 L271.479,323.313 L271.479,323.313 L271.479,323.313 L271.479,323.313 L271.479,323.313 L271.106,323.313 L271.106,323.313 L271.106,323.313 L271.106,323.313 L270.733,323.313 L270.733,323.313 L270.733,323.313 L270.36,323 [...]
+	<path d="M271.852,327.042 L271.852,326.297 L269.241,324.432 L268.868,324.432 L268.868,326.297 L267.75,326.297 L267.75,327.042 L268.868,327.042 L268.868,327.415 L269.241,327.415 L269.241,327.042 L269.241,324.805 L271.106,326.297 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M271.852,327.042 L271.106,326.297 L269.241,326.297 L269.241,324.805 L269.241,327.042 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M202.49,240.527 L203.609,240.527 M207.338,240.527 L209.949,240.527 M213.678,240.527 L216.288,240.527 M219.644,240.527 L222.255,240.527 M225.984,240.527 L228.221,240.527 M232.323,240.527 L234.561,240.527 M238.663,240.527 L240.9,240.527 M244.256,240.527 L246.867,240.527 " fill="none" stroke="#00BFFF" />
+	<path d="M250.596,240.527 L252.087,240.527 L252.087,239.408 " fill="none" stroke="#00BFFF" />
+	<path d="M252.087,235.679 L252.087,233.442 M252.087,229.34 L252.087,227.102 M252.087,223 L252.087,220.763 M252.087,217.034 L252.087,214.796 M252.087,210.694 L252.087,208.457 M252.087,204.728 L252.087,202.117 M252.087,198.761 L252.087,195.778 " fill="none" stroke="#00BFFF" />
+	<path d="M252.087,192.422 L252.087,190.93 L250.596,190.93 " fill="none" stroke="#00BFFF" />
+	<path d="M246.867,190.93 L244.256,190.93 M240.9,190.93 L238.663,190.93 M234.561,190.93 L232.323,190.93 M228.221,190.93 L225.984,190.93 M222.255,190.93 L219.644,190.93 M216.288,190.93 L213.678,190.93 M209.949,190.93 L207.338,190.93 " fill="none" stroke="#00BFFF" />
+	<path d="M203.609,190.93 L202.49,190.93 L202.49,192.422 " fill="none" stroke="#00BFFF" />
+	<path d="M202.49,195.778 L202.49,198.761 M202.49,202.117 L202.49,204.728 M202.49,208.457 L202.49,210.694 M202.49,214.796 L202.49,217.034 M202.49,220.763 L202.49,223 M202.49,227.102 L202.49,229.34 M202.49,233.442 L202.49,235.679 " fill="none" stroke="#00BFFF" />
+	<path d="M202.49,239.408 L202.49,240.527 " fill="none" stroke="#00BFFF" />
+	<path d="M194.286,249.104 L197.643,249.104 M200.999,249.104 L203.609,249.104 M207.338,249.104 L209.949,249.104 M213.678,249.104 L216.288,249.104 M219.644,249.104 L222.255,249.104 M225.984,249.104 L228.221,249.104 M232.323,249.104 L234.561,249.104 M238.663,249.104 L240.9,249.104 M244.256,249.104 L246.867,249.104 M250.596,249.104 L253.206,249.104 " fill="none" stroke="#00BFFF" />
+	<path d="M256.935,249.104 L260.291,249.104 L260.291,245.748 " fill="none" stroke="#00BFFF" />
+	<path d="M260.291,242.019 L260.291,239.408 M260.291,235.679 L260.291,233.442 M260.291,229.34 L260.291,227.102 M260.291,223 L260.291,220.763 M260.291,217.034 L260.291,214.796 M260.291,210.694 L260.291,208.457 M260.291,204.728 L260.291,202.117 M260.291,198.761 L260.291,195.778 M260.291,192.422 L260.291,189.811 " fill="none" stroke="#00BFFF" />
+	<path d="M260.291,186.082 L260.291,182.726 L256.935,182.726 " fill="none" stroke="#00BFFF" />
+	<path d="M253.206,182.726 L250.596,182.726 M246.867,182.726 L244.256,182.726 M240.9,182.726 L238.663,182.726 M234.561,182.726 L232.323,182.726 M228.221,182.726 L225.984,182.726 M222.255,182.726 L219.644,182.726 M216.288,182.726 L213.678,182.726 M209.949,182.726 L207.338,182.726 M203.609,182.726 L200.999,182.726 " fill="none" stroke="#00BFFF" />
+	<path d="M197.643,182.726 L194.286,182.726 L194.286,186.082 " fill="none" stroke="#00BFFF" />
+	<path d="M194.286,189.811 L194.286,192.422 M194.286,195.778 L194.286,198.761 M194.286,202.117 L194.286,204.728 M194.286,208.457 L194.286,210.694 M194.286,214.796 L194.286,217.034 M194.286,220.763 L194.286,223 M194.286,227.102 L194.286,229.34 M194.286,233.442 L194.286,235.679 M194.286,239.408 L194.286,242.019 " fill="none" stroke="#00BFFF" />
+	<path d="M194.286,245.748 L194.286,249.104 " fill="none" stroke="#00BFFF" />
+	<path d="M260.291,249.104 L257.308,246.121 " fill="none" stroke="#00BFFF" />
+	<path d="M255.071,243.511 L252.087,240.527 " fill="none" stroke="#00BFFF" />
+	<path d="M202.49,240.527 L199.88,243.511 " fill="none" stroke="#00BFFF" />
+	<path d="M196.897,246.121 L194.286,249.104 " fill="none" stroke="#00BFFF" />
+	<path d="M202.49,190.93 L199.88,187.947 " fill="none" stroke="#00BFFF" />
+	<path d="M196.897,185.709 L194.286,182.726 " fill="none" stroke="#00BFFF" />
+	<path d="M252.087,190.93 L255.071,187.947 " fill="none" stroke="#00BFFF" />
+	<path d="M257.308,185.709 L260.291,182.726 " fill="none" stroke="#00BFFF" />
+	<path d="M245.375,196.897 L245.375,216.661 L245.375,196.897 Z" fill="none" stroke="#FFFF00" />
+	<path d="M241.646,194.659 L245.375,196.897 L241.646,198.761 Z" fill="#FFFF00" stroke="none" />
+	<path d="M245.375,196.897 L241.646,198.761 L241.646,194.659 Z" fill="#FFFF00" stroke="none" />
+	<path d="M249.85,194.659 L245.375,196.897 L249.85,198.761 Z" fill="#FFFF00" stroke="none" />
+	<path d="M245.375,196.897 L249.85,198.761 L249.85,194.659 Z" fill="#FFFF00" stroke="none" />
+	<path d="M241.646,201.745 L242.392,201.745 L242.392,203.609 L241.646,203.609 L241.646,201.745 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M241.646,204.728 L241.646,203.982 L241.646,203.982 L241.273,203.982 L241.273,203.982 L241.273,203.982 L240.9,203.982 L240.9,204.355 L240.9,204.355 L240.9,204.355 L240.9,205.101 L240.9,205.101 L240.9,204.728 L240.9,204.728 L240.9,204.728 L240.9,204.728 L240.9,204.728 L240.9,204.728 L241.273,204.728 L241.273,204.728 L241.273,204.728 L241.646,204.728 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M242.765,206.219 L242.392,205.101 L242.392,205.101 L242.392,205.474 L242.392,205.474 L242.392,205.474 L242.392,205.474 L242.392,205.847 L242.392,205.847 L242.019,205.847 L242.019,205.847 L242.019,205.847 L242.019,205.847 L241.646,205.847 L241.646,205.847 L241.646,205.847 L241.646,205.847 L241.273,205.847 L241.273,205.847 L241.273,205.847 L240.9,205.847 L240.9,205.474 L240.9,205.474 L240.9,205.474 L240.9,205.101 L240.9,205.101 L240.9,205.101 L240.9,204.355 L240.527,204.355 L240. [...]
+	<path d="M243.138,204.728 L242.392,204.728 L242.392,204.728 L242.392,204.728 L242.392,205.101 L242.392,205.101 L242.765,206.219 L242.765,206.219 L242.765,205.847 L242.765,205.847 L242.765,205.847 L242.765,205.847 L242.765,205.847 L243.138,204.728 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M244.256,204.355 L244.256,204.355 L244.256,204.355 L244.256,204.355 L244.256,204.355 L243.883,203.982 L243.883,203.982 L243.883,203.982 L243.511,204.728 L243.511,204.728 L243.883,204.728 L243.883,204.728 L243.883,204.728 L244.256,204.728 L244.256,204.728 L244.256,204.728 L244.256,204.728 L244.256,204.728 L244.256,204.728 L244.256,205.101 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M244.629,205.101 L244.629,204.728 L244.629,204.728 L244.256,204.728 L244.256,204.728 L244.256,204.728 L244.256,204.728 L244.256,204.728 L244.256,204.355 L244.256,204.355 L244.256,204.355 L244.256,205.101 L244.256,205.101 L244.256,205.101 L244.256,205.474 L244.256,205.474 L244.256,205.474 L244.256,205.474 L243.883,205.474 L243.883,205.847 L243.883,205.847 L243.883,205.847 L243.511,205.847 L243.511,205.847 L243.511,205.847 L243.138,205.474 L243.138,205.474 L243.138,205.474 L243.1 [...]
+	<path d="M240.9,208.084 L240.9,207.338 L240.527,207.338 L240.527,207.711 L240.527,207.711 L240.154,207.711 L240.154,207.711 L240.154,207.711 L239.781,207.338 L239.781,207.338 L239.781,207.338 L239.408,207.338 L239.408,207.338 L239.781,207.711 L239.781,207.711 L239.781,207.711 L239.781,207.711 L239.781,207.711 L240.154,208.084 L240.154,208.084 L240.154,208.084 L240.527,208.084 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M244.256,211.44 L244.256,208.83 L244.256,208.83 L244.256,210.694 L244.256,210.694 L244.256,210.694 L243.883,210.694 L243.883,210.694 L243.883,210.694 L243.883,210.694 L243.511,210.694 L243.511,210.321 L243.511,210.321 L243.511,210.321 L243.138,210.321 L243.138,210.321 L243.138,210.321 L242.765,209.949 L242.765,209.949 L242.765,209.949 L242.765,209.949 L242.392,209.949 L242.392,209.949 L242.392,209.949 L242.019,209.576 L242.019,209.576 L242.019,209.576 L241.646,209.576 L241.646, [...]
+	<path d="M244.629,214.051 L244.629,213.678 L242.019,211.813 L241.646,211.813 L241.646,213.678 L240.527,213.678 L240.527,214.051 L241.646,214.051 L241.646,214.796 L242.019,214.796 L242.019,214.051 L242.019,212.186 L243.883,213.678 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M244.629,214.051 L243.883,213.678 L242.019,213.678 L242.019,212.186 L242.019,214.051 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M248.358,201.745 L248.731,201.745 L248.731,203.609 L248.358,203.609 L248.358,201.745 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M247.985,204.728 L247.985,203.982 L247.985,203.982 L247.985,203.982 L247.613,203.982 L247.613,203.982 L247.613,203.982 L247.24,204.355 L247.24,204.355 L247.24,204.355 L247.24,205.101 L247.24,205.101 L247.24,204.728 L247.24,204.728 L247.24,204.728 L247.613,204.728 L247.613,204.728 L247.613,204.728 L247.613,204.728 L247.613,204.728 L247.985,204.728 L247.985,204.728 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M249.104,206.219 L249.104,205.101 L249.104,205.101 L249.104,205.474 L249.104,205.474 L248.731,205.474 L248.731,205.474 L248.731,205.847 L248.731,205.847 L248.731,205.847 L248.358,205.847 L248.358,205.847 L248.358,205.847 L247.985,205.847 L247.985,205.847 L247.985,205.847 L247.985,205.847 L247.613,205.847 L247.613,205.847 L247.613,205.847 L247.613,205.847 L247.24,205.474 L247.24,205.474 L247.24,205.474 L247.24,205.101 L247.24,205.101 L247.24,205.101 L247.24,204.355 L247.24,204.3 [...]
+	<path d="M249.477,204.728 L249.104,204.728 L249.104,204.728 L249.104,204.728 L249.104,205.101 L249.104,205.101 L249.104,206.219 L249.104,206.219 L249.104,205.847 L249.104,205.847 L249.104,205.847 L249.477,205.847 L249.477,205.847 L249.477,204.728 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M250.596,204.355 L250.596,204.355 L250.223,204.355 L250.223,204.355 L250.223,204.355 L249.85,203.982 L249.85,203.982 L249.85,203.982 L249.85,204.728 L249.85,204.728 L249.85,204.728 L249.85,204.728 L250.223,204.728 L250.223,204.728 L250.223,204.728 L250.223,204.728 L250.223,204.728 L250.596,204.728 L250.596,204.728 L250.596,205.101 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M250.969,205.101 L250.969,204.728 L250.969,204.728 L250.969,204.728 L250.969,204.728 L250.969,204.728 L250.596,204.728 L250.596,204.728 L250.596,204.355 L250.596,204.355 L250.596,204.355 L250.596,205.101 L250.596,205.101 L250.596,205.101 L250.223,205.474 L250.223,205.474 L250.223,205.474 L250.223,205.474 L250.223,205.474 L249.85,205.847 L249.85,205.847 L249.85,205.847 L249.85,205.847 L249.85,205.847 L249.85,205.847 L249.85,205.474 L249.85,205.474 L249.477,205.474 L249.477,205.4 [...]
+	<path d="M247.613,208.084 L247.613,207.338 L246.867,207.338 L246.867,207.711 L246.867,207.711 L246.494,207.711 L246.494,207.711 L246.494,207.711 L246.494,207.338 L246.121,207.338 L246.121,207.338 L246.121,207.338 L246.121,207.338 L246.121,207.711 L246.121,207.711 L246.121,207.711 L246.494,207.711 L246.494,207.711 L246.494,208.084 L246.494,208.084 L246.867,208.084 L246.867,208.084 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M250.596,209.203 L250.223,209.203 L250.223,209.203 L250.223,209.203 L250.223,208.83 L249.85,208.83 L249.85,208.83 L249.85,208.83 L249.85,208.83 L249.85,208.83 L249.85,208.83 L249.85,208.83 L249.477,208.83 L249.477,208.83 L249.477,208.83 L249.104,208.83 L249.104,208.83 L249.104,208.83 L248.731,208.83 L248.731,208.83 L248.358,208.83 L248.358,208.83 L248.358,208.83 L247.985,208.83 L247.985,208.83 L247.985,208.83 L247.613,208.83 L247.613,208.83 L247.613,208.83 L247.613,209.203 L247 [...]
+	<path d="M250.969,210.321 L250.969,210.321 L250.969,209.949 L250.969,209.949 L250.969,209.949 L250.969,209.576 L250.596,209.576 L250.596,209.576 L250.596,209.576 L250.596,209.203 L250.596,209.203 L250.596,209.203 L250.596,210.321 L250.596,210.321 L250.596,210.321 L250.596,210.321 L250.223,210.694 L250.223,210.694 L250.223,210.694 L250.223,210.694 L250.223,210.694 L249.85,210.694 L249.85,210.694 L249.85,210.694 L249.85,210.694 L249.85,210.694 L249.85,210.694 L249.85,210.694 L249.85,210.6 [...]
+	<path d="M250.969,214.051 L250.969,213.678 L248.358,211.813 L247.985,211.813 L247.985,213.678 L246.867,213.678 L246.867,214.051 L247.985,214.051 L247.985,214.796 L248.358,214.796 L248.358,214.051 L248.358,212.186 L249.85,213.678 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M250.969,214.051 L249.85,213.678 L248.358,213.678 L248.358,212.186 L248.358,214.051 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M57.4282,240.527 L58.174,240.527 M62.276,240.527 L64.5135,240.527 M68.2426,240.527 L70.853,240.527 M74.5821,240.527 L76.8195,240.527 M80.5486,240.527 L83.159,240.527 M86.8881,240.527 L89.4985,240.527 M92.8547,240.527 L95.4651,240.527 M99.1942,240.527 L101.805,240.527 " fill="none" stroke="#00BFFF" />
+	<path d="M105.534,240.527 L106.652,240.527 L106.652,239.408 " fill="none" stroke="#00BFFF" />
+	<path d="M106.652,235.679 L106.652,233.442 M106.652,229.34 L106.652,227.102 M106.652,223 L106.652,220.763 M106.652,217.034 L106.652,214.796 M106.652,210.694 L106.652,208.457 M106.652,204.728 L106.652,202.117 M106.652,198.761 L106.652,195.778 " fill="none" stroke="#00BFFF" />
+	<path d="M106.652,192.422 L106.652,190.93 L105.534,190.93 " fill="none" stroke="#00BFFF" />
+	<path d="M101.805,190.93 L99.1942,190.93 M95.4651,190.93 L92.8547,190.93 M89.4985,190.93 L86.8881,190.93 M83.159,190.93 L80.5486,190.93 M76.8195,190.93 L74.5821,190.93 M70.853,190.93 L68.2426,190.93 M64.5135,190.93 L62.276,190.93 " fill="none" stroke="#00BFFF" />
+	<path d="M58.174,190.93 L57.4282,190.93 L57.4282,192.422 " fill="none" stroke="#00BFFF" />
+	<path d="M57.4282,195.778 L57.4282,198.761 M57.4282,202.117 L57.4282,204.728 M57.4282,208.457 L57.4282,210.694 M57.4282,214.796 L57.4282,217.034 M57.4282,220.763 L57.4282,223 M57.4282,227.102 L57.4282,229.34 M57.4282,233.442 L57.4282,235.679 " fill="none" stroke="#00BFFF" />
+	<path d="M57.4282,239.408 L57.4282,240.527 " fill="none" stroke="#00BFFF" />
+	<path d="M48.8513,249.104 L52.2075,249.104 M55.9366,249.104 L58.174,249.104 M62.276,249.104 L64.5135,249.104 M68.2426,249.104 L70.853,249.104 M74.5821,249.104 L76.8195,249.104 M80.5486,249.104 L83.159,249.104 M86.8881,249.104 L89.4985,249.104 M92.8547,249.104 L95.4651,249.104 M99.1942,249.104 L101.805,249.104 M105.534,249.104 L107.771,249.104 " fill="none" stroke="#00BFFF" />
+	<path d="M111.5,249.104 L114.856,249.104 L114.856,245.748 " fill="none" stroke="#00BFFF" />
+	<path d="M114.856,242.019 L114.856,239.408 M114.856,235.679 L114.856,233.442 M114.856,229.34 L114.856,227.102 M114.856,223 L114.856,220.763 M114.856,217.034 L114.856,214.796 M114.856,210.694 L114.856,208.457 M114.856,204.728 L114.856,202.117 M114.856,198.761 L114.856,195.778 M114.856,192.422 L114.856,189.811 " fill="none" stroke="#00BFFF" />
+	<path d="M114.856,186.082 L114.856,182.726 L111.5,182.726 " fill="none" stroke="#00BFFF" />
+	<path d="M107.771,182.726 L105.534,182.726 M101.805,182.726 L99.1942,182.726 M95.4651,182.726 L92.8547,182.726 M89.4985,182.726 L86.8881,182.726 M83.159,182.726 L80.5486,182.726 M76.8195,182.726 L74.5821,182.726 M70.853,182.726 L68.2426,182.726 M64.5135,182.726 L62.276,182.726 M58.174,182.726 L55.9366,182.726 " fill="none" stroke="#00BFFF" />
+	<path d="M52.2075,182.726 L48.8513,182.726 L48.8513,186.082 " fill="none" stroke="#00BFFF" />
+	<path d="M48.8513,189.811 L48.8513,192.422 M48.8513,195.778 L48.8513,198.761 M48.8513,202.117 L48.8513,204.728 M48.8513,208.457 L48.8513,210.694 M48.8513,214.796 L48.8513,217.034 M48.8513,220.763 L48.8513,223 M48.8513,227.102 L48.8513,229.34 M48.8513,233.442 L48.8513,235.679 M48.8513,239.408 L48.8513,242.019 " fill="none" stroke="#00BFFF" />
+	<path d="M48.8513,245.748 L48.8513,249.104 " fill="none" stroke="#00BFFF" />
+	<path d="M114.856,249.104 L112.246,246.121 " fill="none" stroke="#00BFFF" />
+	<path d="M109.263,243.511 L106.652,240.527 " fill="none" stroke="#00BFFF" />
+	<path d="M57.4282,240.527 L54.4449,243.511 " fill="none" stroke="#00BFFF" />
+	<path d="M51.8345,246.121 L48.8513,249.104 " fill="none" stroke="#00BFFF" />
+	<path d="M57.4282,190.93 L54.4449,187.947 " fill="none" stroke="#00BFFF" />
+	<path d="M51.8345,185.709 L48.8513,182.726 " fill="none" stroke="#00BFFF" />
+	<path d="M106.652,190.93 L109.263,187.947 " fill="none" stroke="#00BFFF" />
+	<path d="M112.246,185.709 L114.856,182.726 " fill="none" stroke="#00BFFF" />
+	<path d="M100.313,196.897 L100.313,216.661 L100.313,196.897 Z" fill="none" stroke="#FFFF00" />
+	<path d="M96.2109,194.659 L100.313,196.897 L96.2109,198.761 Z" fill="#FFFF00" stroke="none" />
+	<path d="M100.313,196.897 L96.2109,198.761 L96.2109,194.659 Z" fill="#FFFF00" stroke="none" />
+	<path d="M104.415,194.659 L100.313,196.897 L104.415,198.761 Z" fill="#FFFF00" stroke="none" />
+	<path d="M100.313,196.897 L104.415,198.761 L104.415,194.659 Z" fill="#FFFF00" stroke="none" />
+	<path d="M96.2109,201.745 L96.5838,201.745 L96.5838,203.609 L96.2109,203.609 L96.2109,201.745 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M96.2109,204.728 L96.2109,203.982 L96.2109,203.982 L96.2109,203.982 L96.2109,203.982 L95.838,203.982 L95.838,203.982 L95.838,204.355 L95.838,204.355 L95.4651,204.355 L95.4651,205.101 L95.4651,205.101 L95.838,204.728 L95.838,204.728 L95.838,204.728 L95.838,204.728 L95.838,204.728 L95.838,204.728 L95.838,204.728 L96.2109,204.728 L96.2109,204.728 L96.2109,204.728 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M96.9567,206.219 L96.9567,205.101 L96.9567,205.101 L96.9567,205.474 L96.9567,205.474 L96.9567,205.474 L96.9567,205.474 L96.9567,205.847 L96.5838,205.847 L96.5838,205.847 L96.5838,205.847 L96.5838,205.847 L96.2109,205.847 L96.2109,205.847 L96.2109,205.847 L96.2109,205.847 L96.2109,205.847 L96.2109,205.847 L96.2109,205.847 L95.838,205.847 L95.838,205.847 L95.838,205.474 L95.838,205.474 L95.838,205.474 L95.838,205.101 L95.4651,205.101 L95.4651,205.101 L95.4651,204.355 L95.4651,204 [...]
+	<path d="M97.3296,204.728 L96.9567,204.728 L96.9567,204.728 L96.9567,204.728 L96.9567,205.101 L96.9567,205.101 L96.9567,206.219 L97.3296,206.219 L97.3296,205.847 L97.3296,205.847 L97.3296,205.847 L97.3296,205.847 L97.3296,205.847 L97.3296,204.728 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M98.8213,204.355 L98.8213,204.355 L98.8213,204.355 L98.8213,204.355 L98.4483,204.355 L98.4483,203.982 L98.4483,203.982 L98.0754,203.982 L98.0754,204.728 L98.0754,204.728 L98.4483,204.728 L98.4483,204.728 L98.4483,204.728 L98.4483,204.728 L98.8213,204.728 L98.8213,204.728 L98.8213,204.728 L98.8213,204.728 L98.8213,204.728 L98.8213,205.101 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M99.1942,205.101 L99.1942,204.728 L99.1942,204.728 L99.1942,204.728 L99.1942,204.728 L99.1942,204.728 L99.1942,204.728 L99.1942,204.728 L99.1942,204.355 L99.1942,204.355 L98.8213,204.355 L98.8213,205.101 L98.8213,205.101 L98.8213,205.101 L98.8213,205.474 L98.8213,205.474 L98.8213,205.474 L98.4483,205.474 L98.4483,205.847 L98.4483,205.847 L98.4483,205.847 L98.0754,205.847 L98.0754,205.847 L98.0754,205.847 L97.7025,205.847 L97.7025,205.474 L97.7025,205.474 L97.7025,205.474 L97.70 [...]
+	<path d="M95.838,208.084 L95.838,207.338 L95.0922,207.338 L95.0922,207.711 L95.0922,207.711 L95.0922,207.711 L95.0922,207.711 L94.7192,207.711 L94.7192,207.338 L94.7192,207.338 L94.7192,207.338 L94.3463,207.338 L94.3463,207.338 L94.3463,207.711 L94.7192,207.711 L94.7192,207.711 L94.7192,207.711 L94.7192,207.711 L94.7192,208.084 L95.0922,208.084 L95.0922,208.084 L95.0922,208.084 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M99.1942,211.44 L99.1942,208.83 L98.8213,208.83 L98.8213,210.694 L98.8213,210.694 L98.4483,210.694 L98.4483,210.694 L98.4483,210.694 L98.4483,210.694 L98.0754,210.694 L98.0754,210.694 L98.0754,210.321 L98.0754,210.321 L97.7025,210.321 L97.7025,210.321 L97.7025,210.321 L97.7025,210.321 L97.3296,209.949 L97.3296,209.949 L97.3296,209.949 L96.9567,209.949 L96.9567,209.949 L96.9567,209.949 L96.5838,209.949 L96.5838,209.949 L96.5838,209.576 L96.2109,209.576 L96.2109,209.576 L96.2109, [...]
+	<path d="M99.1942,214.051 L99.1942,213.678 L96.5838,211.813 L96.2109,211.813 L96.2109,213.678 L95.0922,213.678 L95.0922,214.051 L96.2109,214.051 L96.2109,214.796 L96.5838,214.796 L96.5838,214.051 L96.5838,212.186 L98.4483,213.678 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M99.1942,214.051 L98.4483,213.678 L96.5838,213.678 L96.5838,212.186 L96.5838,214.051 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M102.55,201.745 L103.296,201.745 L103.296,203.609 L102.55,203.609 L102.55,201.745 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M102.55,204.728 L102.55,203.982 L102.55,203.982 L102.177,203.982 L102.177,203.982 L102.177,203.982 L101.805,203.982 L101.805,204.355 L101.805,204.355 L101.805,204.355 L101.805,205.101 L101.805,205.101 L101.805,204.728 L101.805,204.728 L101.805,204.728 L101.805,204.728 L101.805,204.728 L102.177,204.728 L102.177,204.728 L102.177,204.728 L102.177,204.728 L102.55,204.728 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M103.669,206.219 L103.296,205.101 L103.296,205.101 L103.296,205.474 L103.296,205.474 L103.296,205.474 L103.296,205.474 L103.296,205.847 L103.296,205.847 L102.923,205.847 L102.923,205.847 L102.923,205.847 L102.923,205.847 L102.55,205.847 L102.55,205.847 L102.55,205.847 L102.55,205.847 L102.177,205.847 L102.177,205.847 L102.177,205.847 L101.805,205.847 L101.805,205.474 L101.805,205.474 L101.805,205.474 L101.805,205.101 L101.805,205.101 L101.805,205.101 L101.805,204.355 L101.805,2 [...]
+	<path d="M104.042,204.728 L103.296,204.728 L103.296,204.728 L103.296,204.728 L103.296,205.101 L103.296,205.101 L103.669,206.219 L103.669,206.219 L103.669,205.847 L103.669,205.847 L103.669,205.847 L103.669,205.847 L103.669,205.847 L104.042,204.728 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M105.534,204.355 L105.161,204.355 L105.161,204.355 L105.161,204.355 L105.161,204.355 L104.788,203.982 L104.788,203.982 L104.788,203.982 L104.415,204.728 L104.415,204.728 L104.788,204.728 L104.788,204.728 L104.788,204.728 L105.161,204.728 L105.161,204.728 L105.161,204.728 L105.161,204.728 L105.161,204.728 L105.161,204.728 L105.161,205.101 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M105.907,205.101 L105.907,204.728 L105.907,204.728 L105.534,204.728 L105.534,204.728 L105.534,204.728 L105.534,204.728 L105.534,204.728 L105.534,204.355 L105.534,204.355 L105.534,204.355 L105.161,205.101 L105.161,205.101 L105.161,205.101 L105.161,205.474 L105.161,205.474 L105.161,205.474 L105.161,205.474 L104.788,205.847 L104.788,205.847 L104.788,205.847 L104.788,205.847 L104.415,205.847 L104.415,205.847 L104.415,205.847 L104.042,205.474 L104.042,205.474 L104.042,205.474 L104.0 [...]
+	<path d="M101.805,208.084 L101.805,207.338 L101.805,207.338 L101.805,207.711 L101.805,207.711 L101.432,207.711 L101.432,207.711 L101.432,207.711 L101.059,207.338 L101.059,207.338 L101.059,207.338 L100.686,207.338 L100.686,207.338 L101.059,207.711 L101.059,207.711 L101.059,207.711 L101.059,207.711 L101.059,207.711 L101.432,208.084 L101.432,208.084 L101.432,208.084 L101.805,208.084 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M105.161,209.203 L105.161,209.203 L105.161,209.203 L105.161,209.203 L104.788,208.83 L104.788,208.83 L104.788,208.83 L104.788,208.83 L104.415,208.83 L104.415,208.83 L104.415,208.83 L104.042,208.83 L104.042,208.83 L104.042,208.83 L103.669,208.83 L103.669,208.83 L103.669,208.83 L103.296,208.83 L103.296,208.83 L103.296,208.83 L102.923,208.83 L102.923,208.83 L102.55,208.83 L102.55,208.83 L102.55,208.83 L102.177,208.83 L102.177,208.83 L102.177,208.83 L102.177,208.83 L101.805,209.203  [...]
+	<path d="M105.907,210.321 L105.907,210.321 L105.907,209.949 L105.907,209.949 L105.534,209.949 L105.534,209.576 L105.534,209.576 L105.534,209.576 L105.534,209.576 L105.534,209.203 L105.534,209.203 L105.161,209.203 L105.161,210.321 L105.161,210.321 L105.161,210.321 L105.161,210.321 L105.161,210.694 L105.161,210.694 L105.161,210.694 L104.788,210.694 L104.788,210.694 L104.788,210.694 L104.788,210.694 L104.788,210.694 L104.788,210.694 L104.415,210.694 L104.415,210.694 L104.415,210.694 L104.0 [...]
+	<path d="M105.907,214.051 L105.907,213.678 L102.923,211.813 L102.55,211.813 L102.55,213.678 L101.805,213.678 L101.805,214.051 L102.55,214.051 L102.55,214.796 L102.923,214.796 L102.923,214.051 L102.923,212.186 L104.788,213.678 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M105.907,214.051 L104.788,213.678 L102.923,213.678 L102.923,212.186 L102.923,214.051 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M298.701,475.834 L299.447,475.834 M303.549,475.834 L305.787,475.834 M309.889,475.834 L312.126,475.834 M315.482,475.834 L318.093,475.834 M321.822,475.834 L324.432,475.834 M328.161,475.834 L330.772,475.834 M334.128,475.834 L337.111,475.834 M340.467,475.834 L342.705,475.834 " fill="none" stroke="#00BFFF" />
+	<path d="M346.807,475.834 L347.925,475.834 L347.925,474.342 " fill="none" stroke="#00BFFF" />
+	<path d="M347.925,470.986 L347.925,468.375 M347.925,464.646 L347.925,462.036 M347.925,458.307 L347.925,455.697 M347.925,452.34 L347.925,449.357 M347.925,446.001 L347.925,443.39 M347.925,439.661 L347.925,437.051 M347.925,433.322 L347.925,430.712 " fill="none" stroke="#00BFFF" />
+	<path d="M347.925,427.355 L347.925,425.864 L346.807,425.864 " fill="none" stroke="#00BFFF" />
+	<path d="M342.705,425.864 L340.467,425.864 M337.111,425.864 L334.128,425.864 M330.772,425.864 L328.161,425.864 M324.432,425.864 L321.822,425.864 M318.093,425.864 L315.482,425.864 M312.126,425.864 L309.889,425.864 M305.787,425.864 L303.549,425.864 " fill="none" stroke="#00BFFF" />
+	<path d="M299.447,425.864 L298.701,425.864 L298.701,427.355 " fill="none" stroke="#00BFFF" />
+	<path d="M298.701,430.712 L298.701,433.322 M298.701,437.051 L298.701,439.661 M298.701,443.39 L298.701,446.001 M298.701,449.357 L298.701,452.34 M298.701,455.697 L298.701,458.307 M298.701,462.036 L298.701,464.646 M298.701,468.375 L298.701,470.986 " fill="none" stroke="#00BFFF" />
+	<path d="M298.701,474.342 L298.701,475.834 " fill="none" stroke="#00BFFF" />
+	<path d="M294.226,479.936 L296.464,479.936 M300.193,479.936 L302.803,479.936 M306.532,479.936 L309.143,479.936 M312.499,479.936 L315.482,479.936 M318.838,479.936 L321.076,479.936 M325.178,479.936 L327.415,479.936 M331.517,479.936 L333.755,479.936 M337.484,479.936 L339.721,479.936 M343.45,479.936 L346.061,479.936 " fill="none" stroke="#00BFFF" />
+	<path d="M349.79,479.936 L352.027,479.936 L352.027,477.698 " fill="none" stroke="#00BFFF" />
+	<path d="M352.027,473.969 L352.027,471.359 M352.027,467.63 L352.027,465.392 M352.027,461.29 L352.027,459.053 M352.027,454.951 L352.027,452.713 M352.027,448.984 L352.027,446.747 M352.027,442.645 L352.027,440.407 M352.027,436.305 L352.027,434.068 M352.027,430.339 L352.027,427.728 " fill="none" stroke="#00BFFF" />
+	<path d="M352.027,424.372 L352.027,421.762 L349.79,421.762 " fill="none" stroke="#00BFFF" />
+	<path d="M346.061,421.762 L343.45,421.762 M339.721,421.762 L337.484,421.762 M333.755,421.762 L331.517,421.762 M327.415,421.762 L325.178,421.762 M321.076,421.762 L318.838,421.762 M315.482,421.762 L312.499,421.762 M309.143,421.762 L306.532,421.762 M302.803,421.762 L300.193,421.762 " fill="none" stroke="#00BFFF" />
+	<path d="M296.464,421.762 L294.226,421.762 L294.226,424.372 " fill="none" stroke="#00BFFF" />
+	<path d="M294.226,427.728 L294.226,430.339 M294.226,434.068 L294.226,436.305 M294.226,440.407 L294.226,442.645 M294.226,446.747 L294.226,448.984 M294.226,452.713 L294.226,454.951 M294.226,459.053 L294.226,461.29 M294.226,465.392 L294.226,467.63 M294.226,471.359 L294.226,473.969 " fill="none" stroke="#00BFFF" />
+	<path d="M294.226,477.698 L294.226,479.936 " fill="none" stroke="#00BFFF" />
+	<path d="M352.027,479.936 L347.925,475.834 M298.701,475.834 L294.226,479.936 M298.701,425.864 L294.226,421.762 M347.925,425.864 L352.027,421.762 " fill="none" stroke="#00BFFF" />
+	<path d="M341.959,431.83 L341.959,451.967 L341.959,431.83 Z" fill="none" stroke="#FFFF00" />
+	<path d="M337.484,429.966 L341.959,431.83 L337.484,434.068 Z" fill="#FFFF00" stroke="none" />
+	<path d="M341.959,431.83 L337.484,434.068 L337.484,429.966 Z" fill="#FFFF00" stroke="none" />
+	<path d="M346.061,429.966 L341.959,431.83 L346.061,434.068 Z" fill="#FFFF00" stroke="none" />
+	<path d="M341.959,431.83 L346.061,434.068 L346.061,429.966 Z" fill="#FFFF00" stroke="none" />
+	<path d="M337.857,436.678 L338.23,436.678 L338.23,438.543 L337.857,438.543 L337.857,436.678 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M337.484,439.288 L337.484,438.916 L337.484,438.916 L337.484,438.916 L337.484,438.916 L337.484,438.916 L337.484,438.916 L337.484,439.288 L337.111,439.288 L337.111,439.288 L337.111,440.407 L337.111,440.034 L337.111,440.034 L337.111,440.034 L337.111,440.034 L337.484,439.661 L337.484,439.661 L337.484,439.661 L337.484,439.661 L337.484,439.661 L337.484,439.661 L337.484,439.661 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M338.603,441.526 L338.603,440.407 L338.603,440.407 L338.603,440.407 L338.603,440.78 L338.603,440.78 L338.23,440.78 L338.23,441.153 L338.23,441.153 L338.23,441.153 L337.857,441.153 L337.857,441.153 L337.857,441.153 L337.857,441.153 L337.857,441.153 L337.484,441.153 L337.484,441.153 L337.484,441.153 L337.484,441.153 L337.484,441.153 L337.484,440.78 L337.484,440.78 L337.111,440.78 L337.111,440.78 L337.111,440.407 L337.111,440.407 L337.111,440.407 L337.111,439.288 L337.111,439.288  [...]
+	<path d="M338.976,440.034 L338.603,440.034 L338.603,440.034 L338.603,440.034 L338.603,440.407 L338.603,440.407 L338.603,441.526 L338.603,441.153 L338.603,441.153 L338.603,441.153 L338.603,441.153 L338.976,441.153 L338.976,441.153 L338.976,440.034 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M340.467,439.288 L340.467,439.288 L340.094,439.288 L340.094,439.288 L340.094,438.916 L340.094,438.916 L339.721,438.916 L339.721,438.916 L339.721,439.661 L339.721,439.661 L339.721,439.661 L339.721,439.661 L340.094,439.661 L340.094,439.661 L340.094,439.661 L340.094,439.661 L340.467,440.034 L340.467,440.034 L340.467,440.034 L340.467,440.407 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M340.84,440.407 L340.84,440.034 L340.84,440.034 L340.84,440.034 L340.84,439.661 L340.84,439.661 L340.467,439.661 L340.467,439.661 L340.467,439.288 L340.467,439.288 L340.467,439.288 L340.467,440.407 L340.467,440.407 L340.467,440.407 L340.467,440.78 L340.094,440.78 L340.094,440.78 L340.094,440.78 L340.094,440.78 L340.094,441.153 L339.721,441.153 L339.721,441.153 L339.721,441.153 L339.348,441.153 L339.348,440.78 L339.348,440.78 L339.348,440.78 L338.976,440.78 L338.976,440.78 L338. [...]
+	<path d="M337.484,443.018 L337.484,442.272 L336.738,442.272 L336.738,442.645 L336.738,442.645 L336.365,442.645 L336.365,442.645 L336.365,442.645 L336.365,442.272 L336.365,442.272 L335.992,442.272 L335.992,442.272 L335.992,442.272 L335.992,442.645 L335.992,442.645 L335.992,442.645 L336.365,442.645 L336.365,442.645 L336.365,442.645 L336.365,443.018 L336.738,443.018 L336.738,443.018 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M337.484,444.136 L337.484,443.763 L337.484,443.763 L337.484,443.763 L337.484,443.763 L337.484,443.763 L337.484,443.763 L337.111,443.763 L337.111,443.763 L337.111,444.136 L337.111,444.136 L337.111,444.136 L336.738,444.136 L336.738,444.509 L336.738,444.509 L336.738,444.509 L336.738,444.509 L336.738,444.882 L336.738,444.882 L336.738,445.255 L336.738,445.255 L336.738,445.255 L336.738,445.255 L336.738,445.628 L336.738,445.628 L336.738,445.628 L336.738,445.628 L336.738,446.001 L337.1 [...]
+	<path d="M338.976,446.001 L338.976,444.882 L338.976,445.255 L338.976,445.255 L338.976,445.255 L338.603,445.628 L338.603,445.628 L338.603,445.628 L338.603,445.628 L338.603,445.628 L338.603,446.001 L338.23,446.001 L338.23,446.001 L338.23,446.001 L337.857,446.001 L337.857,446.001 L337.857,446.001 L337.857,446.001 L337.484,446.001 L337.484,446.001 L337.484,446.001 L337.484,446.001 L337.484,445.628 L337.484,445.628 L337.484,445.628 L337.484,445.628 L337.111,445.628 L337.111,445.255 L337.111, [...]
+	<path d="M339.348,445.255 L339.348,445.255 L339.348,444.882 L339.348,444.882 L339.348,444.882 L339.348,444.882 L339.348,444.509 L338.976,444.509 L338.976,444.509 L338.976,446.001 L338.976,446.001 L338.976,446.001 L339.348,445.628 L339.348,445.628 L339.348,445.628 L339.348,445.628 L339.348,445.255 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M340.84,446.374 L340.84,444.136 L338.603,443.763 L338.23,444.136 L338.603,444.136 L338.603,444.509 L338.603,444.509 L338.603,444.509 L338.603,444.509 L338.603,444.882 L338.976,444.882 L338.976,444.882 L338.976,444.882 L338.976,446.001 L338.976,446.001 L338.976,446.001 L338.976,444.509 L340.094,444.509 L340.094,446.374 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M340.84,448.984 L340.84,448.611 L337.857,446.747 L337.484,446.747 L337.484,448.611 L336.738,448.611 L336.738,448.984 L337.484,448.984 L337.484,449.73 L337.857,449.73 L337.857,448.984 L337.857,447.492 L340.094,448.611 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M340.84,448.984 L340.094,448.611 L337.857,448.611 L337.857,447.492 L337.857,448.984 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M344.196,436.678 L344.569,436.678 L344.569,438.543 L344.196,438.543 L344.196,436.678 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M344.196,439.288 L343.823,438.916 L343.823,438.916 L343.823,438.916 L343.823,438.916 L343.45,438.916 L343.45,438.916 L343.45,439.288 L343.45,439.288 L343.078,439.288 L343.078,440.407 L343.078,440.034 L343.078,440.034 L343.45,440.034 L343.45,440.034 L343.45,439.661 L343.45,439.661 L343.45,439.661 L343.45,439.661 L343.823,439.661 L343.823,439.661 L343.823,439.661 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M344.942,441.526 L344.942,440.407 L344.942,440.407 L344.942,440.407 L344.942,440.78 L344.942,440.78 L344.942,440.78 L344.569,441.153 L344.569,441.153 L344.569,441.153 L344.569,441.153 L344.196,441.153 L344.196,441.153 L344.196,441.153 L344.196,441.153 L343.823,441.153 L343.823,441.153 L343.823,441.153 L343.823,441.153 L343.45,441.153 L343.45,440.78 L343.45,440.78 L343.45,440.78 L343.078,440.78 L343.078,440.407 L343.078,440.407 L343.078,440.407 L343.078,439.288 L343.078,439.288  [...]
+	<path d="M345.315,440.034 L344.942,440.034 L344.942,440.034 L344.942,440.034 L344.942,440.407 L344.942,440.407 L344.942,441.526 L344.942,441.153 L345.315,441.153 L345.315,441.153 L345.315,441.153 L345.315,441.153 L345.315,441.153 L345.315,440.034 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M346.807,439.288 L346.807,439.288 L346.807,439.288 L346.434,439.288 L346.434,438.916 L346.434,438.916 L346.061,438.916 L346.061,438.916 L346.061,439.661 L346.061,439.661 L346.061,439.661 L346.434,439.661 L346.434,439.661 L346.434,439.661 L346.434,439.661 L346.807,439.661 L346.807,440.034 L346.807,440.034 L346.807,440.034 L346.807,440.407 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M347.18,440.407 L347.18,440.034 L347.18,440.034 L347.18,440.034 L347.18,439.661 L347.18,439.661 L347.18,439.661 L347.18,439.661 L346.807,439.288 L346.807,439.288 L346.807,439.288 L346.807,440.407 L346.807,440.407 L346.807,440.407 L346.807,440.78 L346.807,440.78 L346.434,440.78 L346.434,440.78 L346.434,440.78 L346.434,441.153 L346.061,441.153 L346.061,441.153 L346.061,441.153 L346.061,441.153 L345.688,440.78 L345.688,440.78 L345.688,440.78 L345.688,440.78 L345.688,440.78 L345.31 [...]
+	<path d="M343.45,443.018 L343.45,442.272 L342.705,442.272 L342.705,442.645 L342.705,442.645 L342.705,442.645 L342.705,442.645 L342.705,442.645 L342.705,442.272 L342.705,442.272 L342.705,442.272 L342.332,442.272 L342.332,442.272 L342.332,442.645 L342.332,442.645 L342.705,442.645 L342.705,442.645 L342.705,442.645 L342.705,442.645 L342.705,443.018 L342.705,443.018 L342.705,443.018 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M346.807,444.136 L346.807,444.136 L346.434,444.136 L346.434,443.763 L346.434,443.763 L346.434,443.763 L346.061,443.763 L346.061,443.763 L346.061,443.763 L346.061,443.763 L345.688,443.763 L345.688,443.763 L345.688,443.763 L345.315,443.763 L345.315,443.763 L345.315,443.763 L344.942,443.763 L344.942,443.763 L344.942,443.763 L344.569,443.763 L344.569,443.763 L344.196,443.763 L344.196,443.763 L344.196,443.763 L343.823,443.763 L343.823,443.763 L343.823,443.763 L343.45,443.763 L343.45 [...]
+	<path d="M347.18,445.255 L347.18,445.255 L347.18,444.882 L347.18,444.882 L347.18,444.882 L347.18,444.509 L347.18,444.509 L347.18,444.509 L346.807,444.136 L346.807,444.136 L346.807,444.136 L346.807,444.136 L346.807,445.255 L346.807,445.255 L346.807,445.255 L346.807,445.255 L346.807,445.628 L346.807,445.628 L346.434,445.628 L346.434,445.628 L346.434,445.628 L346.434,445.628 L346.434,445.628 L346.061,446.001 L346.061,446.001 L346.061,446.001 L346.061,446.001 L345.688,446.001 L345.688,446.0 [...]
+	<path d="M347.18,448.984 L347.18,448.611 L344.196,446.747 L343.823,446.747 L343.823,448.611 L342.705,448.611 L342.705,448.984 L343.823,448.984 L343.823,449.73 L344.196,449.73 L344.196,448.984 L344.196,447.492 L346.434,448.611 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M347.18,448.984 L346.434,448.611 L344.196,448.611 L344.196,447.492 L344.196,448.984 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M298.701,355.384 L299.447,355.384 M303.549,355.384 L305.787,355.384 M309.889,355.384 L312.126,355.384 M315.482,355.384 L318.093,355.384 M321.822,355.384 L324.432,355.384 M328.161,355.384 L330.772,355.384 M334.128,355.384 L337.111,355.384 M340.467,355.384 L342.705,355.384 " fill="none" stroke="#00BFFF" />
+	<path d="M346.807,355.384 L347.925,355.384 L347.925,354.265 " fill="none" stroke="#00BFFF" />
+	<path d="M347.925,350.536 L347.925,347.925 M347.925,344.569 L347.925,341.586 M347.925,338.23 L347.925,335.619 M347.925,331.89 L347.925,329.28 M347.925,325.551 L347.925,323.313 M347.925,319.584 L347.925,317.347 M347.925,313.245 L347.925,311.007 " fill="none" stroke="#00BFFF" />
+	<path d="M347.925,306.905 L347.925,305.787 L346.807,305.787 " fill="none" stroke="#00BFFF" />
+	<path d="M342.705,305.787 L340.467,305.787 M337.111,305.787 L334.128,305.787 M330.772,305.787 L328.161,305.787 M324.432,305.787 L321.822,305.787 M318.093,305.787 L315.482,305.787 M312.126,305.787 L309.889,305.787 M305.787,305.787 L303.549,305.787 " fill="none" stroke="#00BFFF" />
+	<path d="M299.447,305.787 L298.701,305.787 L298.701,306.905 " fill="none" stroke="#00BFFF" />
+	<path d="M298.701,311.007 L298.701,313.245 M298.701,317.347 L298.701,319.584 M298.701,323.313 L298.701,325.551 M298.701,329.28 L298.701,331.89 M298.701,335.619 L298.701,338.23 M298.701,341.586 L298.701,344.569 M298.701,347.925 L298.701,350.536 " fill="none" stroke="#00BFFF" />
+	<path d="M298.701,354.265 L298.701,355.384 " fill="none" stroke="#00BFFF" />
+	<path d="M294.226,359.486 L296.464,359.486 M300.193,359.486 L302.803,359.486 M306.532,359.486 L309.143,359.486 M312.499,359.486 L315.482,359.486 M318.838,359.486 L321.076,359.486 M325.178,359.486 L327.415,359.486 M331.517,359.486 L333.755,359.486 M337.484,359.486 L339.721,359.486 M343.45,359.486 L346.061,359.486 " fill="none" stroke="#00BFFF" />
+	<path d="M349.79,359.486 L352.027,359.486 L352.027,357.621 " fill="none" stroke="#00BFFF" />
+	<path d="M352.027,353.519 L352.027,351.282 M352.027,347.18 L352.027,344.942 M352.027,341.213 L352.027,338.976 M352.027,335.246 L352.027,332.636 M352.027,328.907 L352.027,326.297 M352.027,322.94 L352.027,319.957 M352.027,316.601 L352.027,313.991 M352.027,310.261 L352.027,307.651 " fill="none" stroke="#00BFFF" />
+	<path d="M352.027,303.922 L352.027,301.685 L349.79,301.685 " fill="none" stroke="#00BFFF" />
+	<path d="M346.061,301.685 L343.45,301.685 M339.721,301.685 L337.484,301.685 M333.755,301.685 L331.517,301.685 M327.415,301.685 L325.178,301.685 M321.076,301.685 L318.838,301.685 M315.482,301.685 L312.499,301.685 M309.143,301.685 L306.532,301.685 M302.803,301.685 L300.193,301.685 " fill="none" stroke="#00BFFF" />
+	<path d="M296.464,301.685 L294.226,301.685 L294.226,303.922 " fill="none" stroke="#00BFFF" />
+	<path d="M294.226,307.651 L294.226,310.261 M294.226,313.991 L294.226,316.601 M294.226,319.957 L294.226,322.94 M294.226,326.297 L294.226,328.907 M294.226,332.636 L294.226,335.246 M294.226,338.976 L294.226,341.213 M294.226,344.942 L294.226,347.18 M294.226,351.282 L294.226,353.519 " fill="none" stroke="#00BFFF" />
+	<path d="M294.226,357.621 L294.226,359.486 " fill="none" stroke="#00BFFF" />
+	<path d="M352.027,359.486 L347.925,355.384 M298.701,355.384 L294.226,359.486 M298.701,305.787 L294.226,301.685 M347.925,305.787 L352.027,301.685 " fill="none" stroke="#00BFFF" />
+	<path d="M341.959,311.753 L341.959,331.89 L341.959,311.753 Z" fill="none" stroke="#FFFF00" />
+	<path d="M337.484,309.889 L341.959,311.753 L337.484,313.618 Z" fill="#FFFF00" stroke="none" />
+	<path d="M341.959,311.753 L337.484,313.618 L337.484,309.889 Z" fill="#FFFF00" stroke="none" />
+	<path d="M346.061,309.889 L341.959,311.753 L346.061,313.618 Z" fill="#FFFF00" stroke="none" />
+	<path d="M341.959,311.753 L346.061,313.618 L346.061,309.889 Z" fill="#FFFF00" stroke="none" />
+	<path d="M337.857,316.974 L338.23,316.974 L338.23,318.093 L337.857,318.093 L337.857,316.974 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M337.484,319.211 L337.484,318.465 L337.484,318.838 L337.484,318.838 L337.484,318.838 L337.484,318.838 L337.484,318.838 L337.484,318.838 L337.111,318.838 L337.111,318.838 L337.111,319.957 L337.111,319.957 L337.111,319.957 L337.111,319.584 L337.111,319.584 L337.484,319.584 L337.484,319.584 L337.484,319.584 L337.484,319.211 L337.484,319.211 L337.484,319.211 L337.484,319.211 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M338.603,321.076 L338.603,319.957 L338.603,320.33 L338.603,320.33 L338.603,320.33 L338.603,320.703 L338.23,320.703 L338.23,320.703 L338.23,320.703 L338.23,320.703 L337.857,321.076 L337.857,321.076 L337.857,321.076 L337.857,321.076 L337.857,321.076 L337.484,321.076 L337.484,321.076 L337.484,321.076 L337.484,320.703 L337.484,320.703 L337.484,320.703 L337.484,320.703 L337.111,320.33 L337.111,320.33 L337.111,320.33 L337.111,320.33 L337.111,319.957 L337.111,318.838 L337.111,319.211  [...]
+	<path d="M338.976,319.957 L338.603,319.584 L338.603,319.584 L338.603,319.957 L338.603,319.957 L338.603,319.957 L338.603,321.076 L338.603,321.076 L338.603,321.076 L338.603,320.703 L338.603,320.703 L338.976,320.703 L338.976,321.076 L338.976,319.957 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M340.467,319.211 L340.467,318.838 L340.094,318.838 L340.094,318.838 L340.094,318.838 L340.094,318.838 L339.721,318.838 L339.721,318.838 L339.721,319.211 L339.721,319.211 L339.721,319.211 L339.721,319.211 L340.094,319.211 L340.094,319.584 L340.094,319.584 L340.094,319.584 L340.467,319.584 L340.467,319.957 L340.467,319.957 L340.467,319.957 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M340.84,319.957 L340.84,319.957 L340.84,319.957 L340.84,319.584 L340.84,319.584 L340.84,319.584 L340.467,319.211 L340.467,319.211 L340.467,319.211 L340.467,319.211 L340.467,319.211 L340.467,319.957 L340.467,319.957 L340.467,320.33 L340.467,320.33 L340.094,320.33 L340.094,320.703 L340.094,320.703 L340.094,320.703 L340.094,320.703 L339.721,320.703 L339.721,320.703 L339.721,320.703 L339.348,320.703 L339.348,320.703 L339.348,320.703 L339.348,320.703 L338.976,320.33 L338.976,320.33  [...]
+	<path d="M337.484,322.94 L337.484,322.195 L336.738,322.195 L336.738,322.568 L336.738,322.568 L336.365,322.568 L336.365,322.568 L336.365,322.568 L336.365,322.568 L336.365,322.568 L335.992,322.195 L335.992,322.568 L335.992,322.568 L335.992,322.568 L335.992,322.568 L335.992,322.94 L336.365,322.94 L336.365,322.94 L336.365,322.94 L336.365,322.94 L336.738,322.94 L336.738,322.94 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M337.484,324.059 L337.484,323.313 L337.484,323.313 L337.484,323.313 L337.484,323.313 L337.484,323.686 L337.484,323.686 L337.111,323.686 L337.111,323.686 L337.111,323.686 L337.111,323.686 L337.111,324.059 L336.738,324.059 L336.738,324.059 L336.738,324.059 L336.738,324.432 L336.738,324.432 L336.738,324.432 L336.738,324.805 L336.738,324.805 L336.738,324.805 L336.738,324.805 L336.738,325.178 L336.738,325.178 L336.738,325.178 L336.738,325.551 L336.738,325.551 L336.738,325.551 L337.1 [...]
+	<path d="M338.976,325.924 L338.976,324.805 L338.976,324.805 L338.976,324.805 L338.976,325.178 L338.603,325.178 L338.603,325.178 L338.603,325.551 L338.603,325.551 L338.603,325.551 L338.603,325.551 L338.23,325.551 L338.23,325.551 L338.23,325.551 L337.857,325.924 L337.857,325.924 L337.857,325.924 L337.857,325.924 L337.484,325.551 L337.484,325.551 L337.484,325.551 L337.484,325.551 L337.484,325.551 L337.484,325.551 L337.484,325.551 L337.484,325.551 L337.111,325.178 L337.111,325.178 L337.111, [...]
+	<path d="M339.348,324.805 L339.348,324.805 L339.348,324.805 L339.348,324.805 L339.348,324.432 L339.348,324.432 L339.348,324.432 L338.976,324.059 L338.976,324.059 L338.976,325.924 L338.976,325.924 L338.976,325.551 L339.348,325.551 L339.348,325.551 L339.348,325.178 L339.348,325.178 L339.348,325.178 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M340.84,326.297 L340.84,324.059 L338.603,323.686 L338.23,324.059 L338.603,324.059 L338.603,324.059 L338.603,324.059 L338.603,324.432 L338.603,324.432 L338.603,324.432 L338.976,324.432 L338.976,324.805 L338.976,324.805 L338.976,325.924 L338.976,325.924 L338.976,325.924 L338.976,324.059 L340.094,324.432 L340.094,326.297 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M340.84,329.28 L340.84,328.534 L337.857,326.67 L337.484,326.67 L337.484,328.534 L336.738,328.534 L336.738,329.28 L337.484,329.28 L337.484,329.28 L337.857,329.28 L337.857,329.28 L337.857,327.042 L340.094,328.534 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M340.84,329.28 L340.094,328.534 L337.857,328.534 L337.857,327.042 L337.857,329.28 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M344.196,316.974 L344.569,316.974 L344.569,318.093 L344.196,318.093 L344.196,316.974 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M344.196,319.211 L343.823,318.465 L343.823,318.838 L343.823,318.838 L343.823,318.838 L343.45,318.838 L343.45,318.838 L343.45,318.838 L343.45,318.838 L343.078,318.838 L343.078,319.957 L343.078,319.957 L343.078,319.957 L343.45,319.584 L343.45,319.584 L343.45,319.584 L343.45,319.584 L343.45,319.584 L343.45,319.211 L343.823,319.211 L343.823,319.211 L343.823,319.211 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M344.942,321.076 L344.942,319.957 L344.942,320.33 L344.942,320.33 L344.942,320.33 L344.942,320.703 L344.942,320.703 L344.569,320.703 L344.569,320.703 L344.569,320.703 L344.569,321.076 L344.196,321.076 L344.196,321.076 L344.196,321.076 L344.196,321.076 L343.823,321.076 L343.823,321.076 L343.823,321.076 L343.823,320.703 L343.45,320.703 L343.45,320.703 L343.45,320.703 L343.45,320.33 L343.078,320.33 L343.078,320.33 L343.078,320.33 L343.078,319.957 L343.078,318.838 L343.078,319.211  [...]
+	<path d="M345.315,319.957 L344.942,319.584 L344.942,319.584 L344.942,319.957 L344.942,319.957 L344.942,319.957 L344.942,321.076 L344.942,321.076 L345.315,321.076 L345.315,320.703 L345.315,320.703 L345.315,320.703 L345.315,321.076 L345.315,319.957 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M346.807,319.211 L346.807,318.838 L346.807,318.838 L346.434,318.838 L346.434,318.838 L346.434,318.838 L346.061,318.838 L346.061,318.838 L346.061,319.211 L346.061,319.211 L346.061,319.211 L346.434,319.211 L346.434,319.211 L346.434,319.584 L346.434,319.584 L346.807,319.584 L346.807,319.584 L346.807,319.957 L346.807,319.957 L346.807,319.957 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M347.18,319.957 L347.18,319.957 L347.18,319.957 L347.18,319.584 L347.18,319.584 L347.18,319.584 L347.18,319.211 L347.18,319.211 L346.807,319.211 L346.807,319.211 L346.807,319.211 L346.807,319.957 L346.807,319.957 L346.807,320.33 L346.807,320.33 L346.807,320.33 L346.434,320.703 L346.434,320.703 L346.434,320.703 L346.434,320.703 L346.061,320.703 L346.061,320.703 L346.061,320.703 L346.061,320.703 L345.688,320.703 L345.688,320.703 L345.688,320.703 L345.688,320.33 L345.688,320.33 L3 [...]
+	<path d="M343.45,322.94 L343.45,322.195 L342.705,322.195 L342.705,322.568 L342.705,322.568 L342.705,322.568 L342.705,322.568 L342.705,322.568 L342.705,322.568 L342.705,322.568 L342.705,322.195 L342.332,322.568 L342.332,322.568 L342.332,322.568 L342.332,322.568 L342.705,322.94 L342.705,322.94 L342.705,322.94 L342.705,322.94 L342.705,322.94 L342.705,322.94 L342.705,322.94 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M346.807,323.686 L346.807,323.686 L346.434,323.686 L346.434,323.686 L346.434,323.686 L346.434,323.686 L346.061,323.686 L346.061,323.686 L346.061,323.686 L346.061,323.313 L345.688,323.313 L345.688,323.313 L345.688,323.313 L345.315,323.313 L345.315,323.313 L345.315,323.313 L344.942,323.313 L344.942,323.313 L344.942,323.313 L344.569,323.313 L344.569,323.313 L344.196,323.313 L344.196,323.313 L344.196,323.313 L343.823,323.686 L343.823,323.686 L343.823,323.686 L343.45,323.686 L343.45 [...]
+	<path d="M347.18,324.805 L347.18,324.805 L347.18,324.805 L347.18,324.432 L347.18,324.432 L347.18,324.432 L347.18,324.059 L347.18,324.059 L346.807,324.059 L346.807,324.059 L346.807,324.059 L346.807,323.686 L346.807,324.805 L346.807,324.805 L346.807,325.178 L346.807,325.178 L346.807,325.178 L346.807,325.178 L346.434,325.551 L346.434,325.551 L346.434,325.551 L346.434,325.551 L346.434,325.551 L346.061,325.551 L346.061,325.551 L346.061,325.551 L346.061,325.551 L345.688,325.551 L345.688,325.5 [...]
+	<path d="M347.18,329.28 L347.18,328.534 L344.196,326.67 L343.823,326.67 L343.823,328.534 L342.705,328.534 L342.705,329.28 L343.823,329.28 L343.823,329.28 L344.196,329.28 L344.196,329.28 L344.196,327.042 L346.434,328.534 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M347.18,329.28 L346.434,328.534 L344.196,328.534 L344.196,327.042 L344.196,329.28 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" />
+	<path d="M255.071,751.042 L255.071,783.485 " fill="none" stroke="#FFFF00" />
+	<text x="256.562" y="751.042" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+S
+	</text>
+	<text x="256.189" y="757.381" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+B
+	</text>
+	<text x="256.189" y="761.483" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="256.562" y="766.704" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="256.562" y="771.179" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+8
+	</text>
+	<text x="256.189" y="778.637" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+-
+	</text>
+	<text x="256.189" y="780.502" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<path d="M255.071,783.485 L244.256,792.062 M255.071,637.677 L255.071,670.12 " fill="none" stroke="#FFFF00" />
+	<text x="256.562" y="637.677" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+S
+	</text>
+	<text x="256.189" y="644.016" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+B
+	</text>
+	<text x="256.189" y="648.118" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="256.562" y="652.966" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="256.562" y="657.441" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+7
+	</text>
+	<text x="256.189" y="665.272" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+-
+	</text>
+	<text x="256.189" y="667.51" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<path d="M255.071,670.12 L244.256,679.07 M96.5838,225.984 L96.5838,258.054 " fill="none" stroke="#FFFF00" />
+	<text x="98.4483" y="225.984" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+S
+	</text>
+	<text x="97.7025" y="232.323" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+B
+	</text>
+	<text x="97.7025" y="236.052" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="98.4483" y="241.273" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+2
+	</text>
+	<text x="97.7025" y="250.969" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+-
+	</text>
+	<text x="97.7025" y="252.833" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<path d="M96.5838,225.984 L81.6674,215.915 M242.392,225.984 L242.392,258.427 " fill="none" stroke="#FFFF00" />
+	<text x="244.256" y="225.984" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+S
+	</text>
+	<text x="243.511" y="232.696" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+B
+	</text>
+	<text x="243.511" y="236.425" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="244.256" y="241.273" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+3
+	</text>
+	<text x="243.511" y="250.969" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+-
+	</text>
+	<text x="243.511" y="252.833" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<path d="M242.392,225.984 L227.475,215.915 M311.753,337.857 L311.753,370.3 " fill="none" stroke="#FFFF00" />
+	<text x="313.618" y="337.857" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+S
+	</text>
+	<text x="312.872" y="344.196" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+B
+	</text>
+	<text x="312.872" y="347.925" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="313.618" y="353.146" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+5
+	</text>
+	<text x="312.872" y="362.842" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+-
+	</text>
+	<text x="312.872" y="365.079" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<path d="M311.753,337.857 L323.313,330.772 M312.499,458.68 L312.499,490.75 " fill="none" stroke="#FFFF00" />
+	<text x="314.363" y="458.68" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+S
+	</text>
+	<text x="313.991" y="465.019" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+B
+	</text>
+	<text x="313.991" y="468.748" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="314.363" y="473.969" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+6
+	</text>
+	<text x="313.991" y="483.665" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+-
+	</text>
+	<text x="313.991" y="485.529" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<path d="M312.499,458.68 L323.313,450.849 M260.664,337.484 L260.664,369.927 " fill="none" stroke="#FFFF00" />
+	<text x="262.156" y="337.484" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+S
+	</text>
+	<text x="261.783" y="343.823" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+B
+	</text>
+	<text x="261.783" y="347.553" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="262.156" y="352.773" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="262.156" y="357.248" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+2
+	</text>
+	<text x="261.783" y="362.469" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+-
+	</text>
+	<text x="261.783" y="364.706" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<path d="M260.664,337.484 L248.358,328.907 M237.544,460.544 L237.544,492.988 " fill="none" stroke="#FFFF00" />
+	<text x="239.036" y="460.544" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+S
+	</text>
+	<text x="238.663" y="466.884" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+B
+	</text>
+	<text x="238.663" y="470.986" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="239.036" y="476.207" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="239.036" y="480.682" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="238.663" y="485.529" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+-
+	</text>
+	<text x="238.663" y="487.767" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<path d="M237.544,460.544 L248.358,453.086 M70.1072,573.909 L70.1072,606.725 " fill="none" stroke="#FFFF00" />
+	<text x="71.9717" y="573.909" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+S
+	</text>
+	<text x="71.2259" y="580.622" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+B
+	</text>
+	<text x="71.2259" y="584.351" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="71.9717" y="589.571" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+9
+	</text>
+	<text x="71.2259" y="598.894" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+-
+	</text>
+	<text x="71.2259" y="601.132" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<path d="M70.1072,573.909 L81.6674,565.705 M215.542,573.909 L215.542,606.725 " fill="none" stroke="#FFFF00" />
+	<text x="217.034" y="573.909" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+S
+	</text>
+	<text x="216.661" y="580.622" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+B
+	</text>
+	<text x="216.661" y="584.351" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="217.034" y="589.571" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+8
+	</text>
+	<text x="216.661" y="599.267" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+-
+	</text>
+	<text x="216.661" y="601.505" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<path d="M215.542,573.909 L227.475,565.705 M341.213,590.317 L341.213,622.387 " fill="none" stroke="#FFFF00" />
+	<text x="342.705" y="590.317" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+S
+	</text>
+	<text x="342.332" y="596.657" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+B
+	</text>
+	<text x="342.332" y="600.759" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="342.705" y="605.607" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+7
+	</text>
+	<text x="342.332" y="616.421" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+-
+	</text>
+	<text x="342.332" y="618.658" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<path d="M341.213,590.317 L352.773,579.13 M362.469,213.305 L362.469,246.121 " fill="none" stroke="#FFFF00" />
+	<text x="364.333" y="213.305" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+S
+	</text>
+	<text x="363.961" y="220.017" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+B
+	</text>
+	<text x="363.961" y="223.746" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="364.333" y="228.594" font-family="Arial" font-size="8" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+4
+	</text>
+	<text x="363.961" y="239.781" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+-
+	</text>
+	<text x="363.961" y="241.646" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<path d="M362.469,213.305 L352.773,202.49 " fill="none" stroke="#FFFF00" />
+	<path d="M30.5787,390.064 L36.5452,390.064 L30.5787,396.031 " fill="none" stroke="#000000" />
+	<path d="M36.5452,390.064 L30.5787,384.098 " fill="none" stroke="#000000" />
+	<path d="M157.741,367.69 L157.368,367.317 L153.639,375.894 Z" fill="#BFFF00" stroke="none" />
+	<path d="M157.368,367.317 L153.639,375.894 L153.266,375.894 Z" fill="#BFFF00" stroke="none" />
+	<path d="M153.266,375.894 L153.639,375.894 L153.266,355.011 Z" fill="#BFFF00" stroke="none" />
+	<path d="M153.639,375.894 L153.266,355.011 L153.639,355.011 Z" fill="#BFFF00" stroke="none" />
+	<path d="M153.639,355.011 L153.266,355.011 L149.91,363.588 Z" fill="#BFFF00" stroke="none" />
+	<path d="M153.266,355.011 L149.91,363.588 L149.537,363.215 Z" fill="#BFFF00" stroke="none" />
+	<path d="M105.534,461.29 L103.296,459.426 M52.9533,330.772 L12.306,330.772 " fill="none" stroke="#00BFFF" />
+	<path d="M12.306,450.849 L52.9533,450.849 L52.9533,330.772 " fill="none" stroke="#00BFFF" />
+	<path d="M14.1706,459.426 L16.4081,459.426 M20.1372,459.426 L22.7475,459.426 M26.4766,459.426 L29.087,459.426 M32.4432,459.426 L35.0536,459.426 M38.7827,459.426 L41.3931,459.426 M45.1222,459.426 L47.3596,459.426 M51.0887,459.426 L53.6991,459.426 " fill="none" stroke="#00BFFF" />
+	<path d="M57.4282,459.426 L61.1573,459.426 L61.1573,454.578 " fill="none" stroke="#00BFFF" />
+	<path d="M61.1573,451.222 L61.1573,448.611 M61.1573,444.882 L61.1573,442.272 M61.1573,438.543 L61.1573,436.305 M61.1573,432.203 L61.1573,429.966 M61.1573,426.237 L61.1573,423.999 M61.1573,419.897 L61.1573,417.66 M61.1573,413.558 L61.1573,411.32 M61.1573,407.591 L61.1573,405.354 M61.1573,401.252 L61.1573,399.014 M61.1573,394.912 L61.1573,392.675 M61.1573,388.573 L61.1573,386.335 M61.1573,382.606 L61.1573,380.369 M61.1573,376.64 L61.1573,374.029 M61.1573,370.3 L61.1573,367.69 M61.1573,364 [...]
+	<path d="M61.1573,326.67 L61.1573,322.568 L57.4282,322.568 " fill="none" stroke="#00BFFF" />
+	<path d="M53.6991,322.568 L51.0887,322.568 M47.3596,322.568 L45.1222,322.568 M41.3931,322.568 L38.7827,322.568 M35.0536,322.568 L32.4432,322.568 M29.087,322.568 L26.4766,322.568 M22.7475,322.568 L20.1372,322.568 M16.4081,322.568 L14.1706,322.568 M13.7977,459.426 L16.0351,459.426 M19.7643,459.426 L22.3746,459.426 M25.7308,459.426 L28.3412,459.426 M32.0703,459.426 L34.6807,459.426 M38.4098,459.426 L41.0201,459.426 M44.3763,459.426 L46.9867,459.426 M50.7158,459.426 L52.9533,459.426 M57.055 [...]
+	<path d="M100.313,459.426 L103.296,459.426 L103.296,454.578 " fill="none" stroke="#00BFFF" />
+	<path d="M103.296,451.222 L103.296,448.611 M103.296,444.882 L103.296,442.272 M103.296,438.543 L103.296,436.305 M103.296,432.203 L103.296,429.966 M103.296,426.237 L103.296,423.999 M103.296,419.897 L103.296,417.66 M103.296,413.558 L103.296,411.32 M103.296,407.591 L103.296,405.354 M103.296,401.252 L103.296,399.014 M103.296,394.912 L103.296,392.675 M103.296,388.573 L103.296,386.335 M103.296,382.606 L103.296,380.369 M103.296,376.64 L103.296,374.029 M103.296,370.3 L103.296,367.69 M103.296,364 [...]
+	<path d="M103.296,326.67 L103.296,322.568 L100.313,322.568 " fill="none" stroke="#00BFFF" />
+	<path d="M96.2109,322.568 L93.9734,322.568 M90.2443,322.568 L87.6339,322.568 M84.2778,322.568 L81.6674,322.568 M77.9383,322.568 L75.3279,322.568 M71.5988,322.568 L68.9884,322.568 M65.6322,322.568 L63.0219,322.568 M59.2928,322.568 L57.0553,322.568 M52.9533,322.568 L50.7158,322.568 M46.9867,322.568 L44.3763,322.568 M41.0201,322.568 L38.4098,322.568 M34.6807,322.568 L32.0703,322.568 M28.3412,322.568 L25.7308,322.568 M22.3746,322.568 L19.7643,322.568 M16.0351,322.568 L13.7977,322.568 M12.30 [...]
+	<path d="M104.415,461.29 L105.534,461.29 L105.534,457.934 " fill="none" stroke="#00BFFF" />
+	<path d="M105.534,453.832 L105.534,451.595 M105.534,447.865 L105.534,445.628 M105.534,441.899 L105.534,439.288 M105.534,435.559 L105.534,432.949 M105.534,429.593 L105.534,426.982 M105.534,423.253 L105.534,420.643 M105.534,416.914 L105.534,414.303 M105.534,410.574 L105.534,407.964 M105.534,404.608 L105.534,401.997 M105.534,398.268 L105.534,395.658 M105.534,391.929 L105.534,389.318 M105.534,385.962 L105.534,383.352 M105.534,379.623 L105.534,377.012 M105.534,373.283 L105.534,370.673 M105.5 [...]
+	<path d="M105.534,323.313 L105.534,320.33 L104.415,320.33 " fill="none" stroke="#00BFFF" />
+	<path d="M100.686,320.33 L98.0754,320.33 M94.3463,320.33 L91.736,320.33 M88.0069,320.33 L85.3965,320.33 M82.0403,320.33 L79.8028,320.33 M75.7008,320.33 L73.4634,320.33 M69.3613,320.33 L67.1239,320.33 M63.3948,320.33 L61.1573,320.33 M57.4282,320.33 L54.8178,320.33 M51.0887,320.33 L48.4784,320.33 M44.7492,320.33 L42.1389,320.33 M38.7827,320.33 L36.1723,320.33 M32.4432,320.33 L30.2057,320.33 M26.1037,320.33 L23.8663,320.33 M20.1372,320.33 L17.8997,320.33 M14.1706,320.33 L12.306,320.33 M105 [...]
+	<path d="M12.306,450.849 L52.9533,450.849 L12.306,449.357 " fill="none" stroke="#FF0000" />
+	<path d="M76.8195,427.728 L76.8195,447.865 L76.8195,427.728 Z" fill="none" stroke="#FFFF00" />
+	<path d="M72.7175,425.491 L76.8195,427.728 L72.7175,429.966 Z" fill="#FFFF00" stroke="none" />
+	<path d="M76.8195,427.728 L72.7175,429.966 L72.7175,425.491 Z" fill="#FFFF00" stroke="none" />
+	<path d="M80.9216,425.491 L76.8195,427.728 L80.9216,429.966 Z" fill="#FFFF00" stroke="none" />
+	<path d="M76.8195,427.728 L80.9216,429.966 L80.9216,425.491 Z" fill="#FFFF00" stroke="none" />
+	<text x="71.5988" y="432.949" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+-
+	</text>
+	<text x="71.5988" y="435.186" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+3
+	</text>
+	<text x="71.5988" y="438.17" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+,
+	</text>
+	<text x="71.5988" y="440.034" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+4
+	</text>
+	<text x="71.5988" y="442.645" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+4
+	</text>
+	<text x="78.3112" y="432.949" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+-
+	</text>
+	<text x="78.3112" y="435.186" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+3
+	</text>
+	<text x="78.3112" y="438.17" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+,
+	</text>
+	<text x="78.3112" y="440.034" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+0
+	</text>
+	<text x="78.3112" y="442.645" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+4
+	</text>
+	<path d="M92.4818,862.915 L92.4818,857.694 M92.4818,857.321 L92.8547,857.321 M92.4818,856.948 L92.4818,851.354 M92.4818,851.354 L92.8547,851.354 M92.4818,850.609 L92.4818,845.388 M92.4818,845.015 L92.8547,845.015 M92.4818,844.269 L92.4818,839.421 M92.4818,838.676 L92.8547,838.676 M92.4818,837.93 L92.4818,833.082 M92.4818,832.336 L92.8547,832.336 M92.4818,831.963 L92.4818,827.115 M92.4818,826.369 L92.8547,826.369 M92.4818,825.624 L92.4818,820.776 M92.4818,820.03 L92.8547,820.03 M92.4818, [...]
+	<path d="M92.4818,465.392 L92.4818,459.799 M92.4818,459.799 L92.8547,459.799 M92.4818,459.053 L92.4818,453.832 M92.4818,453.459 L92.8547,453.459 M92.4818,452.713 L92.4818,447.865 M92.4818,447.12 L92.8547,447.12 M92.4818,446.374 L92.4818,441.526 M92.4818,440.78 L92.8547,440.78 M92.4818,440.407 L92.4818,435.559 M92.4818,434.814 L92.8547,434.814 M92.4818,434.068 L92.4818,429.22 M92.4818,428.474 L92.8547,428.474 M92.4818,427.728 L92.4818,422.88 M92.4818,422.135 L92.8547,422.135 M92.4818,421 [...]
+	<path d="M92.4818,67.4968 L92.4818,62.276 M92.4818,61.9031 L92.8547,61.9031 M92.4818,61.1573 L92.4818,56.3095 M92.4818,55.5637 L92.8547,55.5637 M92.4818,54.8178 L92.4818,49.97 M92.4818,49.2242 L92.8547,49.2242 " fill="none" stroke="#FF0000" />
+	<path d="M92.4818,48.8513 L92.4818,44.3763 " fill="none" stroke="#FF0000" />
+	<path d="M412.812,215.915 L408.71,215.915 M408.337,215.915 L408.337,215.915 M407.591,215.915 L402.743,215.915 M401.997,215.915 L402.37,215.915 M401.625,215.915 L396.777,215.915 M396.031,215.915 L396.404,215.915 M395.285,215.915 L390.437,215.915 M389.691,215.915 L390.064,215.915 M388.946,215.915 L384.098,215.915 M383.352,215.915 L383.725,215.915 M382.979,215.915 L377.758,215.915 M377.385,215.915 L377.758,215.915 M376.64,215.915 L371.792,215.915 M371.046,215.915 L371.419,215.915 M370.3,21 [...]
+	<path d="M17.8997,215.915 L13.0519,215.915 M12.679,215.915 L13.0519,215.915 M447.865,332.636 L444.882,332.636 M444.509,332.636 L444.882,332.636 M443.763,332.636 L438.916,332.636 M438.17,332.636 L438.543,332.636 M437.424,332.636 L432.576,332.636 M431.83,332.636 L432.203,332.636 M431.084,332.636 L426.237,332.636 M425.864,332.636 L426.237,332.636 M425.118,332.636 L420.27,332.636 M419.524,332.636 L419.897,332.636 M419.151,332.636 L413.931,332.636 M413.558,332.636 L413.931,332.636 M412.812,3 [...]
+	<path d="M60.4115,332.636 L55.5637,332.636 M54.8178,332.636 L55.1907,332.636 M54.072,332.636 L49.2242,332.636 M48.4784,332.636 L48.8513,332.636 M47.7325,332.636 L42.8847,332.636 M42.1389,332.636 L42.5118,332.636 M41.766,332.636 L36.5452,332.636 M36.1723,332.636 L36.5452,332.636 M35.7994,332.636 L30.5787,332.636 M30.2057,332.636 L30.5787,332.636 M29.4599,332.636 L24.6121,332.636 M23.8663,332.636 L24.2392,332.636 M23.1204,332.636 L18.2726,332.636 M17.5268,332.636 L17.8997,332.636 M17.1539 [...]
+	<path d="M61.9031,453.459 L62.276,453.459 M61.1573,453.459 L56.3095,453.459 M55.9366,453.459 L56.3095,453.459 M55.1907,453.459 L50.3429,453.459 M49.5971,453.459 L49.97,453.459 M48.8513,453.459 L44.0034,453.459 M43.2576,453.459 L43.6305,453.459 M42.5118,453.459 L37.664,453.459 M36.9181,453.459 L37.291,453.459 M36.5452,453.459 L31.3245,453.459 M30.9516,453.459 L31.3245,453.459 M30.5787,453.459 L25.3579,453.459 M24.985,453.459 L24.985,453.459 M24.2392,453.459 L19.3913,453.459 M18.6455,453. [...]
+	<path d="M68.2426,565.705 L68.6155,565.705 M67.4968,565.705 L62.6489,565.705 M61.9031,565.705 L62.276,565.705 M61.1573,565.705 L56.3095,565.705 M55.9366,565.705 L56.3095,565.705 M55.1907,565.705 L50.3429,565.705 M49.5971,565.705 L49.97,565.705 M48.8513,565.705 L44.0034,565.705 M43.2576,565.705 L43.6305,565.705 M42.5118,565.705 L37.664,565.705 M36.9181,565.705 L37.291,565.705 M36.5452,565.705 L31.3245,565.705 M30.9516,565.705 L31.3245,565.705 M30.5787,565.705 L25.3579,565.705 M24.985,565 [...]
+	<path d="M347.18,502.683 L352.027,502.683 M352.773,502.683 L353.146,502.683 M353.519,502.683 L358.367,502.683 M358.74,502.683 L359.113,502.683 M359.113,502.683 L364.333,502.683 M364.706,502.683 L365.079,502.683 M365.452,502.683 L370.3,502.683 M371.046,502.683 L371.419,502.683 M371.792,502.683 L376.64,502.683 M377.385,502.683 L377.758,502.683 M377.758,502.683 L382.979,502.683 M383.352,502.683 L383.725,502.683 M384.098,502.683 L388.946,502.683 M389.691,502.683 L390.064,502.683 M390.437,50 [...]
+	<path d="M408.71,502.683 L412.812,502.683 " fill="none" stroke="#FF0000" />
+	<path d="M412.812,102.923 L408.71,102.923 M408.337,102.923 L408.337,102.923 M407.591,102.923 L402.743,102.923 M401.997,102.923 L402.37,102.923 M401.625,102.923 L396.777,102.923 M396.031,102.923 L396.404,102.923 M395.285,102.923 L390.437,102.923 M389.691,102.923 L390.064,102.923 M388.946,102.923 L384.098,102.923 M383.352,102.923 L383.725,102.923 M382.979,102.923 L377.758,102.923 M377.385,102.923 L377.758,102.923 M376.64,102.923 L371.792,102.923 M371.046,102.923 L371.419,102.923 M370.3,10 [...]
+	<path d="M17.8997,102.923 L13.0519,102.923 M12.679,102.923 L13.0519,102.923 M412.812,792.062 L408.71,792.062 M408.337,792.062 L408.337,792.062 M407.591,792.062 L402.743,792.062 M401.997,792.062 L402.37,792.062 M401.625,792.062 L396.777,792.062 M396.031,792.062 L396.404,792.062 M395.285,792.062 L390.437,792.062 M389.691,792.062 L390.064,792.062 M388.946,792.062 L384.098,792.062 M383.352,792.062 L383.725,792.062 M382.979,792.062 L377.758,792.062 M377.385,792.062 L377.758,792.062 M376.64,7 [...]
+	<path d="M24.2392,792.062 L19.3913,792.062 M18.6455,792.062 L19.0184,792.062 M17.8997,792.062 L13.0519,792.062 M12.679,792.062 L13.0519,792.062 M412.812,679.07 L408.71,679.07 M408.337,679.07 L408.337,679.07 M407.591,679.07 L402.743,679.07 M401.997,679.07 L402.37,679.07 M401.625,679.07 L396.777,679.07 M396.031,679.07 L396.404,679.07 M395.285,679.07 L390.437,679.07 M389.691,679.07 L390.064,679.07 M388.946,679.07 L384.098,679.07 M383.352,679.07 L383.725,679.07 M382.979,679.07 L377.758,679. [...]
+	<path d="M30.5787,679.07 L25.3579,679.07 M24.985,679.07 L24.985,679.07 M24.2392,679.07 L19.3913,679.07 M18.6455,679.07 L19.0184,679.07 M17.8997,679.07 L13.0519,679.07 M12.679,679.07 L13.0519,679.07 M412.812,374.029 L408.71,374.029 M408.337,374.029 L408.337,374.029 M407.591,374.029 L402.743,374.029 M401.997,374.029 L402.37,374.029 M401.625,374.029 L396.777,374.029 M396.031,374.029 L396.404,374.029 M395.285,374.029 L390.437,374.029 M389.691,374.029 L390.064,374.029 M388.946,374.029 L384.0 [...]
+	<path d="M36.5452,374.029 L31.3245,374.029 M30.9516,374.029 L31.3245,374.029 M30.5787,374.029 L25.3579,374.029 M24.985,374.029 L24.985,374.029 M24.2392,374.029 L19.3913,374.029 M18.6455,374.029 L19.0184,374.029 M17.8997,374.029 L13.0519,374.029 M12.679,374.029 L13.0519,374.029 M412.812,328.161 L408.71,328.161 M408.337,328.161 L408.337,328.161 M407.591,328.161 L402.743,328.161 M401.997,328.161 L402.37,328.161 M401.625,328.161 L396.777,328.161 M396.031,328.161 L396.404,328.161 M395.285,32 [...]
+	<path d="M42.5118,328.161 L37.664,328.161 M36.9181,328.161 L37.291,328.161 M36.5452,328.161 L31.3245,328.161 M30.9516,328.161 L31.3245,328.161 M30.5787,328.161 L25.3579,328.161 M24.985,328.161 L24.985,328.161 M24.2392,328.161 L19.3913,328.161 M18.6455,328.161 L19.0184,328.161 M17.8997,328.161 L13.0519,328.161 M12.679,328.161 L13.0519,328.161 M113.738,862.915 L113.738,858.44 M113.738,858.067 L114.111,858.067 M113.738,857.321 L113.738,852.473 M113.738,851.727 L114.111,851.727 M113.738,851 [...]
+	<path d="M113.738,496.717 L113.738,491.869 M113.738,491.123 L114.111,491.123 M113.738,490.75 L113.738,485.529 M113.738,485.156 L114.111,485.156 M113.738,484.411 L113.738,479.563 M113.738,478.817 L114.111,478.817 M113.738,478.071 L113.738,473.223 M113.738,472.477 L114.111,472.477 M113.738,471.732 L113.738,466.884 M113.738,466.511 L114.111,466.511 M113.738,465.765 L113.738,460.917 M113.738,460.171 L114.111,460.171 M113.738,459.799 L113.738,454.578 M113.738,453.832 L114.111,453.832 M113.73 [...]
+	<path d="M113.738,99.1942 L113.738,93.9734 M113.738,93.6005 L114.111,93.6005 M113.738,92.8547 L113.738,88.0069 M113.738,87.261 L114.111,87.261 M113.738,86.5152 L113.738,81.6674 M113.738,80.9216 L114.111,80.9216 M113.738,80.1757 L113.738,75.3279 M113.738,74.955 L114.111,74.955 M113.738,74.2092 L113.738,69.3613 M113.738,68.6155 L114.111,68.6155 M113.738,68.2426 L113.738,63.0219 M113.738,62.276 L114.111,62.276 M113.738,61.9031 L113.738,56.6824 M113.738,56.3095 L114.111,56.3095 M113.738,55. [...]
+	<path d="M113.738,49.5971 L113.738,44.3763 " fill="none" stroke="#FF0000" />
+	<path d="M352.773,862.915 L352.773,858.44 M352.773,858.067 L353.146,858.067 M352.773,857.321 L352.773,852.473 M352.773,851.727 L353.146,851.727 M352.773,851.354 L352.773,846.134 M352.773,845.388 L353.146,845.388 M352.773,845.015 L352.773,839.794 M352.773,839.421 L353.146,839.421 M352.773,839.048 L352.773,833.828 M352.773,833.455 L353.146,833.455 M352.773,832.709 L352.773,827.861 M352.773,827.115 L353.146,827.115 M352.773,826.369 L352.773,821.522 M352.773,820.776 L353.146,820.776 M352.77 [...]
+	<path d="M352.773,465.765 L352.773,460.917 M352.773,460.171 L353.146,460.171 M352.773,459.799 L352.773,454.578 M352.773,453.832 L353.146,453.832 M352.773,453.459 L352.773,448.238 M352.773,447.865 L353.146,447.865 M352.773,447.492 L352.773,441.899 M352.773,441.899 L353.146,441.899 M352.773,441.153 L352.773,436.305 M352.773,435.559 L353.146,435.559 M352.773,434.814 L352.773,429.966 M352.773,429.22 L353.146,429.22 M352.773,428.474 L352.773,423.626 M352.773,423.253 L353.146,423.253 M352.773 [...]
+	<path d="M352.773,68.2426 L352.773,63.0219 M352.773,62.276 L353.146,62.276 M352.773,61.9031 L352.773,56.6824 M352.773,56.3095 L353.146,56.3095 M352.773,55.9366 L352.773,50.3429 M352.773,50.3429 L353.146,50.3429 " fill="none" stroke="#FF0000" />
+	<path d="M352.773,49.5971 L352.773,44.3763 " fill="none" stroke="#FF0000" />
+	<path d="M323.313,862.915 L323.313,858.44 M323.313,858.067 L323.686,858.067 M323.313,857.321 L323.313,852.473 M323.313,851.727 L323.686,851.727 M323.313,851.354 L323.313,846.134 M323.313,845.388 L323.686,845.388 M323.313,845.015 L323.313,839.794 M323.313,839.421 L323.686,839.421 M323.313,839.048 L323.313,833.828 M323.313,833.455 L323.686,833.455 M323.313,832.709 L323.313,827.861 M323.313,827.115 L323.686,827.115 M323.313,826.369 L323.313,821.522 M323.313,820.776 L323.686,820.776 M323.31 [...]
+	<path d="M323.313,465.765 L323.313,460.917 M323.313,460.171 L323.686,460.171 M323.313,459.799 L323.313,454.578 M323.313,453.832 L323.686,453.832 M323.313,453.459 L323.313,448.238 M323.313,447.865 L323.686,447.865 M323.313,447.492 L323.313,441.899 M323.313,441.899 L323.686,441.899 M323.313,441.153 L323.313,436.305 M323.313,435.559 L323.686,435.559 M323.313,434.814 L323.313,429.966 M323.313,429.22 L323.686,429.22 M323.313,428.474 L323.313,423.626 M323.313,423.253 L323.686,423.253 M323.313 [...]
+	<path d="M323.313,68.2426 L323.313,63.0219 M323.313,62.276 L323.686,62.276 M323.313,61.9031 L323.313,56.6824 M323.313,56.3095 L323.686,56.3095 M323.313,55.9366 L323.313,50.3429 M323.313,50.3429 L323.686,50.3429 " fill="none" stroke="#FF0000" />
+	<path d="M323.313,49.5971 L323.313,44.3763 " fill="none" stroke="#FF0000" />
+	<path d="M248.358,862.915 L248.358,858.44 M248.358,858.067 L248.731,858.067 M248.358,857.321 L248.358,852.473 M248.358,851.727 L248.731,851.727 M248.358,851.354 L248.358,846.134 M248.358,845.388 L248.731,845.388 M248.358,845.015 L248.358,839.794 M248.358,839.421 L248.731,839.421 M248.358,839.048 L248.358,833.828 M248.358,833.455 L248.731,833.455 M248.358,832.709 L248.358,827.861 M248.358,827.115 L248.731,827.115 M248.358,826.369 L248.358,821.522 M248.358,820.776 L248.731,820.776 M248.35 [...]
+	<path d="M248.358,465.765 L248.358,460.917 M248.358,460.171 L248.731,460.171 M248.358,459.799 L248.358,454.578 M248.358,453.832 L248.731,453.832 M248.358,453.459 L248.358,448.238 M248.358,447.865 L248.731,447.865 M248.358,447.492 L248.358,441.899 M248.358,441.899 L248.731,441.899 M248.358,441.153 L248.358,436.305 M248.358,435.559 L248.731,435.559 M248.358,434.814 L248.358,429.966 M248.358,429.22 L248.731,429.22 M248.358,428.474 L248.358,423.626 M248.358,423.253 L248.731,423.253 M248.358 [...]
+	<path d="M248.358,68.2426 L248.358,63.0219 M248.358,62.276 L248.731,62.276 M248.358,61.9031 L248.358,56.6824 M248.358,56.3095 L248.731,56.3095 M248.358,55.9366 L248.358,50.3429 M248.358,50.3429 L248.731,50.3429 " fill="none" stroke="#FF0000" />
+	<path d="M248.358,49.5971 L248.358,44.3763 " fill="none" stroke="#FF0000" />
+	<path d="M54.4449,862.915 L54.4449,858.44 M54.4449,858.067 L54.8178,858.067 M54.4449,857.321 L54.4449,852.473 M54.4449,851.727 L54.8178,851.727 M54.4449,851.354 L54.4449,846.134 M54.4449,845.388 L54.8178,845.388 M54.4449,845.015 L54.4449,839.794 M54.4449,839.421 L54.8178,839.421 M54.4449,839.048 L54.4449,833.828 M54.4449,833.455 L54.8178,833.455 M54.4449,832.709 L54.4449,827.861 M54.4449,827.115 L54.8178,827.115 M54.4449,826.369 L54.4449,821.522 M54.4449,820.776 L54.8178,820.776 M54.444 [...]
+	<path d="M54.4449,465.765 L54.4449,460.917 M54.4449,460.171 L54.8178,460.171 M54.4449,459.799 L54.4449,454.578 M54.4449,453.832 L54.8178,453.832 M54.4449,453.459 L54.4449,448.238 M54.4449,447.865 L54.8178,447.865 M54.4449,447.492 L54.4449,441.899 M54.4449,441.899 L54.8178,441.899 M54.4449,441.153 L54.4449,436.305 M54.4449,435.559 L54.8178,435.559 M54.4449,434.814 L54.4449,429.966 M54.4449,429.22 L54.8178,429.22 M54.4449,428.474 L54.4449,423.626 M54.4449,423.253 L54.8178,423.253 M54.4449 [...]
+	<path d="M54.4449,68.2426 L54.4449,63.0219 M54.4449,62.276 L54.8178,62.276 M54.4449,61.9031 L54.4449,56.6824 M54.4449,56.3095 L54.8178,56.3095 M54.4449,55.9366 L54.4449,50.3429 M54.4449,50.3429 L54.8178,50.3429 " fill="none" stroke="#FF0000" />
+	<path d="M54.4449,49.5971 L54.4449,44.3763 " fill="none" stroke="#FF0000" />
+	<path d="M227.475,862.915 L227.475,858.44 M227.475,858.067 L227.848,858.067 M227.475,857.321 L227.475,852.473 M227.475,851.727 L227.848,851.727 M227.475,851.354 L227.475,846.134 M227.475,845.388 L227.848,845.388 M227.475,845.015 L227.475,839.794 M227.475,839.421 L227.848,839.421 M227.475,839.048 L227.475,833.828 M227.475,833.455 L227.848,833.455 M227.475,832.709 L227.475,827.861 M227.475,827.115 L227.848,827.115 M227.475,826.369 L227.475,821.522 M227.475,820.776 L227.848,820.776 M227.47 [...]
+	<path d="M227.475,465.765 L227.475,460.917 M227.475,460.171 L227.848,460.171 M227.475,459.799 L227.475,454.578 M227.475,453.832 L227.848,453.832 M227.475,453.459 L227.475,448.238 M227.475,447.865 L227.848,447.865 M227.475,447.492 L227.475,441.899 M227.475,441.899 L227.848,441.899 M227.475,441.153 L227.475,436.305 M227.475,435.559 L227.848,435.559 M227.475,434.814 L227.475,429.966 M227.475,429.22 L227.848,429.22 M227.475,428.474 L227.475,423.626 M227.475,423.253 L227.848,423.253 M227.475 [...]
+	<path d="M227.475,68.2426 L227.475,63.0219 M227.475,62.276 L227.848,62.276 M227.475,61.9031 L227.475,56.6824 M227.475,56.3095 L227.848,56.3095 M227.475,55.9366 L227.475,50.3429 M227.475,50.3429 L227.848,50.3429 " fill="none" stroke="#FF0000" />
+	<path d="M227.475,49.5971 L227.475,44.3763 " fill="none" stroke="#FF0000" />
+	<path d="M81.6674,862.915 L81.6674,858.44 M81.6674,858.067 L82.0403,858.067 M81.6674,857.321 L81.6674,852.473 M81.6674,851.727 L82.0403,851.727 M81.6674,851.354 L81.6674,846.134 M81.6674,845.388 L82.0403,845.388 M81.6674,845.015 L81.6674,839.794 M81.6674,839.421 L82.0403,839.421 M81.6674,839.048 L81.6674,833.828 M81.6674,833.455 L82.0403,833.455 M81.6674,832.709 L81.6674,827.861 M81.6674,827.115 L82.0403,827.115 M81.6674,826.369 L81.6674,821.522 M81.6674,820.776 L82.0403,820.776 M81.667 [...]
+	<path d="M81.6674,465.765 L81.6674,460.917 M81.6674,460.171 L82.0403,460.171 M81.6674,459.799 L81.6674,454.578 M81.6674,453.832 L82.0403,453.832 M81.6674,453.459 L81.6674,448.238 M81.6674,447.865 L82.0403,447.865 M81.6674,447.492 L81.6674,441.899 M81.6674,441.899 L82.0403,441.899 M81.6674,441.153 L81.6674,436.305 M81.6674,435.559 L82.0403,435.559 M81.6674,434.814 L81.6674,429.966 M81.6674,429.22 L82.0403,429.22 M81.6674,428.474 L81.6674,423.626 M81.6674,423.253 L82.0403,423.253 M81.6674 [...]
+	<path d="M81.6674,68.2426 L81.6674,63.0219 M81.6674,62.276 L82.0403,62.276 M81.6674,61.9031 L81.6674,56.6824 M81.6674,56.3095 L82.0403,56.3095 M81.6674,55.9366 L81.6674,50.3429 M81.6674,50.3429 L82.0403,50.3429 " fill="none" stroke="#FFF" />
+	<path d="M81.6674,49.5971 L81.6674,44.3763 " fill="none" stroke="#FF0000" />
+	<path d="M447.865,332.636 L448.238,335.619 L449.357,337.484 " fill="none" stroke="#FF0000" />
+	<path d="M449.73,337.857 L450.103,337.857 " fill="none" stroke="#FF0000" />
+	<path d="M450.103,338.603 L452.34,340.84 L453.832,341.586 " fill="none" stroke="#FF0000" />
+	<path d="M454.578,341.959 L454.951,341.959 " fill="none" stroke="#FF0000" />
+	<path d="M454.951,342.332 L458.307,342.705 L460.171,342.332 " fill="none" stroke="#FF0000" />
+	<path d="M460.917,342.332 L461.29,342.332 " fill="none" stroke="#FF0000" />
+	<path d="M461.663,342.332 L464.273,340.84 L465.765,339.721 " fill="none" stroke="#FF0000" />
+	<path d="M466.138,338.976 L466.511,338.976 " fill="none" stroke="#FF0000" />
+	<path d="M466.511,338.603 L468.375,335.619 L468.375,333.755 " fill="none" stroke="#FF0000" />
+	<path d="M468.748,333.009 L468.748,333.009 " fill="none" stroke="#FF0000" />
+	<path d="M468.748,332.636 L468.375,329.28 L467.257,327.788 " fill="none" stroke="#FF0000" />
+	<path d="M466.884,327.042 L467.257,327.042 " fill="none" stroke="#FF0000" />
+	<path d="M466.511,326.297 L464.273,324.059 L462.782,323.313 " fill="none" stroke="#FF0000" />
+	<path d="M462.036,322.94 L462.409,322.94 " fill="none" stroke="#FF0000" />
+	<path d="M461.663,322.568 L458.307,322.195 L456.442,322.568 " fill="none" stroke="#FF0000" />
+	<path d="M455.697,322.568 L456.069,322.568 " fill="none" stroke="#FF0000" />
+	<path d="M454.951,322.568 L452.34,324.059 L450.849,325.551 " fill="none" stroke="#FF0000" />
+	<path d="M450.476,325.924 L450.849,325.924 " fill="none" stroke="#FF0000" />
+	<path d="M450.103,326.297 L448.238,329.28 L448.238,331.144 " fill="none" stroke="#FF0000" />
+	<path d="M447.865,331.89 L448.238,331.89 M447.865,332.636 L448.238,332.636 " fill="none" stroke="#FF0000" />
+	<path d="M412.812,374.029 L413.558,377.012 L413.931,378.877 " fill="none" stroke="#FF0000" />
+	<path d="M414.303,379.25 L414.676,379.25 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,379.996 L416.914,382.606 L418.778,382.979 " fill="none" stroke="#FF0000" />
+	<path d="M419.524,383.352 L419.524,383.352 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,383.725 L423.253,384.098 L425.118,383.725 " fill="none" stroke="#FF0000" />
+	<path d="M425.491,383.725 L425.864,383.725 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,383.725 L429.22,382.606 L430.339,381.114 " fill="none" stroke="#FF0000" />
+	<path d="M430.712,380.369 L431.084,380.369 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,379.996 L432.949,377.012 L433.322,375.148 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,374.402 L433.695,374.402 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,374.029 L432.949,370.673 L431.83,369.181 " fill="none" stroke="#FF0000" />
+	<path d="M431.83,368.435 L432.203,368.435 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,367.69 L429.22,365.452 L427.355,364.706 " fill="none" stroke="#FF0000" />
+	<path d="M426.982,364.333 L427.355,364.333 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,364.333 L423.253,363.588 L421.016,363.961 " fill="none" stroke="#FF0000" />
+	<path d="M420.643,363.961 L421.016,363.961 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,364.333 L416.914,365.452 L415.795,366.944 " fill="none" stroke="#FF0000" />
+	<path d="M415.049,367.317 L415.422,367.317 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,367.69 L413.558,370.673 L413.185,372.538 " fill="none" stroke="#FF0000" />
+	<path d="M413.185,373.283 L413.558,373.283 M412.812,374.029 L413.185,374.029 " fill="none" stroke="#FF0000" />
+	<path d="M412.812,565.705 L413.558,569.061 L413.931,570.926 " fill="none" stroke="#FF0000" />
+	<path d="M414.303,571.299 L414.676,571.299 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,572.045 L416.914,573.909 L418.778,575.028 " fill="none" stroke="#FF0000" />
+	<path d="M419.524,575.401 L419.524,575.401 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,575.774 L423.253,576.147 L425.118,575.774 " fill="none" stroke="#FF0000" />
+	<path d="M425.491,575.774 L425.864,575.774 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,575.774 L429.22,573.909 L430.339,572.79 " fill="none" stroke="#FF0000" />
+	<path d="M430.712,572.417 L431.084,572.417 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,572.045 L432.949,569.061 L433.322,566.824 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,566.451 L433.695,566.451 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,565.705 L432.949,562.349 L431.83,560.857 " fill="none" stroke="#FF0000" />
+	<path d="M431.83,560.484 L432.203,560.484 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,559.739 L429.22,557.501 L427.355,556.382 " fill="none" stroke="#FF0000" />
+	<path d="M426.982,556.009 L427.355,556.009 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,555.637 L423.253,555.264 L421.016,555.637 " fill="none" stroke="#FF0000" />
+	<path d="M420.643,555.637 L421.016,555.637 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,555.637 L416.914,557.501 L415.795,558.62 " fill="none" stroke="#FF0000" />
+	<path d="M415.049,559.366 L415.422,559.366 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,559.739 L413.558,562.349 L413.185,564.586 " fill="none" stroke="#FF0000" />
+	<path d="M413.185,565.332 L413.558,565.332 M412.812,565.705 L413.185,565.705 " fill="none" stroke="#FF0000" />
+	<path d="M412.812,453.459 L413.558,456.815 L413.931,458.307 " fill="none" stroke="#FF0000" />
+	<path d="M414.303,459.053 L414.676,459.053 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,459.799 L416.914,461.663 L418.778,462.782 " fill="none" stroke="#FF0000" />
+	<path d="M419.524,463.155 L419.524,463.155 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,463.155 L423.253,463.901 L425.118,463.528 " fill="none" stroke="#FF0000" />
+	<path d="M425.491,463.528 L425.864,463.528 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,463.155 L429.22,461.663 L430.339,460.171 " fill="none" stroke="#FF0000" />
+	<path d="M430.712,459.799 L431.084,459.799 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,459.799 L432.949,456.815 L433.322,454.578 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,453.832 L433.695,453.832 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,453.459 L432.949,450.103 L431.83,448.238 " fill="none" stroke="#FF0000" />
+	<path d="M431.83,447.865 L432.203,447.865 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,447.492 L429.22,445.255 L427.355,444.136 " fill="none" stroke="#FF0000" />
+	<path d="M426.982,443.763 L427.355,443.763 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,443.39 L423.253,443.018 L421.016,443.39 " fill="none" stroke="#FF0000" />
+	<path d="M420.643,443.39 L421.016,443.39 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,443.39 L416.914,445.255 L415.795,446.374 " fill="none" stroke="#FF0000" />
+	<path d="M415.049,447.12 L415.422,447.12 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,447.492 L413.558,450.103 L413.185,452.34 " fill="none" stroke="#FF0000" />
+	<path d="M413.185,453.086 L413.558,453.086 M412.812,453.459 L413.185,453.459 " fill="none" stroke="#FF0000" />
+	<path d="M412.812,328.161 L413.558,331.144 L413.931,333.009 " fill="none" stroke="#FF0000" />
+	<path d="M414.303,333.755 L414.676,333.755 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,334.501 L416.914,336.365 L418.778,337.484 " fill="none" stroke="#FF0000" />
+	<path d="M419.524,337.484 L419.524,337.484 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,337.857 L423.253,338.603 L425.118,338.23 " fill="none" stroke="#FF0000" />
+	<path d="M425.491,338.23 L425.864,338.23 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,337.857 L429.22,336.365 L430.339,335.246 " fill="none" stroke="#FF0000" />
+	<path d="M430.712,334.874 L431.084,334.874 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,334.501 L432.949,331.144 L433.322,329.28 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,328.907 L433.695,328.907 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,328.161 L432.949,324.805 L431.83,323.313 " fill="none" stroke="#FF0000" />
+	<path d="M431.83,322.568 L432.203,322.568 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,322.195 L429.22,319.584 L427.355,318.838 " fill="none" stroke="#FF0000" />
+	<path d="M426.982,318.465 L427.355,318.465 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,318.093 L423.253,317.72 L421.016,318.093 " fill="none" stroke="#FF0000" />
+	<path d="M420.643,318.093 L421.016,318.093 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,318.093 L416.914,319.584 L415.795,321.076 " fill="none" stroke="#FF0000" />
+	<path d="M415.049,321.822 L415.422,321.822 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,322.195 L413.558,324.805 L413.185,327.042 " fill="none" stroke="#FF0000" />
+	<path d="M413.185,327.415 L413.558,327.415 M412.812,328.161 L413.185,328.161 " fill="none" stroke="#FF0000" />
+	<path d="M412.812,215.915 L413.558,218.898 L413.931,220.763 " fill="none" stroke="#FF0000" />
+	<path d="M414.303,221.509 L414.676,221.509 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,221.882 L416.914,224.119 L418.778,225.238 " fill="none" stroke="#FF0000" />
+	<path d="M419.524,225.238 L419.524,225.238 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,225.611 L423.253,226.357 L425.118,225.984 " fill="none" stroke="#FF0000" />
+	<path d="M425.491,225.611 L425.864,225.611 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,225.611 L429.22,224.119 L430.339,222.628 " fill="none" stroke="#FF0000" />
+	<path d="M430.712,222.628 L431.084,222.628 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,221.882 L432.949,218.898 L433.322,217.034 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,216.661 L433.695,216.661 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,215.915 L432.949,212.559 L431.83,210.694 " fill="none" stroke="#FF0000" />
+	<path d="M431.83,210.321 L432.203,210.321 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,209.949 L429.22,207.338 L427.355,206.592 " fill="none" stroke="#FF0000" />
+	<path d="M426.982,206.219 L427.355,206.219 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,205.847 L423.253,205.474 L421.016,205.474 " fill="none" stroke="#FF0000" />
+	<path d="M420.643,205.847 L421.016,205.847 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,205.847 L416.914,207.338 L415.795,208.83 " fill="none" stroke="#FF0000" />
+	<path d="M415.049,209.203 L415.422,209.203 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,209.949 L413.558,212.559 L413.185,214.423 " fill="none" stroke="#FF0000" />
+	<path d="M413.185,215.169 L413.558,215.169 M412.812,215.915 L413.185,215.915 " fill="none" stroke="#FF0000" />
+	<path d="M412.812,502.683 L413.558,506.039 L413.931,507.531 " fill="none" stroke="#FF0000" />
+	<path d="M414.303,508.277 L414.676,508.277 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,508.65 L416.914,511.26 L418.778,512.006 " fill="none" stroke="#FF0000" />
+	<path d="M419.524,512.379 L419.524,512.379 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,512.752 L423.253,513.125 L425.118,513.125 " fill="none" stroke="#FF0000" />
+	<path d="M425.491,512.752 L425.864,512.752 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,512.752 L429.22,511.26 L430.339,509.769 " fill="none" stroke="#FF0000" />
+	<path d="M430.712,509.396 L431.084,509.396 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,508.65 L432.949,506.039 L433.322,504.175 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,503.429 L433.695,503.429 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,502.683 L432.949,499.7 L431.83,497.835 " fill="none" stroke="#FF0000" />
+	<path d="M431.83,497.09 L432.203,497.09 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,496.717 L429.22,494.479 L427.355,493.733 " fill="none" stroke="#FF0000" />
+	<path d="M426.982,493.36 L427.355,493.36 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,492.988 L423.253,492.242 L421.016,492.615 " fill="none" stroke="#FF0000" />
+	<path d="M420.643,492.988 L421.016,492.988 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,492.988 L416.914,494.479 L415.795,495.598 " fill="none" stroke="#FF0000" />
+	<path d="M415.049,495.971 L415.422,495.971 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,496.717 L413.558,499.7 L413.185,501.565 " fill="none" stroke="#FF0000" />
+	<path d="M413.185,501.937 L413.558,501.937 M412.812,502.683 L413.185,502.683 " fill="none" stroke="#FF0000" />
+	<path d="M412.812,102.923 L413.558,105.907 L413.931,107.771 " fill="none" stroke="#FF0000" />
+	<path d="M414.303,108.517 L414.676,108.517 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,108.89 L416.914,111.127 L418.778,111.873 " fill="none" stroke="#FF0000" />
+	<path d="M419.524,112.246 L419.524,112.246 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,112.619 L423.253,113.365 L425.118,112.992 " fill="none" stroke="#FF0000" />
+	<path d="M425.491,112.619 L425.864,112.619 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,112.619 L429.22,111.127 L430.339,109.636 " fill="none" stroke="#FF0000" />
+	<path d="M430.712,109.636 L431.084,109.636 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,108.89 L432.949,105.907 L433.322,104.042 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,103.669 L433.695,103.669 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,102.923 L432.949,99.5671 L431.83,98.0754 " fill="none" stroke="#FF0000" />
+	<path d="M431.83,97.3296 L432.203,97.3296 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,96.9567 L429.22,94.3463 L427.355,93.6005 " fill="none" stroke="#FF0000" />
+	<path d="M426.982,93.2276 L427.355,93.2276 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,92.8547 L423.253,92.1089 L421.016,92.4818 " fill="none" stroke="#FF0000" />
+	<path d="M420.643,92.8547 L421.016,92.8547 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,92.8547 L416.914,94.3463 L415.795,95.838 " fill="none" stroke="#FF0000" />
+	<path d="M415.049,96.2109 L415.422,96.2109 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,96.9567 L413.558,99.5671 L413.185,101.432 " fill="none" stroke="#FF0000" />
+	<path d="M413.185,102.177 L413.558,102.177 " fill="none" stroke="#FF0000" />
+	<path d="M412.812,792.062 L413.558,795.418 L413.931,797.282 " fill="none" stroke="#FF0000" />
+	<path d="M414.303,798.028 L414.676,798.028 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,798.401 L416.914,800.639 L418.778,801.757 " fill="none" stroke="#FF0000" />
+	<path d="M419.524,801.757 L419.524,801.757 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,802.13 L423.253,802.876 L425.118,802.503 " fill="none" stroke="#FF0000" />
+	<path d="M425.491,802.503 L425.864,802.503 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,802.13 L429.22,800.639 L430.339,799.147 " fill="none" stroke="#FF0000" />
+	<path d="M430.712,798.774 L431.084,798.774 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,798.401 L432.949,795.418 L433.322,793.553 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,792.808 L433.695,792.808 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,792.062 L432.949,789.078 L431.83,787.214 " fill="none" stroke="#FF0000" />
+	<path d="M431.83,786.468 L432.203,786.468 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,786.095 L429.22,783.858 L427.355,783.112 " fill="none" stroke="#FF0000" />
+	<path d="M426.982,782.739 L427.355,782.739 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,782.366 L423.253,781.993 L421.016,782.366 " fill="none" stroke="#FF0000" />
+	<path d="M420.643,782.366 L421.016,782.366 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,782.366 L416.914,783.858 L415.795,785.349 " fill="none" stroke="#FF0000" />
+	<path d="M415.049,785.722 L415.422,785.722 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,786.095 L413.558,789.078 L413.185,791.316 " fill="none" stroke="#FF0000" />
+	<path d="M413.185,791.689 L413.558,791.689 M412.812,792.062 L413.185,792.062 " fill="none" stroke="#FF0000" />
+	<path d="M412.812,679.07 L413.558,682.053 L413.931,683.918 " fill="none" stroke="#FF0000" />
+	<path d="M414.303,684.291 L414.676,684.291 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,685.036 L416.914,686.901 L418.778,688.02 " fill="none" stroke="#FF0000" />
+	<path d="M419.524,688.393 L419.524,688.393 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,688.766 L423.253,689.138 L425.118,688.766 " fill="none" stroke="#FF0000" />
+	<path d="M425.491,688.766 L425.864,688.766 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,688.766 L429.22,686.901 L430.339,685.782 " fill="none" stroke="#FF0000" />
+	<path d="M430.712,685.409 L431.084,685.409 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,685.036 L432.949,682.053 L433.322,679.816 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,679.443 L433.695,679.443 " fill="none" stroke="#FF0000" />
+	<path d="M433.322,679.07 L432.949,675.341 L431.83,673.849 " fill="none" stroke="#FF0000" />
+	<path d="M431.83,673.476 L432.203,673.476 " fill="none" stroke="#FF0000" />
+	<path d="M431.457,672.73 L429.22,670.493 L427.355,669.374 " fill="none" stroke="#FF0000" />
+	<path d="M426.982,669.001 L427.355,669.001 " fill="none" stroke="#FF0000" />
+	<path d="M426.237,668.628 L423.253,668.255 L421.016,668.628 " fill="none" stroke="#FF0000" />
+	<path d="M420.643,668.628 L421.016,668.628 " fill="none" stroke="#FF0000" />
+	<path d="M419.897,668.628 L416.914,670.493 L415.795,671.985 " fill="none" stroke="#FF0000" />
+	<path d="M415.049,672.357 L415.422,672.357 " fill="none" stroke="#FF0000" />
+	<path d="M414.676,672.73 L413.558,675.341 L413.185,677.578 " fill="none" stroke="#FF0000" />
+	<path d="M413.185,678.324 L413.558,678.324 M412.812,679.07 L413.185,679.07 " fill="none" stroke="#FF0000" />
+	<text x="418.033" y="784.604" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="418.033" y="792.435" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+2
+	</text>
+	<text x="418.033" y="670.866" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="418.033" y="679.07" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+3
+	</text>
+	<text x="418.033" y="557.501" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="418.033" y="565.705" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+5
+	</text>
+	<text x="418.033" y="494.852" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="418.033" y="502.683" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+6
+	</text>
+	<text x="418.033" y="445.628" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="418.033" y="453.832" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+7
+	</text>
+	<text x="418.033" y="365.825" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="418.033" y="374.029" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+8
+	</text>
+	<text x="453.086" y="324.432" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+1
+	</text>
+	<text x="453.086" y="332.636" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+9
+	</text>
+	<text x="418.033" y="320.703" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+2
+	</text>
+	<text x="418.033" y="328.907" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+0
+	</text>
+	<text x="418.033" y="208.457" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+2
+	</text>
+	<text x="418.033" y="216.661" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+2
+	</text>
+	<text x="418.033" y="95.4651" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+2
+	</text>
+	<text x="418.033" y="103.669" font-family="Arial" font-size="14" font-weight="400" fill="#FF0000" stroke="#FF0000" stroke-width="0.3" text-anchor="start" >
+4
+	</text>
+	<path d="M170.42,357.621 L170.42,377.385 L170.42,357.621 Z" fill="none" stroke="#FFFF00" />
+	<path d="M166.318,355.384 L170.42,357.621 L166.318,359.486 Z" fill="#FFFF00" stroke="none" />
+	<path d="M170.42,357.621 L166.318,359.486 L166.318,355.384 Z" fill="#FFFF00" stroke="none" />
+	<path d="M174.522,355.384 L170.42,357.621 L174.522,359.486 Z" fill="#FFFF00" stroke="none" />
+	<path d="M170.42,357.621 L174.522,359.486 L174.522,355.384 Z" fill="#FFFF00" stroke="none" />
+	<text x="165.199" y="362.842" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+-
+	</text>
+	<text x="165.199" y="365.079" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+3
+	</text>
+	<text x="165.199" y="368.063" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+,
+	</text>
+	<text x="165.199" y="369.927" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+3
+	</text>
+	<text x="165.199" y="372.538" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+4
+	</text>
+	<text x="171.912" y="362.842" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+-
+	</text>
+	<text x="171.912" y="365.079" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+3
+	</text>
+	<text x="171.912" y="368.063" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+,+
+	</text>
+	<text x="171.912" y="369.927" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+0
+	</text>
+	<text x="171.912" y="372.538" font-family="Arial" font-size="5" font-weight="400" fill="#FFFF00" stroke="#FFFF00" stroke-width="0.3" text-anchor="start" >
+4
+	</text>
+	<path d="M12.306,43.6305 L587.334,43.6305 L587.334,862.915 " fill="none" stroke="#FFFF00" />
+	<path d="M12.306,43.6305 L587.334,43.6305 L587.334,862.915 " fill="none" stroke="#FFFF00" />
+	<path d="M5.96657,0 L617.913,0 L617.913,870 L5.96657,870 Z" fill="none" stroke="none" />
+	<rect x="5.96657" y="0" width="611.573" height="870" fill="none" stroke="none" />
+	<path d="M5.96657,0 L617.913,0 L617.913,870 L5.96657,870 Z" fill="none" stroke="none" />
+	<rect x="5.96657" y="0" width="611.946" height="870" fill="none" stroke="none" />
+	<path d="M5.96657,0 L617.913,0 L617.913,870 L5.96657,870 Z" fill="none" stroke="none" />
+	<path d="M202.49,589.198 L584.351,589.198 L584.351,862.169 L202.49,862.169 Z" fill="none" stroke="none" />
+	<text x="274.462" y="579.876" font-family="Arial" font-size="46" font-weight="400" fill="#000000" stroke="#000000" stroke-width="0.3" text-anchor="start" >
+LEADTOOLS
+	</text>
+	<text x="333.755" y="633.575" font-family="Arial" font-size="46" font-weight="400" fill="#000000" stroke="#000000" stroke-width="0.3" text-anchor="start" >
+ePrint 5
+	</text>
+	<text x="285.649" y="687.274" font-family="Arial" font-size="46" font-weight="400" fill="#000000" stroke="#000000" stroke-width="0.3" text-anchor="start" >
+Professional
+	</text>
+
+</svg>
diff --git a/svg-example/res/fsquare/svg/SampleFrame.java b/svg-example/res/fsquare/svg/SampleFrame.java
new file mode 100644
index 0000000..4b9899e
--- /dev/null
+++ b/svg-example/res/fsquare/svg/SampleFrame.java
@@ -0,0 +1,105 @@
+package fsquare.svg;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JOptionPane;
+import javax.swing.SwingUtilities;
+import javax.swing.UIManager;
+
+import com.kitfox.svg.SVGDiagram;
+import com.kitfox.svg.SVGElement;
+import com.kitfox.svg.SVGException;
+import com.kitfox.svg.app.beans.SVGPanel;
+import com.kitfox.svg.xml.StyleAttribute;
+
+public class SampleFrame extends JFrame implements ActionListener
+{
+    private static final long serialVersionUID = 1L;
+    private final SVGPanel svgPanel;
+    private final URI svgUri;
+    private final String fileName;
+
+    
+    public static void main(String[] args) throws Exception
+    {
+        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+        SwingUtilities.invokeLater(new Runnable()
+        {
+            public void run()
+            {
+                String[] options = {"Without PNG image (sample_1.svg)", "Embedded PNG image (sample_2.svg)"};
+                int sel = JOptionPane.showOptionDialog(null, "Select the SVG", "SVG sample", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
+                new SampleFrame("sample_" + (sel+1) + ".svg").setVisible(true);
+            }
+        });
+
+    }
+
+    SampleFrame(String fileName)
+    {
+        super("SVG sample");
+        this.fileName = fileName;
+        setDefaultCloseOperation(EXIT_ON_CLOSE);
+        setLayout(new BorderLayout());
+        
+        this.svgUri = getUri();
+        this.svgPanel = new SVGPanel();
+        this.svgPanel
+            .setSvgURI(this.svgUri);
+        this.svgPanel.setAntiAlias(true);
+        this.svgPanel.setPreferredSize(new Dimension(this.svgPanel.getSVGWidth(), this.svgPanel.getSVGHeight()));
+        add(this.svgPanel, BorderLayout.CENTER);
+        
+        JButton btn = new JButton("Update diagram");
+        btn.addActionListener(this);
+        add(btn, BorderLayout.SOUTH);
+        
+        setLocationRelativeTo(null);
+        pack();
+        
+    }
+
+    private URI getUri()
+    {
+        try
+        {
+            return getClass().getResource(this.fileName).toURI();
+        }
+        catch (URISyntaxException e)
+        {
+            throw new RuntimeException(e);
+        }   
+    }
+    
+    @Override
+    public void actionPerformed(ActionEvent e)
+    {
+        
+        SVGDiagram diagram = this.svgPanel.getSvgUniverse().getDiagram(this.svgUri);
+        SVGElement myRect = diagram.getElement("my.rect");
+        StyleAttribute hAttr = myRect.getPresAbsolute("height");
+        int height = hAttr.getIntValue();
+        height = (height>150) ? 120 : 200;
+        hAttr.setStringValue("" + height);
+        try
+        {
+            diagram.updateTime(0);
+        }
+        catch (SVGException e1)
+        {
+            e1.printStackTrace();
+        }
+        this.svgPanel.repaint();
+        
+
+        
+    }
+
+}
diff --git a/svg-example/res/fsquare/svg/sample_1.svg b/svg-example/res/fsquare/svg/sample_1.svg
new file mode 100644
index 0000000..8a61cb7
--- /dev/null
+++ b/svg-example/res/fsquare/svg/sample_1.svg
@@ -0,0 +1,64 @@
+<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="400"
+   height="400"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   sodipodi:docname="sample_1.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.35"
+     inkscape:cx="154.03941"
+     inkscape:cy="170.70175"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="500"
+     inkscape:window-height="577"
+     inkscape:window-x="1646"
+     inkscape:window-y="146"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata7">
+    <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
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-652.36218)">
+    <rect
+       style="fill:#800080;fill-opacity:1;stroke:none"
+       id="my.rect"
+       width="234.28572"
+       height="120"
+       x="77.14286"
+       y="803.79077"
+       inkscape:label="#rect2985" />
+  </g>
+</svg>
diff --git a/svg-example/res/fsquare/svg/sample_2.svg b/svg-example/res/fsquare/svg/sample_2.svg
new file mode 100644
index 0000000..ff39c17
--- /dev/null
+++ b/svg-example/res/fsquare/svg/sample_2.svg
@@ -0,0 +1,127 @@
+<?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="400"
+   height="400"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   sodipodi:docname="sample_2.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.35"
+     inkscape:cx="154.03941"
+     inkscape:cy="170.70175"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="670"
+     inkscape:window-height="672"
+     inkscape:window-x="1646"
+     inkscape:window-y="146"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata7">
+    <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
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-652.36218)">
+    <rect
+       style="fill:#008080;fill-opacity:1;stroke:none"
+       id="my.rect"
+       width="234.28572"
+       height="120"
+       x="77.14286"
+       y="803.79077"
+       inkscape:label="#rect2985" />
+    <image
+       y="716.93359"
+       x="175.99998"
+       id="image2995"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAC9NJREFU
+aIGtmVtsXMd5x38zc87ZG3fJ5UWmpEiWJcqWqAtl2VXjuChsOI6NtHZc+yENUqBAHhojkVKgL0XR
+h7av7VMho0WLOi2Q9qUPfUnRulYc2829iBs7diRZtqqbSUlcLpd79nauM304Z8nd5ZKiLA4wODOz
+58z8/99tvpkVxhi2Ul45I7b0HiABFceEGUfcp7XpRDGulNhADOitTtRbTp8djlN+msk2KRJQUUS8
+e1f+pa987cT7L3559heFgnU81mhgy1K4mwW3swjAwVB8+NRDfz567K+mph/90/2zs1N/EkdIwNnu
+NbdzMgnYYYjevUv+3gMP//4s4gnIvMixzz73fKnAY3GcaGgb19xWAsKAIwXluUdPviwnn5V474J/
+lZF9X83PHtn5h3GMAqztXHe7JkocN0JP75C/c+DkV44SafDOg/ce2Hs4euq3nxnJM6c1im3UwnYR
+EEDWaIonTs59XU09BZ1LybAOwbtG6cDvFmYPTX0rjIBt9IXtmCSJPDF6ekp9af8jX50l7EC0DAZA
+gD8P1g6O/toLXyjleVRrBNsUkbaDQCL9mMKJk8dftnc8puhcBmNAx6A16Ag6NxibeaH00MzUy9E2
+RqR7naAb9/X0pHxx5pEvHyNoQFRPwYegAzAa/FtgjXP81HO/Vchuny/cKwEBZDGUjs2d+Jo9eVzS
+/r8UfJASCNeItK8ztv/ZkYcO7PiDKIlI96yFe/l41fanyvLZBx957iTBCkRuP+hu28QQVMAqcfzR
+Z57PO8xqc+9auBcCAnCMpnBibu6bzsQhSedqArQXfBysVR1B+xPG9z9VOrR/6kwUorlHLdzNh7Jb
+tYFYE/shnclR+fTM3FPH8Rchaq+Bj1Pwg5oIa6Acjsw9+WzWZjaMCbVGpzml7KlbKhbAK2fEug+M
+gTOvmNXMMQjRGFASlbHZk7HZJwW7Hjlx5I8z5T0WnQUSpegeDAJMT7uLq7PI1AOPlecOfv/PPrq2
+9GpsWAgirvgRt7VJXhVplclTDmbDp88m2MTZ06jTZ008SOCVb4jRfJb7izn7aDZrP5DL5XaWy+Xd
+4xNTM6XRsZ2ZXLGYKYw59uh+iF2IWyDUgBBT0KaXQArEKkPg4q9cNn6zFnhtt15fqd2oLi9+7Dbc
+mx3Pv9kJoksNT5/vhMx/629Max3GM0KKv/4mquDIQztGc0+PjeRP5PK5XYVSeWJsYsdkaWxyMpsr
+5lW2ANkSOEUQztoGZWTimN4CSGs4+D4SMhGrkSAkZPeCPZL6jQYTJWbYqWLaVaJO3bRb9Ya7crtS
+r92utlpute3712ot751KK3gtiM1N8e0/Uo+/8NTnvlved7KMlQM7AyqTLKR1MrmJIPZBdyD2gDiJ
+7ZjUZFLJC7kBCdlPYnUjliBsEBZgJ22ZBZVN2l3CAFEH/Dp4K9Ba4MqFH3z82geXnrQcJWZyTraM
+sBIzCKqgfTBp6MP0VNIJu/YoUtBqCPhhhIaRivtJme4T0OlubkzSFyp9L0fBcnZLwS5rqRX9/K0f
+/+TfHj9WfzEztRcnr8Cku2cXbFcKIp20rwgg6pfqKrGu+fQQ7ra7oIxJD5kmTTt0AjoOk7AbR8k7
+1ggGh7DeoH77w/DtK1f+1tO4lpLIC7earxrzq/xnD8fPhBP7RHa0iJIBxM2UuezH29foiQ5dbkan
+AM3AeI90ewkYkwimbzxtoyC3gygQ+NUl3MULwds3rv7zzVZ0zpbYFuDaivaFW61vx/oCjx+On9HB
+XpEtj2FnxiFYTuJ4rz0ikhW6m5aJ1+pq36REugRS6YvumSbdhIW1Zu9dszGpNrAgN0XQjgmrS7i1
+j4I3r1/5l1vt+DVH4gErFrACzDsW6tJi+ztGfxj9xqz+oh/vkmZsHCc/CX4lJUFiXnHqI7rHT1al
+PPjskSwMkXRKSjipE+dYPbTlJvCbPtHKEvXly96b1659Z7ETn3MkS8A84KovnsKkRhwpiao0o8uN
+ppvdW1IHhVHCoFBODrzbiTbCVhKJdJRKOJVsF8ww8F3zMYNPseaocQBhG8ImBA2wR/E9iXaXWFm+
+7L1x9fo/Vbz4dVuyCNwAloB2l0AMhCkJa6kdXa25DblnRD6oooYkDlBONpnYmB4QrEXS1bYZPrba
+H+a8vYQ0yAy+rzC1T1heWWh/79rCq1U/fiMF/wlQBTpArP7jZ8b8z3/+xSAJtdyJrtYaDbWnaD1o
+iVgKlUEqO4nHDAFuBgGyHnQfkV6yps+kIlOEdpOl+nLr3I3Ff6z58Zs9kq8CHhCfPmu06N7MpfmQ
+BRSAKWBPEHPfZ4qZ5z9/aPql0mjRUvkiInZTux8opsd2ev2gNxL19YdpRaNNBhNZLFSXmuduVP7e
+DeIfWf3g/S54ANF7tbgBiandxcyXnn5w+qXyRNEWlkg2umHhs5eIGdJfp6WBpwYT21yv1t3v3aj8
+QyOMf2xJbveCP33WhL1y68tCU1YR0AIqwA1HUZlv+t/9r4s3/3Wp4voEQWJssVmreqAOjsWsf6dr
+Tj1PExmuVFZqr19f/Lth4Elm6ivr0uihJCRL883g3y/cXPnV6qYzDHScxu91RHR/Ww9pG4PRmvcq
+9f9uRPqnm5nNpgSGkFgC5i1JfSxjj64jMKiF7v1zHwnWt/VAO07AlGxVEnAbWABqJNEmHAZ+QwID
+JDoG6koQFR0rIbCZ+WxkRn2EGfJbgq9kqzLgAk2SaGM2wgjpiewOxQChJUSulLVyq8CGvbXaHhKN
++hw5/UEPjAvDqGONiSTP6KbCm/6fsBUCaAMFW91ftFVCYBDgVogMIzHYFjBu25NZKXaGmHmxhdu7
+rRyelTYw7ljHHSnllqNPPDimB75hvSPHhoIUhRGlDmuDYQsH/DtpQJCo0x61rIMAxBto1Ay2zcaJ
+XW/b9I9nhBAFKQ8sra29admKCSkgX7StCTBDIrHZtNsPsAf0BiSkFBSUvE+v5dz3REACSsFoOWNN
+rKp+EGEXHKyd4gyYUCddlZpy11QwawnhIBEE45a1F0Megccd/GBDAmlaITSQl2L/qKUGCPQ4s7KT
+Wwmj0FFM0PJYaLSb7zdb72SlLBzJF45NFAoZp5BHWgJhwuTIGAXJHEL2aWlSWfc7gikDNZEIcUjy
+dQcCaZHawIhSR3JSOqvxu/uHo10Ap4A2iqjj49ebLDbd9sV2892rof9WkOyiXPW8Hx5stD4/ky0+
+VB4p2vbICFYui5UJwHPBb6xmoghBQYiyg7jfw1y6Uxi6EwFlQOSl/IwjSRxYa7BzkJtAYxO124Tu
+MksNN7jYbrx7JQre6BjzsSXw7GQjEj5m8b2gc+FK5B0/6DWenGmMHCrli9IqjmLnp1HOGDQXIeiA
+lBSUtDKI6Q6me/m74f/LWyFglyw1LaSAKIZsGbJl4sAnqleouvXwYss9/3Hovd4yXFCCpi1YBpZJ
+0gAkFKVgsmmM+07Qef9y6D182Gs+faDT2FfMF6UujmIVdiOogLdCTgoxIuWemtE9V3l3rwEFKGko
+TVrWA2gNmVGwS8QrNZZrtfhio/7Rh4F3roH5QAlqKfAqSQ7TAoIUQBVYVjCuBJMupv7TsPP+R5F/
+6nC7+cRMq7F3pFhCFYoIWyMil0mhjl7XkUTQvQy6awKY5Ji9Y1zI3dh5MA71+XlzfmX58sWg8/0V
+zP8qQcNOpF0hSfwaqeQjEtV343mbJMepKphE0FhG138Ydd75sOF/7ki7+ZszheLOkWIRVIayaR0U
+kE+/+1QaQICKBa3LHf+XmWrn5PVGpfLLTvNcTZhfCEHVTgBVSAi46WIB623WsHZk7ZBoZ0XBFIJm
+Bb38dtz5+cW6/+tzrdYTk45TuK6jnyHunCncyQdiKQjeDb2//GDx5kwgaCFZsVJJprUXeO+FaW/p
+9rtEopRIA6haMGEE7i2hFypx6y2r3bJCyXkr0dynzkZ1CsoVgvlI4KrEHJokd0kua3YeDQG90Zxd
+ImH6bRuoi4RI2QhuR4JQJuTc9L0NSWxGwJCchGqAJ8DuIeWlv2k22WTugkjXrKoCMulvPmu+tKFw
+/h8bPSzTfy1VLQAAAABJRU5ErkJggg==
+"
+       height="48"
+       width="48" />
+  </g>
+</svg>
diff --git a/svg-example/res/sample image.rar b/svg-example/res/sample image.rar
new file mode 100644
index 0000000..f6d2f28
Binary files /dev/null and b/svg-example/res/sample image.rar differ
diff --git a/svg-example/src/com/kitfox/svg/example/MenuIconTestFrame.form b/svg-example/src/com/kitfox/svg/example/MenuIconTestFrame.form
new file mode 100644
index 0000000..71d317e
--- /dev/null
+++ b/svg-example/src/com/kitfox/svg/example/MenuIconTestFrame.form
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
+  <NonVisualComponents>
+    <Menu class="javax.swing.JMenuBar" name="jMenuBar1">
+      <SubComponents>
+        <Menu class="javax.swing.JMenu" name="menuMain">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="Menu"/>
+          </Properties>
+        </Menu>
+      </SubComponents>
+    </Menu>
+  </NonVisualComponents>
+  <Properties>
+    <Property name="defaultCloseOperation" type="int" value="3"/>
+  </Properties>
+  <SyntheticProperties>
+    <SyntheticProperty name="menuBar" type="java.lang.String" value="jMenuBar1"/>
+    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+    <SyntheticProperty name="generateCenter" type="boolean" value="false"/>
+  </SyntheticProperties>
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+  <SubComponents>
+    <Container class="javax.swing.JPanel" name="jPanel1">
+      <Constraints>
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+          <BorderConstraints direction="Center"/>
+        </Constraint>
+      </Constraints>
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="bnIcon" min="-2" pref="171" max="-2" attributes="0"/>
+                  <EmptySpace pref="219" max="32767" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="bnIcon" min="-2" pref="67" max="-2" attributes="0"/>
+                  <EmptySpace pref="201" max="32767" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+      <SubComponents>
+        <Component class="javax.swing.JButton" name="bnIcon">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="jButton1"/>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/svg-example/src/com/kitfox/svg/example/MenuIconTestFrame.java b/svg-example/src/com/kitfox/svg/example/MenuIconTestFrame.java
new file mode 100644
index 0000000..bf8aecb
--- /dev/null
+++ b/svg-example/src/com/kitfox/svg/example/MenuIconTestFrame.java
@@ -0,0 +1,161 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package com.kitfox.svg.example;
+
+import com.kitfox.svg.app.beans.SVGIcon;
+import java.net.URISyntaxException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.JMenuItem;
+
+/**
+ *
+ * @author kitfox
+ */
+public class MenuIconTestFrame extends javax.swing.JFrame
+{
+    JMenuItem itemEnabled;
+    JMenuItem itemDisabled;
+
+    SVGIcon iconEnabled;
+    SVGIcon iconDisabled;
+    /**
+     * Creates new form MenuIconTestFrame
+     */
+    public MenuIconTestFrame()
+    {
+        initComponents();
+        
+        try
+        {
+//            iconEnabled = new SVGIcon(SimpleIconFrame.class.getResource("dor-32-gradient.svg").toURI());
+            iconEnabled = new SVGIcon();
+            iconEnabled.setSvgURI(SimpleIconFrame.class.getResource("dor-32-gradient.svg").toURI());
+
+            iconDisabled = new SVGIcon();
+            iconDisabled.setSvgURI(SimpleIconFrame.class.getResource("dor-32-gradient.svg").toURI());
+            
+        }
+        catch (URISyntaxException ex)
+        {
+            Logger.getLogger(MenuIconTestFrame.class.getName()).log(Level.SEVERE, null, ex);
+        }
+        
+        itemEnabled = new JMenuItem("Enabled", iconEnabled);
+//        menuMain.add(itemEnabled);
+        
+        itemDisabled = new JMenuItem("Disabled", iconEnabled);
+        itemDisabled.setDisabledIcon(iconDisabled);
+        itemDisabled.setEnabled(false);
+        menuMain.add(itemDisabled);
+        //menuMain.add
+        
+        bnIcon.setIcon(iconEnabled);
+        bnIcon.setText(null);
+    }
+
+    /**
+     * This method is called from within the constructor to initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is always
+     * regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents()
+    {
+
+        jPanel1 = new javax.swing.JPanel();
+        bnIcon = new javax.swing.JButton();
+        jMenuBar1 = new javax.swing.JMenuBar();
+        menuMain = new javax.swing.JMenu();
+
+        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+
+        bnIcon.setText("jButton1");
+
+        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+        jPanel1.setLayout(jPanel1Layout);
+        jPanel1Layout.setHorizontalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(bnIcon, javax.swing.GroupLayout.PREFERRED_SIZE, 171, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(219, Short.MAX_VALUE))
+        );
+        jPanel1Layout.setVerticalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(bnIcon, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(201, Short.MAX_VALUE))
+        );
+
+        getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
+
+        menuMain.setText("Menu");
+        jMenuBar1.add(menuMain);
+
+        setJMenuBar(jMenuBar1);
+
+        pack();
+    }// </editor-fold>//GEN-END:initComponents
+
+    /**
+     * @param args the command line arguments
+     */
+    public static void main(String args[])
+    {
+        /* Set the Nimbus look and feel */
+        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
+        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
+         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
+         */
+        try
+        {
+            for (javax.swing.UIManager.LookAndFeelInfo info: javax.swing.UIManager.getInstalledLookAndFeels())
+            {
+                if ("Nimbus".equals(info.getName()))
+                {
+                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
+                    break;
+                }
+            }
+        }
+        catch (ClassNotFoundException ex)
+        {
+            java.util.logging.Logger.getLogger(MenuIconTestFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+        }
+        catch (InstantiationException ex)
+        {
+            java.util.logging.Logger.getLogger(MenuIconTestFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+        }
+        catch (IllegalAccessException ex)
+        {
+            java.util.logging.Logger.getLogger(MenuIconTestFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+        }
+        catch (javax.swing.UnsupportedLookAndFeelException ex)
+        {
+            java.util.logging.Logger.getLogger(MenuIconTestFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+        }
+        //</editor-fold>
+
+        /* Create and display the form */
+        java.awt.EventQueue.invokeLater(new Runnable()
+        {
+            public void run()
+            {
+                new MenuIconTestFrame().setVisible(true);
+            }
+        });
+    }
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton bnIcon;
+    private javax.swing.JMenuBar jMenuBar1;
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JMenu menuMain;
+    // End of variables declaration//GEN-END:variables
+}
diff --git a/svg-example/src/com/kitfox/svg/example/SimpleIconFrame.form b/svg-example/src/com/kitfox/svg/example/SimpleIconFrame.form
index 28a1a12..2d6c893 100644
--- a/svg-example/src/com/kitfox/svg/example/SimpleIconFrame.form
+++ b/svg-example/src/com/kitfox/svg/example/SimpleIconFrame.form
@@ -1,4 +1,4 @@
-<?xml version="1.1" encoding="UTF-8" ?>
+<?xml version="1.0" encoding="UTF-8" ?>
 
 <Form version="1.3" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
   <Properties>
@@ -6,6 +6,7 @@
   </Properties>
   <SyntheticProperties>
     <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+    <SyntheticProperty name="generateCenter" type="boolean" value="false"/>
   </SyntheticProperties>
   <AuxValues>
     <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
diff --git a/svg-example/src/com/kitfox/svg/example/SimpleIconFrame.java b/svg-example/src/com/kitfox/svg/example/SimpleIconFrame.java
index a9606a7..1a0c81f 100644
--- a/svg-example/src/com/kitfox/svg/example/SimpleIconFrame.java
+++ b/svg-example/src/com/kitfox/svg/example/SimpleIconFrame.java
@@ -1,22 +1,54 @@
+/*
+ * SVG Salamander
+ * Copyright (c) 2004, Mark McKay
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   - Redistributions of source code must retain the above 
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer.
+ *   - Redistributions in binary form must reproduce the above
+ *     copyright notice, this list of conditions and the following
+ *     disclaimer in the documentation and/or other materials 
+ *     provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * 
+ * Mark McKay can be contacted at mark at kitfox.com.  Salamander and other
+ * projects can be found at http://www.kitfox.com
+ *
+ * Created on Mar 10, 2010, 11:25:47 AM
+ */
+
 package com.kitfox.svg.example;
 
+import com.kitfox.svg.SVGDiagram;
+import com.kitfox.svg.SVGException;
+import com.kitfox.svg.SVGUniverse;
+import com.kitfox.svg.ShapeElement;
 import com.kitfox.svg.app.beans.SVGPanel;
 import java.awt.BorderLayout;
+import java.awt.geom.Point2D;
 import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-
-/*
- * SimpleIconFrame.java
- *
- * Created on Mar 10, 2010, 11:25:47 AM
- */
-
 /**
  *
  * @author kitfox
@@ -32,14 +64,68 @@ public class SimpleIconFrame extends javax.swing.JFrame
 
         getContentPane().add(panel, BorderLayout.CENTER);
         panel.setAntiAlias(true);
+        panel.setAutosize(SVGPanel.AUTOSIZE_NONE);
+        
         try {
+            panel.setSvgURI(SimpleIconFrame.class.getResource("tux.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("dor-32-gradient.svg").toURI());
+
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("bulb.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("notes.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("jira51-textLength.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("jira50-display.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("bigMarkers.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("radialGradient.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("jira43-tspanVariableX.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("textOnPath.svg").toURI());
 //            panel.setSvgURI(SimpleIconFrame.class.getResource("tree.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("jt11.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("viewboxTest.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("boundingBoxPicking.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("issue.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("intro_flash.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("clipIssue.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("bug-31-path.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("100x100-mm.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("gradient.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("map2.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("imageClip.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("markerEnd.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("casing2.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("casing2-opt.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("PseudoColor.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("degrade.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("Z.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("test-brd.svg").toURI());
+//              panel.setSvgURI(SimpleIconFrame.class.getResource("nonScalingStroke.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("areaCrash.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("use.svg").toURI());
 //            panel.setSvgURI(SimpleIconFrame.class.getResource("data-uri-scheme-test-image.svg").toURI());
-            panel.setSvgURI(SimpleIconFrame.class.getResource("marker.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("marker.svg").toURI());
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("markerTest.svg").toURI());
+
+//            panel.setSvgURI(SimpleIconFrame.class.getResource("class.svg").toURI());
+//            SVGDiagram diagram = panel.getSvgUniverse().getDiagram(SimpleIconFrame.class.getResource("class.svg").toURI());
+//            SVGRoot root = diagram.getRoot();
+//            StyleSheet ss = new StyleSheet();
+//            root.setStyleSheet(ss);
+//            ss.addStyleRule(new StyleSheetRule("stroke-width", "rect", null), "5");
+//            ss.addStyleRule(new StyleSheetRule("fill", "rect", null), "none");
+//            ss.addStyleRule(new StyleSheetRule("stroke", "rect", "alpha"), "red");
+//            ss.addStyleRule(new StyleSheetRule("stroke", "rect", null), "green");
+            
         } catch (URISyntaxException ex) {
             Logger.getLogger(SimpleIconFrame.class.getName()).log(Level.SEVERE, null, ex);
         }
 
+        panel.addMouseListener(new java.awt.event.MouseAdapter()
+        {
+            public void mousePressed(java.awt.event.MouseEvent evt)
+            {
+                panelMousePressed(evt);
+            }
+        });
+        
         setSize(640, 480);
     }
 
@@ -50,13 +136,41 @@ public class SimpleIconFrame extends javax.swing.JFrame
      */
     @SuppressWarnings("unchecked")
     // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
-    private void initComponents() {
+    private void initComponents()
+    {
 
         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
 
         pack();
     }// </editor-fold>//GEN-END:initComponents
 
+    private void panelMousePressed(java.awt.event.MouseEvent evt)                                  
+    {                                      
+        SVGUniverse uni = panel.getSvgUniverse();
+        SVGDiagram dia = uni.getDiagram(panel.getSvgURI());
+        
+        ArrayList result = new ArrayList();
+        try
+        {
+            dia.pick(new Point2D.Float(evt.getX(), evt.getY()), result);
+
+            System.out.println("---");
+            for (int i = 0; i < result.size(); ++i)
+            {
+                List path = (List)result.get(i);
+
+                ShapeElement ele = (ShapeElement)path.get(path.size() - 1);
+//                    ele.getParent().removeChild(ele);
+                repaint();
+                System.out.println(ele.getId());
+            }
+        }
+        catch (SVGException ex)
+        {
+            Logger.getLogger(SimpleIconFrame.class.getName()).log(Level.SEVERE, null, ex);
+        }
+    }                                 
+    
     /**
     * @param args the command line arguments
     */
diff --git a/svg-example/test.svg b/svg-example/test.svg
new file mode 100644
index 0000000..4ca6251
--- /dev/null
+++ b/svg-example/test.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg> </svg>
\ No newline at end of file
diff --git a/svg-example/test/com/kitfox/svg/test/AnimationTests.java b/svg-example/test/com/kitfox/svg/test/AnimationTests.java
new file mode 100644
index 0000000..afc4afb
--- /dev/null
+++ b/svg-example/test/com/kitfox/svg/test/AnimationTests.java
@@ -0,0 +1,112 @@
+package com.kitfox.svg.test;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.net.URI;
+
+import com.kitfox.svg.Circle;
+import com.kitfox.svg.SVGCache;
+import com.kitfox.svg.SVGDiagram;
+import com.kitfox.svg.SVGElement;
+import com.kitfox.svg.SVGElementException;
+import com.kitfox.svg.SVGRoot;
+import com.kitfox.svg.SVGUniverse;
+import com.kitfox.svg.animation.AnimateMotion;
+import com.kitfox.svg.animation.AnimationElement;
+
+public class AnimationTests
+{
+	private final String UNIT_TEXT_SECOND = "s";
+	private AnimationElement animation;
+	
+	public AnimationTests(AnimationElement element, String attributeName){
+		animation = element;
+		
+		addPresentationAttribute("attributeName", attributeName);
+		addCalcAttribute();
+		addFillAttribute();
+		addStartAttribute();
+		URI uri = addDiagramToUniverse();
+		SVGElement rootElement = SVGCache.getSVGUniverse().getDiagram(uri).getRoot();
+		Circle c = new Circle();
+		addToElement(rootElement, c);
+		addToElement(c, animation);
+		
+	}
+	private void addToElement(SVGElement rootElement, SVGElement child)
+	{
+		try
+		{
+			rootElement.loaderAddChild(null, child);
+		} catch (SVGElementException e)
+		{
+			e.printStackTrace();
+		}
+		
+	}
+	private URI addDiagramToUniverse() {
+		URI uri = null;
+		try {
+			File f = new File("test.svg");
+			f.createNewFile();
+			fillFile(f);
+			uri = f.toURI();
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		
+		SVGUniverse universe = SVGCache.getSVGUniverse();
+		SVGDiagram diagram = new SVGDiagram(uri, universe);
+		diagram.setRoot(new SVGRoot());
+		return uri;
+	}
+	private void fillFile(File f) throws IOException
+	{
+		StringBuilder builder = new StringBuilder();
+		appendHeader(builder);
+		builder.append("<svg> </svg>");
+		FileWriter fw = new FileWriter(f);
+		
+		fw.write(builder.toString());
+		
+		fw.flush();
+		fw.close();
+	}
+	private void appendHeader(StringBuilder builder)
+	{
+		builder.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
+		builder.append("\n");
+		builder.append("<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">");
+		builder.append("\n");
+	}
+	private void addCalcAttribute() {
+		addPresentationAttribute("calcMode",
+			"freeze");
+	}
+	private void addFillAttribute() {
+		addPresentationAttribute("fill", "freeze");
+	}
+	private void addStartAttribute() {
+		addPresentationAttribute("begin",
+				String.valueOf(2) + UNIT_TEXT_SECOND);
+		addPresentationAttribute("dur",
+				String.valueOf(3) + UNIT_TEXT_SECOND);
+	}
+	private void addPresentationAttribute(String attributeName, String attributeValue) {
+		try
+		{
+			animation.addAttribute(attributeName, AnimationElement.AT_XML, attributeValue);
+		} catch (SVGElementException e)
+		{
+			e.printStackTrace();
+		}
+	}
+	
+	public static void main(String[] args) {
+//		new AnimationTests(new AnimateColor(), "color");
+//		new AnimationTests(new AnimateTransform(), null);
+//		new AnimationTests(new Animate(), null);
+		new AnimationTests(new AnimateMotion(), null);
+	}
+}
diff --git a/svg-example/test/com/kitfox/svg/test/SetTest.java b/svg-example/test/com/kitfox/svg/test/SetTest.java
new file mode 100644
index 0000000..d07bcf2
--- /dev/null
+++ b/svg-example/test/com/kitfox/svg/test/SetTest.java
@@ -0,0 +1,39 @@
+package com.kitfox.svg.test;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import com.kitfox.svg.Circle;
+import com.kitfox.svg.SVGDiagram;
+import com.kitfox.svg.SVGElement;
+import com.kitfox.svg.SVGElementException;
+import com.kitfox.svg.SVGRoot;
+import com.kitfox.svg.SVGUniverse;
+import com.kitfox.svg.animation.AnimationElement;
+
+public class SetTest
+{
+	public static void main(String[] args) throws SVGElementException {
+		SVGUniverse universe = new SVGUniverse();
+		universe.setVerbose(true);
+		URI uri = null;
+		try
+		{
+			uri = new URI("local/salaTest.svg");
+		} catch (URISyntaxException e1)
+		{
+			// TODO Auto-generated catch block
+			e1.printStackTrace();
+		}
+		SVGDiagram diagram = new SVGDiagram(uri, universe);
+		diagram.setRoot(new SVGRoot());
+		Circle c = new Circle();
+		c.addAttribute("cx", AnimationElement.AT_XML, "3");
+		c.addAttribute("id", AnimationElement.AT_XML, "circle");
+		//Here it throws the NPE. 
+		diagram.getRoot().loaderAddChild(null, c);
+		System.out.println(c.getParent());
+		SVGElement element = diagram.getRoot().getChild("circle");
+		System.out.println(element);
+	}
+}
diff --git a/svg-example/test/com/kitfox/svg/test/gregorz/Applet1.java b/svg-example/test/com/kitfox/svg/test/gregorz/Applet1.java
new file mode 100644
index 0000000..6decc53
--- /dev/null
+++ b/svg-example/test/com/kitfox/svg/test/gregorz/Applet1.java
@@ -0,0 +1,23 @@
+package com.kitfox.svg.test.gregorz;
+
+import java.awt.Graphics;
+
+import javax.swing.JApplet;
+
+public class Applet1 extends JApplet{
+
+	@Override
+	public void init() {
+		setSize(500,500);
+		TestPanel1 tP1 = new TestPanel1();
+		tP1.setSize(500, 500);
+		add(tP1);
+	}
+
+	@Override
+	public void paint(Graphics g) {
+		super.paint(g);
+	}
+
+	
+}
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/shader/ShaderFrame.form b/svg-example/test/com/kitfox/svg/test/gregorz/NewJFrame.form
similarity index 61%
rename from java-one-2007/src/test/java/com/kitfox/javaone2007/shader/ShaderFrame.form
rename to svg-example/test/com/kitfox/svg/test/gregorz/NewJFrame.form
index 1915bdf..8ed65c1 100644
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/shader/ShaderFrame.form
+++ b/svg-example/test/com/kitfox/svg/test/gregorz/NewJFrame.form
@@ -1,6 +1,6 @@
-<?xml version="1.0" encoding="UTF-8" ?>
+<?xml version="1.1" encoding="UTF-8" ?>
 
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
+<Form version="1.3" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
   <Properties>
     <Property name="defaultCloseOperation" type="int" value="3"/>
   </Properties>
@@ -8,12 +8,15 @@
     <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
   </SyntheticProperties>
   <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
     <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
     <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
     <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
     <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
     <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-    <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
   </AuxValues>
 
   <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
diff --git a/java-one-2007/src/test/java/com/kitfox/javaone2007/frameBufferObject/FBOFrame.java b/svg-example/test/com/kitfox/svg/test/gregorz/NewJFrame.java
similarity index 59%
rename from java-one-2007/src/test/java/com/kitfox/javaone2007/frameBufferObject/FBOFrame.java
rename to svg-example/test/com/kitfox/svg/test/gregorz/NewJFrame.java
index a41badd..e94766f 100644
--- a/java-one-2007/src/test/java/com/kitfox/javaone2007/frameBufferObject/FBOFrame.java
+++ b/svg-example/test/com/kitfox/svg/test/gregorz/NewJFrame.java
@@ -1,59 +1,62 @@
-/*
- * TexRectangleFrame.java
- *
- * Created on April 25, 2007, 8:26 PM
- */
-
-package com.kitfox.javaone2007.frameBufferObject;
-
-import java.awt.BorderLayout;
-
-/**
- *
- * @author  kitfox
- */
-public class FBOFrame extends javax.swing.JFrame
-{
-    FBOPanel panel = new FBOPanel();
-    
-    /** Creates new form TexRectangleFrame */
-    public FBOFrame()
-    {
-        initComponents();
-        
-        getContentPane().add(panel, BorderLayout.CENTER);
-        
-        setSize(640, 480);
-    }
-    
-    /** This method is called from within the constructor to
-     * initialize the form.
-     * WARNING: Do NOT modify this code. The content of this method is
-     * always regenerated by the Form Editor.
-     */
-    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
-    private void initComponents()
-    {
-
-        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
-        pack();
-    }// </editor-fold>//GEN-END:initComponents
-    
-    /**
-     * @param args the command line arguments
-     */
-    public static void main(String args[])
-    {
-        java.awt.EventQueue.invokeLater(new Runnable()
-        {
-            public void run()
-            {
-                new FBOFrame().setVisible(true);
-            }
-        });
-    }
-    
-    // Variables declaration - do not modify//GEN-BEGIN:variables
-    // End of variables declaration//GEN-END:variables
-    
-}
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+/*
+ * NewJFrame.java
+ *
+ * Created on Jan 9, 2012, 5:08:03 PM
+ */
+package com.kitfox.svg.test.gregorz;
+
+import java.awt.BorderLayout;
+
+/**
+ *
+ * @author kitfox
+ */
+public class NewJFrame extends javax.swing.JFrame
+{
+    TestPanel1 panel = new TestPanel1();
+
+    /** Creates new form NewJFrame */
+    public NewJFrame()
+    {
+        initComponents();
+
+        getContentPane().add(panel, BorderLayout.CENTER);
+        setSize(500, 500);
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+
+        pack();
+    }// </editor-fold>//GEN-END:initComponents
+
+    /**
+     * @param args the command line arguments
+     */
+    public static void main(String args[])
+    {
+        java.awt.EventQueue.invokeLater(new Runnable()
+        {
+
+            public void run()
+            {
+                new NewJFrame().setVisible(true);
+            }
+        });
+    }
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    // End of variables declaration//GEN-END:variables
+}
diff --git a/svg-example/test/com/kitfox/svg/test/gregorz/TestPanel1.java b/svg-example/test/com/kitfox/svg/test/gregorz/TestPanel1.java
new file mode 100644
index 0000000..92d97e6
--- /dev/null
+++ b/svg-example/test/com/kitfox/svg/test/gregorz/TestPanel1.java
@@ -0,0 +1,97 @@
+package com.kitfox.svg.test.gregorz;
+
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.net.URL;
+
+import com.kitfox.svg.SVGDiagram;
+import com.kitfox.svg.SVGException;
+import com.kitfox.svg.SVGUniverse;
+import java.awt.Transparency;
+import java.io.File;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.imageio.ImageIO;
+
+public class TestPanel1 extends javax.swing.JComponent
+{
+
+    private SVGUniverse universe;
+    private SVGDiagram diagram;
+    private BufferedImage buffer;
+//    private Graphics2D g2d;
+
+    public TestPanel1()
+    {
+//        buffer = new BufferedImage(500, 500, BufferedImage.TYPE_INT_ARGB);
+//        g2d = buffer.createGraphics();
+        universe = new SVGUniverse();
+        try
+        {
+            //I think You should change the location (I have the file on my IIS - I've included it to the project)
+            URL url = TestPanel1.class.getResource("/com/kitfox/svg/example/x.svg");
+            diagram = universe.getDiagram(url.toURI());
+        } catch (URISyntaxException e)
+        {
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public void paint(Graphics g)
+    {
+        //try this
+        //optionWorking(g);
+        optionNotWorking(g);
+    }
+
+    //When I render on the applets' graphics it's working OK
+    private void optionWorking(Graphics g)
+    {
+        try
+        {
+            diagram.render((Graphics2D) g);
+        } catch (SVGException e)
+        {
+            e.printStackTrace();
+        }
+    }
+    //When I try it through a BufferedImage It doesn't work - It's like the
+    //diagram.render(g2d) didn't make it's job
+    //The BufferedImage is OK because a fillRect is working when You uncomment it
+
+    private void optionNotWorking(Graphics g)
+    {
+        if (buffer == null)
+        {
+            buffer = getGraphicsConfiguration()
+                    .createCompatibleImage(500, 500, Transparency.TRANSLUCENT);
+
+            Graphics2D g2d = buffer.createGraphics();
+            try
+            {
+//                g2d.setClip(0, 0, 500, 500);
+                diagram.render(g2d);
+            } catch (SVGException e)
+            {
+                e.printStackTrace();
+            }
+            g2d.dispose();
+
+            try
+            {
+                ImageIO.write(buffer, "png", new File("testImageX.png"));
+            } catch (IOException ex)
+            {
+                Logger.getLogger(TestPanel1.class.getName()).log(Level.SEVERE, null, ex);
+            }
+        }
+
+        //If You uncomment this it will work - It will draw an white rectangle
+        //g2d.fillRect(100, 100, 100, 100);
+        g.drawImage(buffer, 0, 0, 500, 500, null);
+    }
+}
diff --git a/svg-example/testImageX.png b/svg-example/testImageX.png
new file mode 100644
index 0000000..72a8123
Binary files /dev/null and b/svg-example/testImageX.png differ
diff --git a/www/binaries/svgPlayer.jnlp b/www/binaries/svgPlayer.jnlp
deleted file mode 100644
index 157eb2b..0000000
--- a/www/binaries/svgPlayer.jnlp
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- JNLP File for SVG Salamander Application -->
-<jnlp
-    spec="1.0+"
-    codebase="https://svgsalamander.dev.java.net/binaries/"
-    href="svgPlayer.jnlp">
-
-    <information>
-        <title>SVG Salamander Player</title>
-        <vendor>kitfox.com</vendor>
-        <homepage href="svgSalamander.html"/>
-        <description>SVG Player</description>
-        <description kind="short">Allows user to load, display and play animated SVG images.</description>
-        <!--icon href="images/swingset2.jpg"/-->
-        <!--icon kind="splash" href="images/splash.gif"/-->
-        <offline-allowed/>
-    </information>
-
-    <security>
-        <all-permissions/>
-    </security>
-
-    <resources>
-        <j2se version="1.4+"/>
-        <jar href="svgSalamander.jar"/>
-    </resources>
-
-    <application-desc main-class="com.kitfox.svg.app.SVGPlayer"/>
-</jnlp>
\ No newline at end of file
diff --git a/www/binaries/svgPlayerSecure.jnlp b/www/binaries/svgPlayerSecure.jnlp
deleted file mode 100644
index 6977702..0000000
--- a/www/binaries/svgPlayerSecure.jnlp
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- JNLP File for SVG Salamander Application -->
-<jnlp
-    spec="1.0+"
-    codebase="https://svgsalamander.dev.java.net/binaries/"
-    href="svgPlayer.jnlp">
-
-    <information>
-        <title>SVG Salamander Player</title>
-        <vendor>kitfox.com</vendor>
-        <homepage href="svgSalamander.html"/>
-        <description>SVG Player</description>
-        <description kind="short">Allows user to load, display and play animated SVG images.</description>
-        <!--icon href="images/swingset2.jpg"/-->
-        <!--icon kind="splash" href="images/splash.gif"/-->
-        <offline-allowed/>
-    </information>
-
-    <resources>
-        <j2se version="1.4+"/>
-        <jar href="svgSalamander.jar"/>
-    </resources>
-
-    <application-desc main-class="com.kitfox.svg.app.SVGPlayer"/>
-</jnlp>
\ No newline at end of file
diff --git a/www/binaries/svgSalamander.html b/www/binaries/svgSalamander.html
deleted file mode 100644
index 55f10e2..0000000
--- a/www/binaries/svgSalamander.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-  <style type="text/css"> /* <![CDATA[ */
- @import "/branding/css/tigris.css";
- @import "/branding/css/inst.css";
- /* ]]> */</style>
-  <link rel="stylesheet" type="text/css" href="/branding/css/print.css"
- media="print">
-
-
-		<script type="text/javascript">
-
-		  var _gaq = _gaq || [];
-		  _gaq.push(['_setAccount', 'UA-17414889-4']);
-		  _gaq.push(['_trackPageview']);
-
-		  (function() {
-			var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-			ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-			var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-		  })();
-
-		</script>
-
-</head>
-<body>
-<h3>SVG Viewer</h3>
-<br>
-This is a simple viewer that renders an SVG file onscreen.  It
-renders the default SVG image, and does not play any animations.<br>
-<br>
-<table style="width: 100%; text-align: left;" border="0" cellpadding="2"
- cellspacing="2">
-  <tbody>
-    <tr>
-      <td style="vertical-align: top;"><a
- href="svgSalamanderViewer.jnlp">Launch with WebStart</a></td>
-      <td style="vertical-align: top;"><a href="svgSalamanderViewer.jar">Download
-Executable JAR</a></td>
-    </tr>
-  </tbody>
-</table>
-<br>
-<br>
-<br>
-<br>
-<br>
-<br>
-<br>
-</body>
-</html>
diff --git a/www/binaries/svgViewer.jnlp b/www/binaries/svgViewer.jnlp
deleted file mode 100644
index e11f8b6..0000000
--- a/www/binaries/svgViewer.jnlp
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- JNLP File for SVG Salamander Application -->
-<jnlp
-    spec="1.0+"
-    codebase="https://svgsalamander.dev.java.net/binaries/"
-    href="svgViewer.jnlp">
-
-    <information>
-        <title>SVG Salamander Viewer</title>
-        <vendor>kitfox.com</vendor>
-        <homepage href="svgSalamander.html"/>
-        <description>SVG Viewer</description>
-        <description kind="short">Allows user to load and display (but not play or interact with) SVG images.</description>
-        <!--icon href="images/swingset2.jpg"/-->
-        <!--icon kind="splash" href="images/splash.gif"/-->
-        <offline-allowed/>
-    </information>
-
-    <security>
-        <all-permissions/>
-    </security>
-
-    <resources>
-        <j2se version="1.4+"/>
-        <jar href="svgSalamander.jar"/>
-    </resources>
-
-    <application-desc main-class="com.kitfox.svg.app.SVGViewer"/>
-</jnlp>
\ No newline at end of file
diff --git a/www/binaries/svgViewerSecure.jnlp b/www/binaries/svgViewerSecure.jnlp
deleted file mode 100644
index ff6bb06..0000000
--- a/www/binaries/svgViewerSecure.jnlp
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- JNLP File for SVG Salamander Application -->
-<jnlp
-    spec="1.0+"
-    codebase="https://svgsalamander.dev.java.net/binaries/"
-    href="svgViewer.jnlp">
-
-    <information>
-        <title>SVG Salamander Viewer</title>
-        <vendor>kitfox.com</vendor>
-        <homepage href="svgSalamander.html"/>
-        <description>SVG Viewer</description>
-        <description kind="short">Allows user to load and display (but not play or interact with) SVG images.</description>
-        <!--icon href="images/swingset2.jpg"/-->
-        <!--icon kind="splash" href="images/splash.gif"/-->
-        <offline-allowed/>
-    </information>
-
-    <resources>
-        <j2se version="1.4+"/>
-        <jar href="svgSalamander.jar"/>
-    </resources>
-
-    <application-desc main-class="com.kitfox.svg.app.SVGViewer"/>
-</jnlp>
\ No newline at end of file
diff --git a/www/docs/svgSalamanderJavadoc.zip b/www/docs/svgSalamanderJavadoc.zip
new file mode 100644
index 0000000..e136ad8
Binary files /dev/null and b/www/docs/svgSalamanderJavadoc.zip differ
diff --git a/www/index.html b/www/index.html
index bee5172..9a814ae 100644
--- a/www/index.html
+++ b/www/index.html
@@ -48,6 +48,14 @@
             <li/>SVG can be read from an InputStream, so you can create documents dynamicly from
             an in-program XSLT transformation.
         </ul>
+        <br/>
+
+
+        <h3>Projects using SVG Salamander</h3>
+
+        <p><a href="users.html">Here's a list</a> of some projects that are using the SVG Salamander library.</p>
+
+
 
         <h3>Status</h3>
 
@@ -95,11 +103,18 @@
 
         <p><a href="docs/use.html">How to use SVG Salamander in your program</a></p>
 
+
+
         <h3>Maven</h3>
 
-        SVG Salamander is available on Maven.  Thanks to Willie Möller for putting
-        this together for me.  The following should be what you need to add
-        SVG Salamander to your Maven project:
+		<p>I have had two failed attempts to put SVG Salamander on Maven.  I must
+		say I find the system very difficult to use, particularly since my dev machine
+		is MS Windows.</p>
+
+		<p>However (I have been told) others have posted SVG Salamander to Maven.
+		Thanks to Willie Maller for one such posting.
+		The following should be what you need to add
+        SVG Salamander to your Maven project:<p>
 
         <pre><code>
         <repository>
@@ -109,6 +124,11 @@
         </repository>
         </code></pre>
 
+		<p>I can't answer any Maven related questions.  I really don't understand it
+		and have spent too much time already trying to decipher their Byzantine
+		rituals, so if the above doesn't work for you, you might need to upload a
+		new project.</p>
+
         <!--
 <h3>Programs that use SVG Salamander!</h3>
 
diff --git a/www/users.html b/www/users.html
new file mode 100644
index 0000000..934e18a
--- /dev/null
+++ b/www/users.html
@@ -0,0 +1,57 @@
+<html>
+    <head>
+        <title>SVG Salamander - Projects using SVG Salamander</title>
+        <link type="text/css" rel="stylesheet" href="salamanderStyle.css">
+
+		<script type="text/javascript">
+
+		  var _gaq = _gaq || [];
+		  _gaq.push(['_setAccount', 'UA-17414889-4']);
+		  _gaq.push(['_trackPageview']);
+
+		  (function() {
+			var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+			ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+			var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+		  })();
+
+		</script>
+    </head>
+    <body>
+    		<div align="center"><h1>Projects using SVG Salamander</h1></div>
+
+    		<p>Over the years, many programmers have decided to incorporate
+    		SVG Salamander into their projects.  Below is a short list of some of them.</p>
+
+    		<p>If you've used SVG Salamander in a project of your own and would like
+    		to be included in the list, please email me.</p>
+
+			<ul>
+				<li><a href="http://pivot.apache.org/">Apache Pivot</a> -
+				An alternate crossplatform GUI for Java.</li>
+
+				<li><a href="https://josm.openstreetmap.de/">JOSM Open Street Map</a> -
+				An editor for creating street maps.</li>
+
+				<li><a href="http://visicut.org/">VisiCut</a> -
+				A tool for laser precision cutting.</li>
+
+				<li><a href="http://www.xoetrope.com/">
+				Xoetrope</a> - An alternate crossplatform GUI for Java.</li>
+
+				<li><a href="http://suchanek.name/programs/powerline/index.html">
+				Power Line</a> - A slide editor for SVG.</li>
+
+				<li><a href="http://www.tygron.com/">Tygron</a> - Serious games
+				illustrating urban planning and climate change.</li>
+
+				<li><a href="http://www.neologica.it/eng/Home.php">NeoLogica</a> - Medical
+				imaging.</li>
+
+				<li><a href="http://psaw.osaa.dk">PhotonSaw</a> -
+				Another laser tool cutter.
+
+			</ul>
+
+    </body>
+</html>

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/svgsalamander.git



More information about the pkg-java-commits mailing list