1
0
Fork 0
fgdata/gui/dialogs/images/ndb_symbol.svg

745 lines
35 KiB
XML
Raw Normal View History

Canvas Scripting Layer (Mapping): - first stab at refactoring the map.nas module, and trying to let the API evolve according to our requirements - split up the module into separate files (some of them will disappear soon) - split up the "drawing" loops into separate functions so that they can be individually called - move actual "drawing" to map_layers.nas - introduce some OOP helpers to prepare a pure Layer-based design - prepare helpers: LayeredMap, GenericMap, AirportMap (TODO: use a real "Layer" class) - move airport features (taxiways, runways, parking, tower) to separate layers (i.e. canvas groups) - avoid using a single update callback and use different layer-specific callbacks to update individual layers more efficiently - add some boilerplate hashes to prepare the MVC design - allow lazy updating of layers, where canvas groups are only populated on demand, to save some time during instantiation, i.e. loading an airport without "parking" selected, will only populate the layer once the checkbox is checked - extend the original code such that it supports showing multiple airports at once - add some proof of concept "navaid" layer using SVG files for navaid symbols (added only NDB symbol from wikimedia commons) regressions: - runway highlighting needs to be re-implemented - parking highlighting will be done differently - enforcing a specific drawing order for layers is currently not explicitly supported, so that taxiways may be rendered on top of runways Also: - integrated with the latest changes in git/master (HEAD) -i.e. metar support - further generalized map.nas - partially moved instantiation from Nasal space to XML space (WIP) - create "toggle layer" checkboxes procedurally in Nasal space - prepared the code to be better reusable in other dialogs (e.g. route manager, map dialog etc) - completely removed the "highlighting" (runway/parking) feature for now, because we talked about re-implementing it anyhow
2012-09-20 23:49:17 +00:00
<?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://web.resource.org/cc/"
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="50"
height="50"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.45.1"
sodipodi:docbase="C:\Documents and Settings\JJB\My Documents"
sodipodi:docname="NDB Symbol.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.0">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
gridtolerance="10000"
guidetolerance="3.1"
objecttolerance="10"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="4"
inkscape:cx="71.027314"
inkscape:cy="17.078887"
inkscape:document-units="px"
inkscape:current-layer="g3816"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1404"
inkscape:window-height="874"
inkscape:window-x="28"
inkscape:window-y="0"
width="50px"
height="50px"
showgrid="false"
inkscape:grid-points="true"
gridspacingx="5px"
gridspacingy="5px"
inkscape:guide-points="false" />
<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" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<g
id="g2842"
transform="matrix(0.9655323,-0.2602834,0.2602834,0.9655323,-98.55675,-17.522102)"
inkscape:transform-center-y="-186.61497"
inkscape:transform-center-x="50.854555" />
<g
id="g4183"
transform="translate(6.3118628,-54.869792)">
<g
transform="translate(-56.311844,-45.130208)"
id="g3816">
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3586"
sodipodi:cx="75"
sodipodi:cy="125"
sodipodi:rx="5"
sodipodi:ry="5"
d="M 80 125 A 5 5 0 1 1 70,125 A 5 5 0 1 1 80 125 z" />
<path
sodipodi:type="arc"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3588"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,98.125)" />
<g
id="g3652">
<path
transform="matrix(0.25,0,0,0.25,63.125,88.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3648"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(0.25,0,0,0.25,63.125,108.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3650"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
</g>
<g
id="g3656"
transform="matrix(0.8660254,-0.5,0.5,0.8660254,-52.451905,54.246825)">
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3658"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,88.125)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3660"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,108.125)" />
</g>
<g
transform="matrix(0.5,-0.8660254,0.8660254,0.5,-70.753175,127.45191)"
id="g3662">
<path
transform="matrix(0.25,0,0,0.25,63.125,88.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3664"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(0.25,0,0,0.25,63.125,108.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3666"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
</g>
<g
id="g3668"
transform="matrix(0,-1,1,0,-50,200)">
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3670"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,88.125)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3672"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,108.125)" />
</g>
<g
transform="matrix(-0.5,-0.8660254,0.8660254,-0.5,4.2468245,252.45191)"
id="g3674">
<path
transform="matrix(0.25,0,0,0.25,63.125,88.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3676"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(0.25,0,0,0.25,63.125,108.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3678"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
</g>
<g
id="g3680"
transform="matrix(-0.8660254,-0.5,0.5,-0.8660254,77.451905,270.75318)">
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3682"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,88.125)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3684"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,108.125)" />
</g>
<g
id="g3690"
transform="matrix(0.9063078,-0.4226182,0.4226182,0.9063078,-45.800367,43.407896)">
<path
transform="matrix(0.25,0,0,0.25,63.125,83.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3686"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(0.25,0,0,0.25,63.125,113.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3688"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
</g>
<g
transform="matrix(0.7071067,-0.7071068,0.7071068,0.7071067,-66.421357,89.644658)"
id="g3694">
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3696"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,83.125)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3698"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,113.125)" />
</g>
<g
id="g3700"
transform="matrix(0.4226183,-0.9063078,0.9063078,0.4226183,-69.984843,140.1458)">
<path
transform="matrix(0.25,0,0,0.25,63.125,83.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3702"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(0.25,0,0,0.25,63.125,113.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3704"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
</g>
<g
transform="matrix(8.715577e-2,-0.9961946,0.9961946,8.715577e-2,-56.061019,188.82012)"
id="g3706">
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3708"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,83.125)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3710"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,113.125)" />
</g>
<g
id="g3712"
transform="matrix(-0.258819,-0.9659258,0.9659258,-0.258819,-26.329304,229.7968)">
<path
transform="matrix(0.25,0,0,0.25,63.125,83.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3714"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(0.25,0,0,0.25,63.125,113.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3716"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
</g>
<g
transform="matrix(-0.5735763,-0.819152,0.819152,-0.5735763,15.624218,258.13344)"
id="g3718">
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3720"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,83.125)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3722"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,113.125)" />
</g>
<g
id="g3724"
transform="matrix(-0.8191519,-0.5735764,0.5735764,-0.8191519,64.739336,270.41222)">
<path
transform="matrix(0.25,0,0,0.25,63.125,83.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3726"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(0.25,0,0,0.25,63.125,113.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3728"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
</g>
<g
transform="matrix(-0.9659257,-0.2588191,0.2588191,-0.9659257,115.09204,265.15215)"
id="g3730">
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3732"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,83.125)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3734"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,113.125)" />
</g>
<g
id="g3736"
transform="matrix(-0.9961946,8.715564e-2,-8.715564e-2,-0.9961946,160.60905,242.98766)">
<path
transform="matrix(0.25,0,0,0.25,63.125,83.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3738"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(0.25,0,0,0.25,63.125,113.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3740"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
</g>
<g
id="g3746">
<path
transform="matrix(0.25,0,0,0.25,63.125,118.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3742"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(0.25,0,0,0.25,63.125,78.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3744"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
</g>
<g
id="g3750"
transform="matrix(0.9659258,-0.258819,0.258819,0.9659258,-29.796818,23.6707)">
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3752"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,118.125)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3754"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,78.125)" />
</g>
<g
transform="matrix(0.8660254,-0.4999999,0.4999999,0.8660254,-52.451906,54.246822)"
id="g3756">
<path
transform="matrix(0.25,0,0,0.25,63.125,118.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3758"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(0.25,0,0,0.25,63.125,78.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3760"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
</g>
<g
id="g3762"
transform="matrix(0.7071068,-0.7071067,0.7071067,0.7071068,-66.421359,89.644655)">
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3764"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,118.125)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3766"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,78.125)" />
</g>
<g
transform="matrix(0.5,-0.8660253,0.8660253,0.5,-70.753181,127.4519)"
id="g3768">
<path
transform="matrix(0.25,0,0,0.25,63.125,118.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3770"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(0.25,0,0,0.25,63.125,78.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3772"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
</g>
<g
id="g3774"
transform="matrix(0.2588191,-0.9659257,0.9659257,0.2588191,-65.152165,165.09205)">
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3776"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,118.125)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3778"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,78.125)" />
</g>
<g
transform="matrix(8.5712909e-8,-0.9999999,0.9999999,8.5712909e-8,-50.000013,199.99999)"
id="g3780">
<path
transform="matrix(0.25,0,0,0.25,63.125,118.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3782"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(0.25,0,0,0.25,63.125,78.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3784"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
</g>
<g
id="g3786"
transform="matrix(-0.2588189,-0.9659258,0.9659258,-0.2588189,-26.329318,229.79681)">
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3788"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,118.125)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3790"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,78.125)" />
</g>
<g
transform="matrix(-0.4999999,-0.8660254,0.8660254,-0.4999999,4.2468015,252.4519)"
id="g3792">
<path
transform="matrix(0.25,0,0,0.25,63.125,118.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3794"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(0.25,0,0,0.25,63.125,78.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3796"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
</g>
<g
id="g3798"
transform="matrix(-0.7071067,-0.7071068,0.7071068,-0.7071067,39.644635,266.42135)">
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3800"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,118.125)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3802"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,78.125)" />
</g>
<g
transform="matrix(-0.8660253,-0.5,0.5,-0.8660253,77.451877,270.75317)"
id="g3804">
<path
transform="matrix(0.25,0,0,0.25,63.125,118.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3806"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(0.25,0,0,0.25,63.125,78.125)"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
sodipodi:ry="2.5"
sodipodi:rx="2.5"
sodipodi:cy="107.5"
sodipodi:cx="47.5"
id="path3808"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
</g>
<g
id="g3810"
transform="matrix(-0.9659257,-0.2588191,0.2588191,-0.9659257,115.09202,265.15215)">
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3812"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,118.125)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:8;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3814"
sodipodi:cx="47.5"
sodipodi:cy="107.5"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="M 50 107.5 A 2.5 2.5 0 1 1 45,107.5 A 2.5 2.5 0 1 1 50 107.5 z"
transform="matrix(0.25,0,0,0.25,63.125,78.125)" />
</g>
</g>
</g>
</g>
</svg>