commit 48e7dcc53e928e3bafa15051d64fd6a4b3dc1023
parent 3058f73557490f08427b9d37cc56788f6105453e
Author: Adam M <aemalone@gmail.com>
Date: Tue, 23 Jul 2019 17:03:15 -0500
Merge branch 'v1'
Diffstat:
52 files changed, 8609 insertions(+), 1558 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -2,6 +2,7 @@ build
dist
.DS_Store
plugin.*
+!plugin.json
a.out
*.swp
*.swo
diff --git a/Makefile b/Makefile
@@ -1,14 +1,6 @@
# If RACK_DIR is not defined when calling the Makefile, default to two directories above
RACK_DIR ?= ../..
-# Must follow the format in the Naming section of
-# https://vcvrack.com/manual/PluginDevelopmentTutorial.html
-SLUG = computerscare
-
-# Must follow the format in the Versioning section of
-# https://vcvrack.com/manual/PluginDevelopmentTutorial.html
-VERSION = 0.6.6
-
# FLAGS will be passed to both the C and C++ compiler
FLAGS +=
CFLAGS +=
@@ -19,7 +11,25 @@ CXXFLAGS +=
LDFLAGS +=
# Add .cpp and .c files to the build
-SOURCES += $(wildcard src/*.cpp)
+#SOURCES += $(wildcard src/*.cpp)
+SOURCES += $(wildcard src/ComputerscareSVGPanel.cpp)
+SOURCES += $(wildcard src/ComputerscareSvgPort.cpp)
+
+
+SOURCES += $(wildcard src/ComputerscarePatchSequencer.cpp)
+SOURCES += $(wildcard src/ComputerscareLaundrySoup.cpp)
+SOURCES += $(wildcard src/ComputerscareILoveCookies.cpp)
+SOURCES += $(wildcard src/ComputerscareDebug.cpp)
+SOURCES += $(wildcard src/ComputerscareOhPeas.cpp)
+
+SOURCES += $(wildcard src/ComputerscareKnolyPobs.cpp)
+SOURCES += $(wildcard src/ComputerscareBolyPuttons.cpp)
+SOURCES += $(wildcard src/ComputerscareRolyPouter.cpp)
+SOURCES += $(wildcard src/ComputerscareTolyPools.cpp)
+SOURCES += $(wildcard src/ComputerscareSolyPequencer.cpp)
+
+SOURCES += $(wildcard src/Computerscare.cpp)
+SOURCES += $(wildcard src/dtpulse.cpp)
# Add files to the ZIP package when running `make dist`
# The compiled plugin is automatically added.
diff --git a/README.MD b/README.MD
@@ -97,6 +97,34 @@ Input Equivalent Input Comment
~~~~
+=======
+
+~~~~
+Input Equivalent Input
+
+a@3 aaa
+ab@5 ababa
+<1><0>@8 <1><0><1><0><1><0><1><0>
+abcde@8 abcdeabc
+abcdef@3 abc
+~~~~
+
+## Randomization
+
+Enclosing values (lowercase letter, uppercase letter, or exact voltage) in curl braces {} will randomly select one of the values with equal probability. For example, ~{ab}~ will choose either "a" or "b" at each clock step. ~{g<2.55>}~ will output either the value of knob "g" or 2.55 volts with equal probability.
+
+## Square Bracket Expansion
+
+Enclosing comma-separated sequences with square brackets allows for even more complex patterns to be generated.
+
+~~~~
+Input Equivalent Input Comment
+
+[ab,c]@4 ababcccc 4 steps of "ab", then 4 steps of "c"
+[A,cde]@5 AAAAAcdecd 5 steps from input "A", then 5 steps of "cde"
+~~~~
+
+
All of the following are valid I Love Cookies programs:
~~~~
<4.20>
diff --git a/plugin.json b/plugin.json
@@ -0,0 +1,70 @@
+{
+ "slug": "computerscare",
+ "name": "computerscare",
+ "brand": "computerscare",
+ "author": "computerscare",
+ "license": "BSD-3-Clause",
+ "authorEmail": "aemalone@test.com",
+ "pluginUrl": "https://github.com/freddyz/computerscare-vcv-modules",
+ "authorUrl": "https://github.com/freddyz/computerscare-vcv-modules",
+ "sourceUrl": "https://github.com/freddyz/computerscare-vcv-modules",
+ "version": "1.0.0",
+ "modules": [
+ {"slug":"computerscare-knolypobs",
+ "name":"Knoly Pobs",
+ "description":"16 knobs with polyphonic output",
+ "tags":["Polyphonic","Utility"]
+ },
+ {"slug":"computerscare-bolyputtons",
+ "name":"Boly Puttons",
+ "description":"16 momentary or latch buttons with polyphonic output and optional input",
+ "tags":["Polyphonic","Utility"]
+ },
+ {"slug":"computerscare-debug",
+ "name":"Debug",
+ "description":"Debugger, poly sample & hold, poly volt meter",
+ "tags":["Polyphonic","Utility","Random","Sample and hold"]
+ },
+ {"slug":"computerscare-ohpeas",
+ "name":"Oh Peas!",
+ "description":"Quad Quantenuverter. Attenuverter, Offsetter, Microtonal Quantizer",
+ "tags":["Polyphonic","Quantizer","Utility","Quad"]
+ },
+ {"slug":"computerscare-fatherandson",
+ "name":"Father and Son Patch Sequencer",
+ "description":"Patch Sequencer - 10 in, 10 out patch matrix with 16 scenes",
+ "tags":["Polyphonic","Utility","Sequencer"]
+ },
+
+ {"slug":"computerscare-laundry-soup",
+ "name":"Laundry Soup",
+ "description":"Rhythm sequencer, pulse generator, text-based",
+ "tags":["Sequencer","Clock modulator","Random"]
+ },
+
+ {"slug":"computerscare-i-love-cookies",
+ "name":"I Love Cookies",
+ "description":"Text-based CV and signal sequencer",
+ "tags":["Sequencer","Utility","Random"]
+ }
+ ,
+
+ {"slug":"computerscare-roly-pouter",
+ "name":"Roly Pouter",
+ "description":"Polyphonic router",
+ "tags":["Polyphonic","Utility"]
+ },
+
+ {"slug":"computerscare-toly-pools",
+ "name":"Toly Pools",
+ "description":"Polyphonic toolset including rotator, number-of-channels selector",
+ "tags":["Polyphonic","Utility","Atten"]
+ },
+
+ {"slug":"computerscare-soly-pequencer",
+ "name":"Soly Pequencer",
+ "description":"Generates sequential rotation of a polyphonic signal",
+ "tags":["Polyphonic","Sequencer"]
+ }
+ ]
+}
+\ No newline at end of file
diff --git a/presets/computerscare-laundry-soup/6-Channel Random Trigger.vcvm b/presets/computerscare-laundry-soup/6-Channel Random Trigger.vcvm
@@ -0,0 +1,48 @@
+{
+ "id": 12,
+ "plugin": "computerscare",
+ "version": "1.0.0",
+ "model": "computerscare-laundry-soup",
+ "params": [
+ {
+ "id": 0,
+ "value": 0.0
+ },
+ {
+ "id": 1,
+ "value": 0.0
+ },
+ {
+ "id": 2,
+ "value": 0.0
+ },
+ {
+ "id": 3,
+ "value": 0.0
+ },
+ {
+ "id": 4,
+ "value": 0.0
+ },
+ {
+ "id": 5,
+ "value": 0.0
+ },
+ {
+ "id": 6,
+ "value": 0.0
+ },
+ {
+ "id": 7,
+ "value": 0.0
+ }
+ ],
+ "sequences": [
+ "1?",
+ "1?",
+ "1?",
+ "1?",
+ "1?",
+ "1?"
+ ]
+}
+\ No newline at end of file
diff --git a/presets/computerscare-laundry-soup/Integer Clock Divider.vcvm b/presets/computerscare-laundry-soup/Integer Clock Divider.vcvm
@@ -0,0 +1,49 @@
+{
+ "id": 12,
+ "plugin": "computerscare",
+ "version": "1.0.0",
+ "model": "computerscare-laundry-soup",
+ "params": [
+ {
+ "id": 0,
+ "value": 0.0
+ },
+ {
+ "id": 1,
+ "value": 0.0
+ },
+ {
+ "id": 2,
+ "value": 0.0
+ },
+ {
+ "id": 3,
+ "value": 0.0
+ },
+ {
+ "id": 4,
+ "value": 0.0
+ },
+ {
+ "id": 5,
+ "value": 0.0
+ },
+ {
+ "id": 6,
+ "value": 0.0
+ },
+ {
+ "id": 7,
+ "value": 0.0
+ }
+ ],
+ "rightModuleId": 9,
+ "sequences": [
+ "2",
+ "3",
+ "4",
+ "5",
+ "6",
+ "7"
+ ]
+}
+\ No newline at end of file
diff --git a/presets/computerscare-laundry-soup/Jingle Bells.vcvm b/presets/computerscare-laundry-soup/Jingle Bells.vcvm
@@ -0,0 +1,50 @@
+{
+ "id": 20,
+ "plugin": "computerscare",
+ "version": "1.0.0",
+ "model": "computerscare-laundry-soup",
+ "params": [
+ {
+ "id": 0,
+ "value": 0.0
+ },
+ {
+ "id": 1,
+ "value": 0.0
+ },
+ {
+ "id": 2,
+ "value": 0.0
+ },
+ {
+ "id": 3,
+ "value": 0.0
+ },
+ {
+ "id": 4,
+ "value": 0.0
+ },
+ {
+ "id": 5,
+ "value": 0.0
+ },
+ {
+ "id": 6,
+ "value": 0.0
+ },
+ {
+ "id": 7,
+ "value": 0.0
+ }
+ ],
+ "leftModuleId": 28,
+ "rightModuleId": 30,
+ "sequences": [
+ "2@8,611,2@8,8",
+ "2@8,8,2@8,8",
+ "2@8,8,2@8,62",
+ "2@24,4,0@4",
+ "22422422318",
+ "223122211,2@8,44"
+ ]
+}
+\ No newline at end of file
diff --git a/presets/computerscare-roly-pouter/Reverse Channel Order.vcvm b/presets/computerscare-roly-pouter/Reverse Channel Order.vcvm
@@ -0,0 +1,138 @@
+{
+ "id": 22,
+ "plugin": "computerscare",
+ "version": "1.0.0",
+ "model": "computerscare-roly-pouter",
+ "params": [
+ {
+ "id": 0,
+ "value": 16.0
+ },
+ {
+ "id": 1,
+ "value": 15.0
+ },
+ {
+ "id": 2,
+ "value": 14.0
+ },
+ {
+ "id": 3,
+ "value": 13.0
+ },
+ {
+ "id": 4,
+ "value": 12.0
+ },
+ {
+ "id": 5,
+ "value": 11.0
+ },
+ {
+ "id": 6,
+ "value": 10.0
+ },
+ {
+ "id": 7,
+ "value": 9.0
+ },
+ {
+ "id": 8,
+ "value": 8.0
+ },
+ {
+ "id": 9,
+ "value": 7.0
+ },
+ {
+ "id": 10,
+ "value": 6.0
+ },
+ {
+ "id": 11,
+ "value": 5.0
+ },
+ {
+ "id": 12,
+ "value": 4.0
+ },
+ {
+ "id": 13,
+ "value": 3.0
+ },
+ {
+ "id": 14,
+ "value": 2.0
+ },
+ {
+ "id": 15,
+ "value": 1.0
+ },
+ {
+ "id": 16,
+ "value": 0.0
+ },
+ {
+ "id": 17,
+ "value": 0.0
+ },
+ {
+ "id": 18,
+ "value": 0.0
+ },
+ {
+ "id": 19,
+ "value": 0.0
+ },
+ {
+ "id": 20,
+ "value": 0.0
+ },
+ {
+ "id": 21,
+ "value": 0.0
+ },
+ {
+ "id": 22,
+ "value": 0.0
+ },
+ {
+ "id": 23,
+ "value": 0.0
+ },
+ {
+ "id": 24,
+ "value": 0.0
+ },
+ {
+ "id": 25,
+ "value": 0.0
+ },
+ {
+ "id": 26,
+ "value": 0.0
+ },
+ {
+ "id": 27,
+ "value": 0.0
+ },
+ {
+ "id": 28,
+ "value": 0.0
+ },
+ {
+ "id": 29,
+ "value": 0.0
+ },
+ {
+ "id": 30,
+ "value": 0.0
+ },
+ {
+ "id": 31,
+ "value": 0.0
+ }
+ ],
+ "leftModuleId": 19,
+ "rightModuleId": 12
+}
+\ No newline at end of file
diff --git a/res/ComputerscareBolyPuttonsPanel.svg b/res/ComputerscareBolyPuttonsPanel.svg
@@ -0,0 +1,381 @@
+<?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="60"
+ height="380"
+ viewBox="0 0 15.875 100.54167"
+ version="1.1"
+ id="svg8"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="ComputerscareBolyPuttonsPanel.svg"
+ style="enable-background:new">
+ <defs
+ id="defs2" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.0000001"
+ inkscape:cx="57.012173"
+ inkscape:cy="296.11402"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g1669"
+ showgrid="false"
+ units="px"
+ inkscape:snap-bbox="true"
+ inkscape:snap-page="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:window-width="1440"
+ inkscape:window-height="856"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:snap-global="false"
+ showguides="false"
+ inkscape:lockguides="false" />
+ <metadata
+ id="metadata5">
+ <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="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-196.45832)"
+ style="display:none">
+ <path
+ style="opacity:1;vector-effect:none;fill:#f0f0f0;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.48607069;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ d="M 0,196.45831 H 23.8125 V 296.99999 H 0 Z"
+ id="rect817"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ x="8.2147436"
+ y="295.57718"
+ id="text1490"
+ transform="rotate(1.4468834)"><tspan
+ sodipodi:role="line"
+ id="tspan1488"
+ x="8.2147436"
+ y="295.57718"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">computerscare</tspan></text>
+ <text
+ transform="rotate(-5.9989835)"
+ id="text1494"
+ y="288.0314"
+ x="-28.710276"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ y="288.0314"
+ x="-28.710276"
+ id="tspan1492"
+ sodipodi:role="line">trg</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ x="20.711658"
+ y="288.87244"
+ id="text1498"
+ transform="rotate(1.9714728)"><tspan
+ sodipodi:role="line"
+ id="tspan1496"
+ x="20.711658"
+ y="288.87244"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">in</tspan></text>
+ <text
+ transform="rotate(0.49746114)"
+ id="text1521"
+ y="289.16214"
+ x="20.314623"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.17499995px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ y="289.16214"
+ x="20.314623"
+ id="tspan1519"
+ sodipodi:role="line">clr</tspan></text>
+ <text
+ transform="matrix(1.0139335,-0.02825079,0.06854811,0.98434808,0,0)"
+ id="text1645"
+ y="204.61243"
+ x="-10.296249"
+ style="font-style:normal;font-weight:normal;font-size:10.74719143px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26867977"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01535606px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26867977"
+ y="204.61243"
+ x="-10.296249"
+ id="tspan1643"
+ sodipodi:role="line">debug</tspan></text>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="bg" />
+ <g
+ style="display:inline"
+ transform="translate(0,-196.45832)"
+ id="g1669"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1 copy">
+ <path
+ inkscape:connector-curvature="0"
+ id="path1647"
+ d="M 2.3647136,198.04581 H 15.887339 v 48.08803 l -1.236482,-0.33799 0.277723,0.84708 -0.505362,-0.0623 0.532289,0.61855 0.02233,1.29933 -0.33073,0.52917 1.240235,0.57878 v 47.39349 H 2.3647136 Z"
+ style="opacity:1;vector-effect:none;fill:#d2d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.26300001;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ sodipodi:nodetypes="ccccccccccccc" />
+ <path
+ style="fill:#242424;fill-opacity:1;stroke:none;stroke-width:0.37162125;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 13.773402,196.45833 H -0.01800263 v 13.86979 H 6.7831954 l 5.2596366,-1.91766 1.73057,-2.9436 z"
+ id="rect888"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ <g
+ aria-label="computerscare"
+ transform="matrix(0.579664,-0.0209809,0.12827949,1.4870391,-39.556662,-142.90507)"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ id="text1651">
+ <path
+ d="m 9.6564066,294.11837 -0.022491,0.23707 q -0.1028223,-0.0489 -0.2099211,-0.0673 -0.1055806,-0.0199 -0.2168506,-0.009 -0.2488775,0.0238 -0.4014201,0.19401 -0.1524199,0.16888 -0.1792271,0.45145 -0.026804,0.28254 0.095932,0.42654 0.1228661,0.14262 0.371738,0.11887 0.1112317,-0.0106 0.2224055,-0.0498 0.1127112,-0.0408 0.2267849,-0.11044 l -0.022229,0.23431 q -0.111772,0.0599 -0.2295122,0.0956 -0.1163563,0.0357 -0.2456588,0.048 -0.3517468,0.0335 -0.5381239,-0.16582 -0.1863704,-0.19938 -0.1510635,-0.57153 0.035829,-0.37767 0.2649098,-0.61397 0.2304697,-0.23642 0.5947391,-0.27118 0.1181718,-0.0112 0.2283935,0.003 0.110394,0.0127 0.2114822,0.0509 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1701"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 10.696255,294.13661 q -0.205776,0.0197 -0.340506,0.19093 -0.134608,0.16992 -0.160888,0.44696 -0.02628,0.27705 0.07673,0.42565 0.104532,0.1471 0.311691,0.12734 0.204372,-0.0195 0.339118,-0.1908 0.134737,-0.1713 0.160888,-0.44696 0.02602,-0.27428 -0.07838,-0.42277 -0.10427,-0.14986 -0.308651,-0.13035 z m 0.0204,-0.21501 q 0.333675,-0.0318 0.503758,0.16499 0.170076,0.19686 0.133987,0.57727 -0.03596,0.37905 -0.246966,0.61361 -0.210875,0.23319 -0.544555,0.26503 -0.335078,0.032 -0.505151,-0.16486 -0.1685548,-0.19836 -0.1325956,-0.5774 0.036091,-0.38042 0.2455756,-0.61348 0.210875,-0.23319 0.545947,-0.26516 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1703"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 13.143759,294.1394 q 0.109103,-0.20599 0.261143,-0.30389 0.152033,-0.0979 0.358066,-0.0977 0.277351,3.4e-4 0.428154,0.205 0.150801,0.203 0.151243,0.57869 l 0.0013,1.12376 -0.2932,-3.3e-4 -0.0013,-1.1138 q -3.15e-4,-0.26763 -0.0908,-0.39742 -0.0905,-0.12977 -0.275921,-0.13 -0.226635,-2.7e-4 -0.357993,0.15747 -0.131357,0.15777 -0.131036,0.4304 l 0.0012,1.05229 -0.2932,-3.4e-4 -0.0013,-1.1138 q -3.17e-4,-0.2693 -0.0908,-0.39742 -0.0905,-0.12976 -0.279091,-0.13 -0.223465,-2.8e-4 -0.354821,0.15914 -0.131357,0.15777 -0.131039,0.42874 l 0.0012,1.05227 -0.293194,-3.3e-4 -0.0022,-1.86186 0.293199,3.4e-4 3.42e-4,0.28924 q 0.09965,-0.17108 0.239016,-0.25238 0.139373,-0.0812 0.331141,-0.081 0.193354,2.3e-4 0.328188,0.10342 0.136421,0.10314 0.201631,0.29946 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.31164581"
+ id="path1705"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 14.742929,294.81667 v 0.81855 h -0.254937 v -2.13044 h 0.254937 v 0.23426 q 0.07993,-0.1378 0.201194,-0.20395 0.122645,-0.0675 0.292144,-0.0675 0.28112,0 0.45613,0.22324 0.176389,0.22324 0.176389,0.58705 0,0.3638 -0.176389,0.58704 -0.17501,0.22324 -0.45613,0.22324 -0.169499,0 -0.292144,-0.0661 -0.121268,-0.0675 -0.201194,-0.20533 z m 0.862652,-0.53881 q 0,-0.27975 -0.115755,-0.43822 -0.114377,-0.15985 -0.315571,-0.15985 -0.201193,0 -0.316949,0.15985 -0.114377,0.15847 -0.114377,0.43822 0,0.27974 0.114377,0.43959 0.115756,0.15847 0.316949,0.15847 0.201194,0 0.315571,-0.15847 0.115755,-0.15985 0.115755,-0.43959 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1707"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 16.276561,294.97975 -1.52e-4,-0.94031 0.251931,-0.0648 1.5e-4,0.9306 q 3.6e-5,0.22051 0.08495,0.30972 0.08491,0.0878 0.254686,0.0444 0.204008,-0.052 0.321737,-0.21413 0.119098,-0.16225 0.119061,-0.38971 l -1.43e-4,-0.88065 0.251931,-0.0648 2.51e-4,1.55331 -0.25193,0.0648 -3.9e-5,-0.23855 q -0.09172,0.16493 -0.213559,0.26548 -0.120476,0.0987 -0.280672,0.13983 -0.264253,0.0678 -0.401197,-0.0637 -0.136946,-0.13139 -0.136998,-0.45174 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1709"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 18.344702,293.59556 v 0.43822 h 0.522277 v 0.19706 h -0.522277 v 0.83784 q 0,0.18879 0.05099,0.24254 0.05237,0.0537 0.21084,0.0537 h 0.260449 v 0.21222 H 18.60653 q -0.293522,0 -0.405144,-0.10887 -0.111621,-0.11024 -0.111621,-0.39963 V 294.2308 H 17.90373 v -0.19706 h 0.186035 v -0.43822 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1711"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 20.508346,294.20141 2.1e-5,0.12482 -1.158332,0.29657 q 0.01648,0.25929 0.156153,0.36223 0.141049,0.1012 0.391609,0.037 0.145134,-0.0376 0.280676,-0.10793 0.136913,-0.0711 0.271081,-0.17758 l 4e-5,0.24133 q -0.135541,0.093 -0.277931,0.15998 -0.14239,0.0669 -0.288893,0.10441 -0.366941,0.094 -0.581938,-0.0673 -0.213628,-0.16169 -0.213688,-0.53061 -6.1e-5,-0.38138 0.202543,-0.65655 0.203972,-0.2769 0.549007,-0.36523 0.309435,-0.0789 0.488832,0.0774 0.180765,0.15485 0.18082,0.50156 z m -0.251942,-0.0103 q -0.0028,-0.2087 -0.116435,-0.30445 -0.112293,-0.0961 -0.298502,-0.0484 -0.210854,0.0537 -0.338169,0.20723 -0.125945,0.15291 -0.145079,0.37694 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1713"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 21.832517,294.2708 q -0.04272,-0.0248 -0.09371,-0.0358 -0.04961,-0.0124 -0.110243,-0.0124 -0.214974,0 -0.330729,0.14056 -0.114377,0.13918 -0.114377,0.40101 v 0.81304 h -0.254937 v -1.5434 h 0.254937 v 0.23977 q 0.07993,-0.14056 0.208084,-0.20808 0.128157,-0.0689 0.311436,-0.0689 0.02618,0 0.05788,0.004 0.03169,0.003 0.07028,0.01 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1715"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 23.185447,294.16269 -0.03488,0.23723 q -0.09833,-0.0702 -0.208837,-0.11429 -0.110508,-0.0442 -0.233212,-0.0622 -0.186783,-0.0275 -0.289279,0.016 -0.101136,0.0437 -0.117973,0.15816 -0.01283,0.0873 0.04655,0.14753 0.05959,0.0589 0.254751,0.13358 l 0.08309,0.0317 q 0.258799,0.0966 0.355164,0.21797 0.09793,0.12025 0.07046,0.30705 -0.03127,0.21268 -0.218575,0.31189 -0.185938,0.0994 -0.480428,0.0561 -0.122703,-0.018 -0.252707,-0.0622 -0.128844,-0.0426 -0.269062,-0.11204 l 0.03809,-0.25904 q 0.128445,0.0927 0.258001,0.14937 0.129765,0.0553 0.262013,0.0747 0.17724,0.0261 0.281492,-0.0199 0.104454,-0.0473 0.120693,-0.15775 0.01504,-0.10226 -0.04648,-0.16702 -0.06015,-0.0645 -0.285871,-0.14928 l -0.08424,-0.0333 q -0.225922,-0.0833 -0.314703,-0.19949 -0.08858,-0.11748 -0.06252,-0.29473 0.03167,-0.21541 0.201614,-0.31021 0.169938,-0.0948 0.450794,-0.0535 0.139065,0.0204 0.258757,0.059 0.119693,0.0385 0.217301,0.0946 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1717"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 24.74878,294.2652 c -0.08645,0.15984 -0.310959,-0.0317 -0.546114,0.002 -0.163883,0.0136 -0.286821,0.0763 -0.368812,0.1882 -0.08207,0.11097 -0.115323,0.2603 -0.09977,0.44799 0.01555,0.18768 0.07297,0.32995 0.172262,0.42682 0.09921,0.096 0.230762,0.13713 0.394645,0.12355 0.07324,-0.006 0.144777,-0.0216 0.2146,-0.0468 0.07066,-0.0261 0.140065,-0.0618 0.208213,-0.10716 l 0.01935,0.23346 c -0.06777,0.0388 -0.138962,0.0696 -0.213589,0.0923 -0.07371,0.0227 -0.153138,0.0376 -0.238284,0.0446 -0.231635,0.0192 -0.421693,-0.0383 -0.570174,-0.17261 -0.14848,-0.13426 -0.232962,-0.32499 -0.253446,-0.57219 -0.02079,-0.25087 0.03153,-0.45386 0.15695,-0.60898 0.126338,-0.1552 0.309444,-0.24274 0.549319,-0.26262 0.07782,-0.007 0.154496,-0.005 0.230021,0.006 0.07545,0.009 0.411602,0.13108 0.483843,0.15738 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1719"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccccccc" />
+ <path
+ d="m 24.81823,294.75924 c -0.297765,0.0229 -0.512808,0.0705 -0.64513,0.14291 -0.132332,0.0724 -0.219561,0.18524 -0.261686,0.33845 -0.03363,0.12213 -0.01763,0.21604 0.04798,0.28174 0.06728,0.0643 0.175023,0.0907 0.323232,0.0794 0.204311,-0.0157 0.386389,-0.0956 0.546234,-0.23957 0.161537,-0.14536 0.273146,-0.33019 0.334829,-0.55448 l 0.02101,-0.0766 z m 0.774145,-0.19853 -0.328455,1.19434 -0.368516,0.0282 0.08737,-0.31774 c -0.119089,0.13356 -0.249784,0.2357 -0.392086,0.30641 -0.141957,0.0694 -0.303742,0.11113 -0.485354,0.12512 -0.229693,0.0177 -0.39618,-0.0281 -0.499459,-0.13726 -0.101626,-0.1105 -0.124676,-0.26669 -0.06915,-0.46856 0.06476,-0.2355 0.197713,-0.41952 0.398859,-0.55206 0.202482,-0.13265 0.471302,-0.21186 0.806461,-0.23762 l 0.516775,-0.0398 0.0092,-0.0335 c 0.04352,-0.15825 0.02102,-0.27605 -0.0675,-0.35341 -0.08684,-0.0787 -0.231074,-0.11031 -0.4327,-0.0948 -0.128187,0.01 -0.256984,0.0338 -0.386391,0.0718 -0.129384,0.038 -0.22788,0.0181 -0.35582,0.0841 l 0.0572,-0.24589 c 0.148221,-0.0589 0.289013,-0.10504 0.422378,-0.13852 0.133697,-0.0347 0.260649,-0.0566 0.380855,-0.0659 0.324493,-0.025 0.54526,0.0349 0.662301,0.17963 0.117059,0.14469 0.131725,0.37653 0.044,0.69552 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.36754596"
+ id="path1721"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccccccccccccccccccccccccc" />
+ <path
+ d="m 27.811045,294.03187 q -0.04765,-0.0359 -0.114148,-0.0521 -0.06379,-0.0182 -0.149723,-0.0183 -0.304614,-6.2e-4 -0.541819,0.20246 -0.234523,0.20105 -0.370837,0.57993 l -0.423324,1.17649 -0.361236,-7.4e-4 0.803473,-2.23334 0.361237,7.5e-4 -0.124848,0.34694 q 0.186434,-0.20316 0.403183,-0.30051 0.217505,-0.0995 0.47719,-0.0989 0.0371,8e-5 0.07992,0.006 0.04318,0.005 0.09438,0.0146 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.37900135"
+ id="path1723"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 29.712571,294.7854 -0.06094,0.16877 -1.603439,0.13193 c -0.07023,0.23754 -0.110719,0.28611 -0.02315,0.41121 0.08941,0.12391 0.253311,0.18583 0.491653,0.18595 0.138059,6e-5 0.277401,-0.016 0.418108,-0.0485 0.14201,-0.0325 0.508333,-0.14208 0.659478,-0.20707 l -0.117939,0.32633 c -0.147934,0.0525 -0.514377,0.15339 -0.659762,0.18081 -0.145379,0.0275 -0.287764,0.0411 -0.427099,0.041 -0.349049,-1.8e-4 -0.590562,-0.0978 -0.724584,-0.29298 -0.132697,-0.19514 -0.138963,-0.459 -0.01879,-0.79157 0.12432,-0.34382 0.319099,-0.61634 0.584612,-0.81755 0.267249,-0.20244 0.56498,-0.30358 0.893191,-0.30341 0.29435,1.4e-4 0.493835,0.0916 0.598514,0.27415 0.106411,0.18138 0.103144,0.42835 -0.0098,0.74092 z m -0.322894,-0.1014 c 0.06552,-0.18878 0.06466,-0.33947 -0.0028,-0.45204 -0.06612,-0.1126 -0.187772,-0.16891 -0.364898,-0.16901 -0.200575,-10e-5 -0.381115,0.0543 -0.541512,0.16293 -0.159132,0.1087 -0.116464,0.24257 -0.206093,0.4401 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.36754596"
+ id="path1725"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccscccsscscscccccsccc" />
+ </g>
+ <g
+ id="g9547"
+ transform="matrix(0.21334155,-0.05917659,0,0.23311691,0.66317883,289.22115)">
+ <g
+ style="display:inline"
+ inkscape:label="Layer 1"
+ id="layer4" />
+ <path
+ id="rect5872"
+ d="m 11.987289,9.3234482 h 7.991524 v 3.9957608 h -7.991524 z"
+ style="opacity:1;fill:#0f0f00;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5874"
+ d="m 14.667374,10.662096 h 3.995763 v 1.331921 h -3.995763 z"
+ style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5878"
+ d="m -29.323654,9.3234482 h 7.989551 v 3.9957608 h -7.989551 z"
+ style="opacity:1;fill:#0c0c00;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ transform="scale(-1,1)"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5880"
+ d="m 26.64423,10.662096 -3.171232,0.209056 v 1.331921 l 3.171232,-0.209056 z"
+ style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5882"
+ d="m 19.995058,14.667374 h 1.331921 v 3.995762 h -1.331921 z"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5884"
+ d="m 20.888507,17.21991 2.579094,0.32072 v 1.33192 l -2.579094,-0.32072 z"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5886"
+ d="m 11.954803,20.011301 h 2.696328 v 2.663842 h -2.696328 z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5888"
+ d="m 27.970341,20.011301 h 2.696327 v 2.663842 h -2.696327 z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5890"
+ d="m 14.651131,20.011301 h 13.351695 v 1.33192 H 14.651131 Z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ style="fill:#aaaaaa;fill-opacity:1;stroke:none;stroke-width:0.36093959;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 13.770304,196.46789 2.089789,1.62471 0.0149,11.57492 -2.613391,1.21568 -1.256152,-2.52768 1.742464,-2.84178 z"
+ id="path890"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:#4c4c4c;fill-opacity:1;stroke:none;stroke-width:0.42375344;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 12.013114,208.34875 -5.3235435,1.97489 -6.69943113,0.01 2.58018153,1.10658 10.7157081,-0.59892 z"
+ id="path892"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;stroke:#f0f0f0;stroke-width:0.45823276;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0.65653092,197.27527 c -0.0136473,0.43346 -0.0168363,0.87335 0.15942843,1.29609 0.0250435,0.20907 0.0912968,0.42199 0.17439883,0.61835 0.0740767,0.38032 0.0139221,0.7656 0.0820099,1.14585 -0.0097,0.2362 0.018458,0.47428 -0.044121,0.70862 0.088086,0.21749 -0.12636674,0.43994 -0.02505,0.65565 0.2667008,0.12633 0.6397364,-0.0783 0.9638221,-0.0477 0.4668753,-0.0291 0.9871113,-0.10776 1.2497037,-0.3689 0.2773662,-0.20612 0.6977212,-0.41228 0.6441774,-0.70844 -0.2236735,-0.42332 -0.8971942,-0.68739 -1.5475771,-0.83917 -0.2518322,-0.0788 -0.5128892,-0.15515 -0.8006394,-0.17709 -0.1562923,-0.0166 -0.58901006,-0.0569 -0.2253771,-0.0894 0.7930713,-0.13416 1.5496371,-0.33651 2.3022498,-0.5361 0.3146208,-0.0907 0.5433659,-0.3262 0.3712593,-0.53162 -0.2341884,-0.37789 -0.4745162,-0.76057 -0.8237227,-1.10487 -0.3532772,-0.27518 -0.975027,-0.41494 -1.5339013,-0.33757 -0.3734022,0.0399 -0.4956638,0.38491 -0.90862212,0.31273 l -0.038039,0.003 z"
+ id="path1294"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#f0f0f0;stroke-width:0.66333157;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 5.7843672,199.16241 c -0.4997165,0.008 -0.7234892,0.5894 -0.725154,0.96656 -0.056773,0.43097 -0.015744,1.0865 0.6332436,1.15638 0.5382834,-0.0301 1.0821854,-0.0133 1.6234377,-0.0173 0.3111165,-0.38641 0.4179181,-0.89038 0.2749804,-1.33757 -0.2856993,-0.37239 -0.7693212,-0.62388 -1.2991329,-0.64241 -0.187767,-0.0256 -0.3098008,-0.0617 -0.5073748,-0.12561 z"
+ id="path1302"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#f0f0f0;stroke-width:0.45823276;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 9.0366027,197.89459 c -0.00842,1.12915 0.016866,2.25923 -0.012694,3.38779 -0.00537,0.0409 -0.018264,0.0811 -0.024888,0.12188"
+ id="path1304"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1308"
+ style="fill:none;stroke:#f0f0f0;stroke-width:0.45823276;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 12.418694,200.61838 c -0.314229,0.20872 -0.670497,0.41215 -1.066851,0.55183 -0.210794,0.091 -0.456502,0.20024 -0.62419,0.22839 m -0.338214,-2.72996 c 0.28554,0.29674 0.635663,0.57287 0.969044,0.8463 0.369625,0.34968 0.749713,0.6846 1.127906,1.02497 0.09437,0.11321 0.02266,-0.19258 0.04504,-0.26641 0,-0.64202 0,-1.28404 0,-1.92605"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#f0f0f0;stroke-width:0.39147678px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 7.776946,203.84606 c 0.323253,-0.56907 1.099348,-1.31136 1.4913679,-1.3653 0.3960782,-0.0911 0.7180197,0.0728 0.6061989,0.57753 -0.1280772,0.41525 -0.5643414,0.84959 -0.9127385,1.10954 -0.3793257,0.30924 -0.763256,0.62844 -1.1364355,0.84563 m -0.027093,-1.48934 c 0.037836,1.89762 0.2534142,3.65377 0.1784411,5.64081"
+ id="path1312"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:none;stroke:#f0f0f0;stroke-width:0.50315398px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 8.8764927,205.85583 0.069985,1.58718 c -0.087017,0.52743 0.4888062,-0.0202 0.7303814,-0.30606 0.1852255,-0.71506 0.1142458,-1.27784 0.097536,-1.85936 0.061731,-0.37624 0.095122,0.14784 -0.1389978,-0.334"
+ id="path1314"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ id="path1318"
+ style="fill:none;stroke:#f0f0f0;stroke-width:0.44958332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 10.296923,204.75883 c 0.318991,-0.37082 0.639727,-0.71319 0.957557,-1.10383 l 0.324682,-1.0784 m -1.044542,-0.37303 c 0.291568,1.01786 0.612324,2.04509 0.640702,3.52917 0.111758,0.17335 0.128708,0.58839 0.210882,0.80961"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1322"
+ style="fill:none;stroke:#f0f0f0;stroke-width:0.38891584px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 12.061073,203.48467 c 0.292525,-0.22686 1.267897,-1.45704 1.368485,-1.4838 m -0.685532,-0.5337 c 0.01616,1.51894 0.03233,3.03786 0.04847,4.55685"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#282828;stroke-width:0.46782875;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 14.514623,202.26947 c -0.240165,0.13682 -0.403128,0.57731 -0.337357,1.17151 -0.0073,0.77749 0.06027,2.06295 0.488448,1.28546 0.304568,-0.80527 0.317171,-2.17378 0.04527,-2.40895 -0.0717,-0.22655 -0.193339,-0.0652 -0.316092,0.0905"
+ id="path1324"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#282828;stroke-width:0.36399999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 14.033208,205.3727 c -0.05426,0.3258 -0.174332,1.6171 -0.154102,1.67281 0.09452,-0.47357 0.155284,-0.55608 0.557997,-1.06103 0.449293,-0.41993 0.594347,0.0635 0.591615,0.38459 0.0094,0.2531 -0.0056,1.04199 0.0027,1.29041"
+ id="path1326"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;stroke:#282828;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 15.713332,207.97809 c -0.403474,-0.008 -0.973881,0.11908 -1.339085,0.69561 -0.411739,0.5041 0.276888,0.3953 0.40465,0.60115 0.633791,-0.32012 -0.134122,0.43012 -0.417057,0.3759 -0.216369,-0.0314 -0.691672,0.32763 -0.700459,0.35109"
+ id="path1328"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.45270872;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 8.0221419,220.95097 c 0.00891,-0.79012 -0.019784,-1.58079 0.018039,-2.37046 0.013335,-0.17356 0.2738471,-0.24361 0.2265385,-0.42392 0.028356,-0.12107 0.2129311,-0.30155 0.3018227,-0.13086 0.064441,0.12905 0.074033,0.27938 0.1495606,0.40476 0.1345307,0.27348 0.3530543,0.51644 0.397818,0.82646 0.041217,0.44405 0.2240905,0.87605 0.1610574,1.32745 -0.014926,0.22073 -0.02983,0.45295 0.0538,0.66274"
+ id="path3287"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.45270872;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 8.0790386,219.64971 c 0.4183883,0.004 0.8368749,-0.008 1.2551922,0.004 -0.2143487,0.0147 -0.4310582,-0.0421 -0.6434568,0.006 -0.1063373,0.0922 0.1518608,0.0377 0.2057444,0.0491 0.087833,-0.002 0.1757516,-0.004 0.2635645,-1.2e-4"
+ id="path3289"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.522;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 12.579934,221.13044 c 0.2306,-0.0871 0.377788,-0.24957 0.345335,-0.37983 0.01466,-0.30599 -0.0054,-0.61261 0.02604,-0.91815 0.01018,-0.55332 -0.02037,-1.10683 -0.08183,-1.65834 0.08112,-0.17305 0.392073,-0.19881 0.584867,-0.11119 0.276331,0.0925 0.517163,0.23375 0.739697,0.38204 0.240434,0.20795 0.404982,0.50761 0.260066,0.7738 -0.10719,0.16005 -0.368608,0.22149 -0.595352,0.23446 -0.145112,-0.006 -0.373121,-0.0484 -0.443947,-0.10997 0.210394,0.0395 0.419856,0.0921 0.627463,0.14287 0.402912,0.1081 0.824863,0.32423 0.884388,0.65621 0.04904,0.22622 -0.05558,0.50138 -0.369509,0.59749 -0.408231,0.13621 -0.866963,0.0521 -1.295461,0.10395 -0.152172,0.0209 -0.292932,0.0764 -0.403287,0.155"
+ id="path3291"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.065;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 14.940697,247.23471 0.06331,1.30962 -0.333252,0.52619 1.214871,0.52819 v 0 0 0"
+ id="path956"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.035;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 15.885626,246.12003 -1.214872,-0.30017 0.284058,0.82737 -0.512073,-0.0323 0.520341,0.61973"
+ id="path958"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ </g>
+</svg>
diff --git a/res/ComputerscareColyProp.svg b/res/ComputerscareColyProp.svg
@@ -0,0 +1,138 @@
+<?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="15.24mm"
+ height="128.5mm"
+ viewBox="0 0 15.24 128.5"
+ version="1.1"
+ id="svg8"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="ComputerscareColyProp.svg">
+ <defs
+ id="defs2" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.98994949"
+ inkscape:cx="108.00861"
+ inkscape:cy="249.60111"
+ inkscape:document-units="mm"
+ inkscape:current-layer="svg8"
+ showgrid="false"
+ inkscape:snap-global="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="855"
+ inkscape:window-x="0"
+ inkscape:window-y="1"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata5">
+ <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,-168.5)"
+ style="display:inline">
+ <rect
+ y="171.5686"
+ x="3.080508"
+ height="125.3308"
+ width="9.9593086"
+ id="rect1372"
+ style="fill:#ededf2;fill-opacity:1;stroke:#1a151c;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" />
+ <rect
+ style="fill:#f2f3f9;fill-opacity:1;stroke:#994f9d;stroke-width:0.24960874;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
+ id="rect1370"
+ width="15.195288"
+ height="81.719078"
+ x="0.10362113"
+ y="168.58228" />
+ <path
+ style="fill:#d9e8e7;fill-opacity:1;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 0.10362113,250.30136 2.73120037,4.93227 H 13.040178 l 2.258731,-4.93227 z"
+ id="path1404"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:#f2f3f9;fill-opacity:1;stroke:#1a151c;stroke-width:1.34074581;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
+ id="rect1406"
+ width="14.613976"
+ height="15.458694"
+ x="0.72482526"
+ y="281.47183" />
+ <path
+ style="fill:#d9e8e7;fill-opacity:1;stroke:#1a151c;stroke-width:0.61299998;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 2.8858639,274.89475 10.4264171,0.20378 2.363148,5.90952 -15.21190014,-0.037 z"
+ id="path1412"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path1414"
+ d="m 8.0920959,176.06267 c 0,1.88988 0,27.97024 0,27.97024 L 1.6665006,190.42577 c 0,0 1.5119047,20.41071 3.7797619,31.37202 2.267857,10.96131 -4.53571428,13.98512 -4.53571428,13.98512 v 0 L 4.312334,240.6966"
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path1418"
+ d="m 2.8190465,274.89475 10.4932345,0.2706 1.561339,5.30816 -13.7736472,-0.002 z"
+ style="fill:#d9e8e7;fill-opacity:1;stroke:#1a151c;stroke-width:0.61299998;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="widgets"
+ style="display:none">
+ <circle
+ style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.37200001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
+ id="path1394"
+ cx="8.4189901"
+ cy="87.340492"
+ r="2.9399648" />
+ <circle
+ r="2.9399648"
+ cy="95.826302"
+ cx="8.4189901"
+ id="circle1396"
+ style="fill:#00ff00;fill-opacity:1;stroke:none;stroke-width:0.37200001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" />
+ <circle
+ style="fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.37200001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
+ id="circle1398"
+ cx="8.4189901"
+ cy="104.31212"
+ r="2.9399648" />
+ <circle
+ r="2.9399648"
+ cy="112.79793"
+ cx="8.4189901"
+ id="circle1400"
+ style="fill:#ff00ff;fill-opacity:1;stroke:none;stroke-width:0.37200001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" />
+ <circle
+ style="fill:#ffff00;fill-opacity:1;stroke:none;stroke-width:0.37200001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
+ id="circle1402"
+ cx="8.4189901"
+ cy="121.28374"
+ r="2.9399648" />
+ </g>
+</svg>
diff --git a/res/ComputerscareDebugPanel.svg b/res/ComputerscareDebugPanel.svg
@@ -34,9 +34,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="4.0000002"
- inkscape:cx="29.704569"
- inkscape:cy="358.68215"
+ inkscape:zoom="8.0000004"
+ inkscape:cx="31.739768"
+ inkscape:cy="348.02564"
inkscape:document-units="mm"
inkscape:current-layer="text1667"
showgrid="false"
@@ -49,7 +49,10 @@
inkscape:window-height="856"
inkscape:window-x="0"
inkscape:window-y="0"
- inkscape:window-maximized="0" />
+ inkscape:window-maximized="0"
+ inkscape:snap-global="false"
+ showguides="false"
+ inkscape:lockguides="false" />
<metadata
id="metadata5">
<rdf:RDF>
@@ -58,7 +61,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
+ <dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
@@ -67,7 +70,7 @@
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-196.45832)"
- style="display:none">
+ style="display:inline">
<path
style="opacity:1;vector-effect:none;fill:#f0f0f0;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.48607069;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
d="M 0,196.45831 H 23.8125 V 296.99999 H 0 Z"
@@ -86,18 +89,6 @@
y="295.57718"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">computerscare</tspan></text>
<text
- transform="rotate(-5.9989835)"
- id="text1494"
- y="288.0314"
- x="-28.710276"
- style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
- xml:space="preserve"><tspan
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
- y="288.0314"
- x="-28.710276"
- id="tspan1492"
- sodipodi:role="line">trg</tspan></text>
- <text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="20.711658"
@@ -137,7 +128,8 @@
<g
inkscape:groupmode="layer"
id="layer3"
- inkscape:label="bg" />
+ inkscape:label="bg"
+ style="display:inline" />
<g
style="display:inline"
transform="translate(0,-196.45832)"
@@ -147,11 +139,11 @@
<path
inkscape:connector-curvature="0"
id="path1647"
- d="M 0,196.45831 H 23.8125 V 296.99999 H 0 Z"
+ d="M 0,196.41154 H 23.8125 V 296.95322 H 0 Z"
style="opacity:1;vector-effect:none;fill:#f9f9f9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.48607069;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
<g
aria-label="computerscare"
- transform="matrix(0.8241748,0.02257152,-0.02081721,0.89362904,5.4323529,30.898447)"
+ transform="matrix(0.8241748,0.02257152,-0.02081721,0.89362904,5.4323529,31.427614)"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
id="text1651">
<path
@@ -222,98 +214,62 @@
sodipodi:nodetypes="ccccscccsscscscccccsccc" />
</g>
<g
- aria-label="trg"
- transform="rotate(-5.9989835,-64.42517,-5.2329589)"
- style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#200000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
- id="text1655"
- inkscape:transform-center-x="0.93544338">
- <path
- d="m -28.193511,286.04978 v 0.43822 h 0.522276 v 0.19706 h -0.522276 v 0.83785 q 0,0.18879 0.05099,0.24253 0.05237,0.0537 0.21084,0.0537 h 0.260449 v 0.21222 h -0.260449 q -0.293522,0 -0.405143,-0.10886 -0.111621,-0.11025 -0.111621,-0.39963 v -0.83785 h -0.186036 V 286.488 h 0.186036 v -0.43822 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#200000;fill-opacity:1;stroke-width:0.26458332"
- id="path1694"
- inkscape:connector-curvature="0" />
- <path
- d="m -26.442025,286.72502 q -0.04272,-0.0248 -0.09371,-0.0358 -0.04961,-0.0124 -0.110243,-0.0124 -0.214974,0 -0.33073,0.14056 -0.114377,0.13918 -0.114377,0.40101 v 0.81304 h -0.254937 v -1.5434 h 0.254937 v 0.23978 q 0.07993,-0.14056 0.208084,-0.20809 0.128158,-0.0689 0.311437,-0.0689 0.02618,0 0.05788,0.004 0.03169,0.003 0.07028,0.01 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#200000;fill-opacity:1;stroke-width:0.26458332"
- id="path1696"
- inkscape:connector-curvature="0" />
- <path
- d="m -25.204546,287.24179 q 0,-0.27561 -0.114378,-0.4272 -0.112999,-0.15158 -0.318326,-0.15158 -0.20395,0 -0.318327,0.15158 -0.112999,0.15159 -0.112999,0.4272 0,0.27423 0.112999,0.42581 0.114377,0.15158 0.318327,0.15158 0.205327,0 0.318326,-0.15158 0.114378,-0.15158 0.114378,-0.42581 z m 0.253559,0.59807 q 0,0.39411 -0.175011,0.58566 -0.175011,0.19293 -0.536057,0.19293 -0.13367,0 -0.252181,-0.0207 -0.118511,-0.0193 -0.230132,-0.0606 v -0.24667 q 0.111621,0.0606 0.220486,0.0896 0.108865,0.0289 0.221864,0.0289 0.249425,0 0.373448,-0.13092 0.124024,-0.12953 0.124024,-0.39274 v -0.1254 q -0.07855,0.13642 -0.201194,0.20395 -0.122645,0.0675 -0.293522,0.0675 -0.283876,0 -0.457509,-0.21635 -0.173633,-0.21635 -0.173633,-0.57326 0,-0.35829 0.173633,-0.57465 0.173633,-0.21635 0.457509,-0.21635 0.170877,0 0.293522,0.0675 0.122645,0.0675 0.201194,0.20395 V 286.488 h 0.253559 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#200000;fill-opacity:1;stroke-width:0.26458332"
- id="path1698"
- inkscape:connector-curvature="0" />
- </g>
- <g
aria-label="in"
- transform="matrix(0.99940808,-0.06015529,-0.0344019,1.002663,0.19409248,-5.6192236)"
+ transform="matrix(1.1587322,-0.11250462,0.21089172,1.875217,-66.196614,-253.71278)"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#200000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
id="text1659">
<path
- d="m 20.97762,287.32903 h 0.253559 v 1.54341 H 20.97762 Z m 0,-0.60082 h 0.253559 v 0.32108 H 20.97762 Z"
+ d="m 20.830404,287.69433 0.338042,0.075 -0.03879,1.43613 -0.299249,0.0322 z m 0,-0.60082 0.66381,0.023 0.264762,0.32529 -0.928573,-0.0272 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#200000;fill-opacity:1;stroke-width:0.26458332"
id="path1689"
- inkscape:connector-curvature="0" />
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccc" />
<path
- d="m 23.043299,287.94088 v 0.93156 H 22.78974 v -0.92329 q 0,-0.21911 -0.08544,-0.32797 -0.08544,-0.10887 -0.256315,-0.10887 -0.205328,0 -0.323839,0.13092 -0.118512,0.13091 -0.118512,0.35691 v 0.8723 h -0.254937 v -1.54341 h 0.254937 v 0.23978 q 0.09095,-0.13918 0.213596,-0.20808 0.124024,-0.0689 0.285254,-0.0689 0.265962,0 0.402387,0.16536 0.136426,0.16399 0.136426,0.48369 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#200000;fill-opacity:1;stroke-width:0.26458332"
+ d="m 23.347906,288.14324 -0.01308,0.76084 -0.310745,-0.006 0.01297,-0.75408 c 0.0021,-0.1193 -0.0313,-0.20928 -0.100104,-0.26995 -0.06879,-0.0607 -0.172985,-0.0924 -0.312594,-0.0952 -0.167757,-0.003 -0.300662,0.0297 -0.398714,0.099 -0.09805,0.0693 -0.148137,0.16555 -0.150252,0.2886 l -0.01225,0.71243 -0.312434,-0.006 -0.03494,-1.20564 0.369044,-0.0489 -0.0034,0.19584 c 0.07561,-0.0743 0.163841,-0.12921 0.264691,-0.16472 0.101975,-0.0355 0.218827,-0.0519 0.350556,-0.0493 0.217297,0.005 0.380902,0.053 0.490816,0.1449 0.109928,0.0915 0.163395,0.22431 0.160402,0.39838 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#200000;fill-opacity:1;stroke-width:0.2647517"
id="path1691"
- inkscape:connector-curvature="0" />
- </g>
- <g
- aria-label="clr"
- transform="matrix(1.000666,0.00868223,0.07236619,0.99996231,-23.161485,-6.7617837)"
- style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#200000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
- id="text1663">
- <path
- d="m 21.863366,287.49247 v 0.26665 q -0.120923,-0.0667 -0.243396,-0.0992 -0.120923,-0.0341 -0.244947,-0.0341 -0.277502,0 -0.430981,0.17673 -0.153479,0.17519 -0.153479,0.493 0,0.31781 0.153479,0.49454 0.153479,0.17518 0.430981,0.17518 0.124024,0 0.244947,-0.0326 0.122473,-0.0341 0.243396,-0.10077 v 0.26355 q -0.119373,0.0558 -0.248047,0.0837 -0.127124,0.0279 -0.271302,0.0279 -0.392224,0 -0.623217,-0.2465 -0.230994,-0.24649 -0.230994,-0.66507 0,-0.42478 0.232544,-0.66818 0.234094,-0.2434 0.640271,-0.2434 0.131775,0 0.257349,0.0279 0.125573,0.0264 0.243396,0.0806 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.17499995px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#200000;fill-opacity:1;stroke-width:0.26458332"
- id="path1682"
- inkscape:connector-curvature="0" />
- <path
- d="m 22.36256,286.74988 h 0.285254 v 2.41226 H 22.36256 Z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.17499995px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#200000;fill-opacity:1;stroke-width:0.26458332"
- id="path1684"
- inkscape:connector-curvature="0" />
- <path
- d="m 24.249266,287.69246 q -0.04806,-0.0279 -0.10542,-0.0403 -0.05581,-0.014 -0.124023,-0.014 -0.241846,0 -0.37207,0.15813 -0.128675,0.15658 -0.128675,0.45114 v 0.91467 h -0.286804 v -1.73633 h 0.286804 v 0.26975 q 0.08992,-0.15813 0.234095,-0.23409 0.144177,-0.0775 0.350366,-0.0775 0.02945,0 0.06511,0.005 0.03566,0.003 0.07906,0.0109 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.17499995px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#200000;fill-opacity:1;stroke-width:0.26458332"
- id="path1686"
- inkscape:connector-curvature="0" />
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccccccc" />
</g>
<g
aria-label="debug"
- transform="matrix(1.0139335,-0.02825079,0.06854811,0.98434808,0,0)"
+ transform="matrix(0.87695926,-0.04700004,0.05928781,1.6376321,0.72575314,-127.94726)"
style="font-style:normal;font-weight:normal;font-size:10.74719143px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26867977"
id="text1667">
<path
- d="m -8.0187684,202.28597 v -1.48404 H -7.56817 v 3.8105 h -0.4505984 v -0.41142 q -0.1420364,0.24489 -0.3599889,0.36489 -0.2155036,0.11754 -0.5191677,0.11754 -0.4971276,0 -0.8105874,-0.39672 -0.3110106,-0.39672 -0.3110106,-1.04323 0,-0.64651 0.3110106,-1.04323 0.3134598,-0.39673 0.8105874,-0.39673 0.3036641,0 0.5191677,0.12 0.2179525,0.11755 0.3599889,0.36244 z m -1.535463,0.95752 q 0,0.49713 0.2032591,0.7812 0.2057079,0.28162 0.563248,0.28162 0.35754,0 0.563248,-0.28162 0.2057079,-0.28407 0.2057079,-0.7812 0,-0.49713 -0.2057079,-0.77875 -0.205708,-0.28408 -0.563248,-0.28408 -0.3575401,0 -0.563248,0.28408 -0.2032591,0.28162 -0.2032591,0.77875 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01535606px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26867977"
+ d="m -11.909757,199.46304 0.328421,-1.48067 0.730711,0.007 -0.369724,4.27667 -0.504869,-6.3e-4 c 0.0083,-0.14551 -0.484924,0.0531 0.0303,-0.44022 -0.118127,0.17456 -0.26154,0.30454 -0.430238,0.38993 -0.166748,0.0837 -0.363535,0.12534 -0.590361,0.12505 -0.371335,-4.5e-4 -0.664328,-0.14233 -0.878979,-0.42562 -0.212823,-0.28328 -0.303354,-0.65551 -0.271591,-1.11669 0.03177,-0.46118 0.33502,-0.99006 0.586815,-1.27277 0.253634,-0.28271 0.404657,-0.2669 0.775992,-0.26644 0.226826,2.8e-4 0.222764,0.13868 0.377841,0.2245 0.157027,0.084 0.121626,-0.19504 0.215689,-0.0202 z m -1.435003,1.33557 c -0.02446,0.35463 0.03226,0.63335 0.17017,0.83617 0.139821,0.20109 0.343265,0.3018 0.610333,0.30213 0.267069,3.3e-4 0.48435,-0.0999 0.651842,-0.30056 0.167613,-0.20245 0.263631,-0.48099 0.288055,-0.8356 0.02446,-0.35462 -0.233705,-0.45646 -0.373559,-0.65755 -0.139699,-0.20283 -0.207512,-0.0784 -0.474581,-0.0787 -0.267069,-3.3e-4 -0.430419,-0.14007 -0.598032,0.0624 -0.165662,0.2007 -0.249803,0.31711 -0.274228,0.67173 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01535606px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.29419962"
id="path1671"
- inkscape:connector-curvature="0" />
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccccccccccsccc" />
<path
- d="m -4.2939849,203.12839 v 0.2204 h -2.071773 q 0.029387,0.46529 0.2791751,0.71018 0.2522371,0.24245 0.7003866,0.24245 0.2595839,0 0.5020254,-0.0637 0.2448904,-0.0637 0.484883,-0.19101 v 0.42611 q -0.2424415,0.10285 -0.4971275,0.15673 -0.2546861,0.0539 -0.5167189,0.0539 -0.6563063,0 -1.0407843,-0.38202 -0.3820291,-0.38203 -0.3820291,-1.03344 0,-0.67345 0.3624379,-1.06772 0.3648867,-0.39673 0.9820106,-0.39673 0.5534524,0 0.8742589,0.35754 0.3232553,0.35509 0.3232553,0.96732 z m -0.4505984,-0.13224 q -0.0049,-0.36978 -0.2081568,-0.59019 -0.2008102,-0.2204 -0.5338612,-0.2204 -0.3771313,0 -0.6048794,0.21306 -0.2252992,0.21305 -0.2595838,0.59998 z"
+ d="m -8.1057085,200.78544 v 0.2204 h -2.0717725 c 0.01959,0.31019 0.112652,0.54692 0.2791746,0.71018 0.1681581,0.16163 0.41661,0.0207 0.7153763,0.0207 0.1730559,0 0.5285984,-0.0158 0.6902261,-0.0583 0.1632603,-0.0425 0.1216975,0.11018 0.2816926,0.0253 v 0.42611 c -0.1616277,0.0686 -0.3273368,0.12081 -0.4971275,0.15673 -0.1697907,0.0359 -0.3420304,0.0539 -0.5167189,0.0539 -0.4375375,0 -0.7844652,-0.12734 -1.0407842,-0.38202 -0.254686,-0.25469 -0.382029,-0.59917 -0.382029,-1.03344 0,-0.44897 0.05643,-0.96829 0.298059,-1.23113 0.243258,-0.26449 0.6041467,-0.33518 1.0155627,-0.33518 0.3689682,0 0.6912145,0.22104 0.9050855,0.4594 0.2155035,0.23673 0.3232553,0.55917 0.3232553,0.96732 z m -0.4505984,-0.13224 c -0.00327,-0.24652 -0.072652,-0.44325 -0.2081568,-0.59019 -0.1338735,-0.14693 -0.3118272,-0.2204 -0.5338612,-0.2204 -0.2514209,0 -0.2716601,0.1772 -0.6048794,0.21306 -0.1501987,0.14203 -0.082078,0.28588 -0.1049347,0.54383 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01535606px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26867977"
id="path1673"
- inkscape:connector-curvature="0" />
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccsccccscscscccccsccc" />
<path
- d="m -1.5013251,203.28116 q 0.019267,-0.49759 -0.1856192,-0.78849 -0.2022218,-0.29328 -0.5773042,-0.30899 -0.3750826,-0.0157 -0.6018934,0.2596 -0.2241464,0.27294 -0.2434136,0.77052 -0.019268,0.49758 0.1829552,0.79084 0.2048862,0.29092 0.5799687,0.30663 0.3750826,0.0157 0.5992288,-0.25724 0.2268106,-0.27529 0.2460777,-0.77287 z m -1.57112,-1.02575 q 0.1584963,-0.23887 0.3891293,-0.34706 0.2332971,-0.11053 0.549291,-0.0973 0.5240878,0.0219 0.8349824,0.43271 0.31346385,0.41085 0.2884073,1.05795 -0.025057,0.64709 -0.3692715,1.0304 -0.3416461,0.38342 -0.8657339,0.36147 -0.3159942,-0.0132 -0.5400848,-0.14046 -0.2214264,-0.12957 -0.3609406,-0.38093 l -0.015945,0.4118 -0.4752756,-0.0199 0.1476823,-3.81397 0.4752756,0.0199 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01535606px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.27554041"
+ d="m -5.6043964,200.58039 c 0.00511,-0.27418 -0.068546,-0.49166 -0.2209738,-0.65245 -0.1505543,-0.1621 -0.3608165,-0.24792 -0.6307868,-0.25745 -0.2699891,-0.009 -0.2537715,0.0421 -0.4120096,0.19321 -0.1563724,0.14988 -0.2371145,0.3619 -0.242228,0.63607 -0.00511,0.27417 0.067608,0.49229 0.2181624,0.65438 0.152429,0.1608 0.363629,0.24597 0.6335994,0.2555 0.2699891,0.009 0.2528324,-0.0415 0.4091961,-0.19124 0.1582468,-0.15118 0.2399268,-0.36385 0.2450403,-0.63802 z m -1.491226,-0.87272 c 0.1097672,-0.13127 0.2466159,-0.22645 0.4105469,-0.28553 0.1658112,-0.0604 0.362427,-0.0865 0.5898642,-0.0785 0.9083532,0.35639 0.036175,0.0254 0.9119631,0.36063 -0.3897581,0.0959 0.3455835,0.519 0.338935,0.87555 -0.00665,0.35655 -0.1303583,0.64004 -0.3711241,0.85047 -0.238917,0.21049 -0.5469851,0.30908 -0.924204,0.29576 -0.2274262,-0.008 -0.4228393,-0.0474 -0.5862035,-0.11801 -0.1614894,-0.0719 -0.2945962,-0.17731 -0.3993256,-0.31616 l -0.00635,0.34036 -0.6386716,0.0556 0.1842986,-3.22559 0.5131417,0.0179 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01535606px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26015803"
id="path1675"
- inkscape:connector-curvature="0" />
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="scccscccscccccccccccccc" />
<path
- d="m -0.4173698,203.53001 v -1.66036 h 0.45059839 v 1.64322 q 0,0.38937 0.15183207,0.58529 0.15183207,0.19346 0.45549621,0.19346 0.36488673,0 0.57549253,-0.23265 0.2130547,-0.23264 0.2130547,-0.63426 v -1.55506 h 0.4505984 v 2.74278 H 1.4291041 v -0.42121 q -0.1640766,0.24978 -0.3820291,0.37223 -0.2155036,0.11999 -0.5020254,0.11999 -0.47263854,0 -0.71752897,-0.29386 -0.24489043,-0.29387 -0.24489043,-0.85957 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01535606px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26867977"
+ d="m -4.3868142,200.03445 0.5742718,-1.69609 0.6248429,-0.0275 -0.7848074,1.79337 c -0.089784,0.26517 -0.1113954,0.47426 -0.064846,0.62732 0.047175,0.15124 0.3788344,0.13194 0.5623481,0.17109 0.220595,0.0468 0.2046439,0.11985 0.3855086,-0.0114 0.1823702,-0.13092 0.3650247,-0.46852 0.4576392,-0.74205 l 0.4926639,-1.45312 0.6248031,-0.0274 -1.1651151,2.91658 -0.4083368,-0.0873 0.1456847,-0.43027 c -0.1567195,0.14891 -0.3150268,0.25097 -0.4749389,0.30622 -0.1579292,0.054 -0.3234788,0.0626 -0.4964538,0.0253 -0.2856052,-0.0609 -0.4685089,-0.20724 -0.5485817,-0.43924 -0.080185,-0.23176 -0.055053,-0.54028 0.075386,-0.92554 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01535606px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26770094"
id="path1677"
- inkscape:connector-curvature="0" />
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccccccc" />
<path
- d="m 5.0589196,203.27151 q 0.047331,-0.43814 -0.1766022,-0.71731 -0.2209217,-0.27871 -0.6696527,-0.3473 -0.4456794,-0.0684 -0.7217128,0.13462 -0.2729845,0.20322 -0.3203148,0.64135 -0.047093,0.43594 0.1738294,0.71464 0.2239325,0.27918 0.6696498,0.34733 0.4486948,0.0688 0.7217141,-0.13463 0.2759955,-0.20276 0.3230892,-0.6387 z m 0.4514319,1.03543 q -0.067682,0.62652 -0.4830488,0.87254 -0.4156064,0.24822 -1.20465,0.12762 -0.2921873,-0.0442 -0.5475811,-0.11706 -0.2556757,-0.0703 -0.4925219,-0.1733 l 0.04236,-0.39212 q 0.2335303,0.13366 0.4664762,0.21604 0.2329446,0.0824 0.479905,0.12008 0.5451752,0.0828 0.8386306,-0.0834 0.2932897,-0.16448 0.3384895,-0.58289 l 0.021539,-0.19937 q -0.1950898,0.19063 -0.4747191,0.25699 -0.2796264,0.0663 -0.6530776,0.009 -0.6204135,-0.0947 -0.9627019,-0.49677 -0.342309,-0.40193 -0.2810175,-0.9693 0.061528,-0.56955 0.4781454,-0.85548 0.4166184,-0.28594 1.0370098,-0.1911 0.3734564,0.057 0.629875,0.20542 0.2564397,0.1483 0.4046721,0.39142 l 0.040229,-0.3724 0.554221,0.0841 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01535606px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.28412068"
+ d="m 1.0169714,200.13205 c 0.056751,-0.34063 0.2810694,-0.60434 0.1480886,-0.82731 -0.1310016,-0.22255 -0.3438816,-0.36578 -0.63863467,-0.42977 -0.29274065,-0.0637 -0.53679424,-0.02 -0.73226804,0.13223 -0.19342717,0.15214 -0.51573799,-0.0313 -0.57248847,0.30934 -0.0564658,0.33891 0.17802723,1.0494 0.30903,1.27194 0.13298014,0.22296 0.34585666,0.36624 0.63863003,0.42979 0.29471741,0.0641 0.5388056,0.0201 0.73227016,-0.13223 0.19540289,-0.15169 0.0589067,-0.41508 0.11537239,-0.75399 z m 0.6237025,1.24525 c -0.081152,0.48709 -0.2670645,0.82171 -0.5577358,1.00389 -0.29095744,0.1839 -0.69558393,0.21961 -1.21387823,0.10709 -0.1919479,-0.0413 -1.05380917,-0.0321 -1.21961417,-0.095 -0.1661487,-0.0607 -3.7530647,-0.19203 -3.0671636,-0.39531 l 1.039839,-0.20745 c 0.1477474,0.10977 2.6064637,0.0637 2.756783,0.13341 0.15032038,0.0696 0.0441509,0.1041 0.20637642,0.1392 0.35813072,0.0774 0.63965677,0.0547 0.84459073,-0.0683 0.20471291,-0.1215 0.33416337,-0.3448 0.38835907,-0.67008 l 0.30117048,-0.21442 c -0.14084807,0.14409 -0.30625434,0.23879 -0.49621888,0.28403 -0.18996065,0.0452 -0.40758738,0.0411 -0.65284226,-0.0128 -0.40754193,-0.0882 -0.71364321,-0.2933 -0.91832791,-0.61489 -0.20470715,-0.32147 -0.27031525,-0.70275 -0.19682535,-1.14384 0.073773,-0.44279 0.25756117,-0.77083 0.55136482,-0.98411 0.29380546,-0.21329 0.64446305,-0.2757 1.05197434,-0.18726 0.24531879,0.0531 0.44904479,0.14062 0.61117904,0.26239 0.1621593,0.12167 0.2855723,0.27902 0.3702384,0.4721 l 0.072353,-0.43427 0.5461283,0.11776 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01535606px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.30748096"
id="path1679"
- inkscape:connector-curvature="0" />
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="scccscccsccccccccccccccsccccccc" />
</g>
<g
id="g9547"
- transform="matrix(0.26458333,0,0,0.26458333,-2.3613788,290.04527)">
+ transform="matrix(0.26458333,0,0,0.26458333,-2.3613788,290.57444)">
<g
style="display:inline"
inkscape:label="Layer 1"
@@ -366,5 +322,107 @@
style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
+ <g
+ aria-label="single internal poly"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ id="text2992"
+ transform="matrix(0.40498722,0,0,0.22005185,8.184542,217.4858)">
+ <path
+ d="m -4.2176575,248.74686 0.1188366,1.03918 q -0.5707857,-0.23889 -1.1697178,-0.35834 -0.5989309,-0.11944 -1.2260083,-0.11944 -0.954551,0 -1.4066261,0.25083 -0.4451079,0.25083 -0.3877385,0.75251 0.043709,0.38222 0.4103886,0.6032 0.3659952,0.21499 1.4197259,0.41207 l 0.4485253,0.0837 q 1.3943193,0.25083 2.0182453,0.7107 0.6302097,0.45388 0.723776,1.27208 0.1065419,0.93167 -0.6952802,1.47516 -0.7948571,0.54346 -2.2998428,0.54346 -0.6270772,0 -1.3221841,-0.10746 -0.6874694,-0.10161 -1.4638569,-0.31056 l -0.1297642,-1.13473 q 0.7468858,0.31653 1.4551112,0.47779 0.7075414,0.15527 1.3833914,0.15527 0.9057785,0 1.3634557,-0.26277 0.4569919,-0.26877 0.401672,-0.75252 -0.051222,-0.44791 -0.4338831,-0.68679 -0.375695,-0.23889 -1.5924123,-0.45987 l -0.4561628,-0.0896 q -1.216032,-0.21498 -1.7961048,-0.65694 -0.5807527,-0.44791 -0.6695384,-1.2243 -0.1079093,-0.94362 0.613719,-1.45724 0.7216281,-0.51361 2.1569384,-0.51361 0.7106877,0 1.3480062,0.0896 0.6373183,0.0896 1.1873416,0.26874 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.33027679"
+ id="path2998"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -1.7736899,248.54979 h 1.28202479 l 0.76491904,6.68891 H -1.0087708 Z m -0.2977722,-2.6039 h 1.28202481 l 0.15912976,1.39153 H -1.9123323 Z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.33027679"
+ id="path3000"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 6.5677513,251.30796 0.4500064,3.93512 H 5.903708 l -0.4460116,-3.90019 q -0.1058448,-0.92557 -0.5338205,-1.38544 -0.4279752,-0.45987 -1.1787479,-0.45987 -0.902138,0 -1.3595955,0.553 -0.4574562,0.55302 -0.3482837,1.50769 l 0.4213816,3.68481 H 1.338526 L 0.59295422,248.72335 H 1.7130586 l 0.1158295,1.01289 q 0.3323704,-0.58794 0.8379473,-0.87899 0.5116302,-0.29107 1.2200204,-0.29107 1.1685413,0 1.8478316,0.69854 0.6786242,0.69273 0.8330639,2.04324 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.30396181"
+ id="path3002"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 12.287694,250.02332 q 0,-1.27675 -0.428914,-1.97896 -0.423747,-0.70222 -1.193726,-0.70222 -0.7648111,0 -1.1937255,0.70222 -0.4237467,0.70221 -0.4237467,1.97896 0,1.27037 0.4237467,1.97258 0.4289144,0.70222 1.1937255,0.70222 0.769979,0 1.193726,-0.70222 0.428914,-0.70221 0.428914,-1.97258 z m 0.950847,2.77056 q 0,1.82575 -0.656291,2.7131 -0.656291,0.89373 -2.010213,0.89373 -0.501262,0 -0.9456792,-0.0957 -0.4444173,-0.0893 -0.8629964,-0.28089 v -1.14268 q 0.4185791,0.28088 0.8268229,0.41493 0.4082438,0.13406 0.8319907,0.13406 0.935343,0 1.400432,-0.60645 0.465087,-0.60007 0.465087,-1.81937 v -0.58093 q -0.294555,0.632 -0.754476,0.94481 -0.45992,0.3128 -1.100708,0.3128 -1.0645343,0 -1.7156574,-1.00225 -0.651123,-1.00226 -0.651123,-2.65565 0,-1.65978 0.651123,-2.66203 0.6511231,-1.00226 1.7156574,-1.00226 0.640788,0 1.100708,0.31282 0.459921,0.31279 0.754476,0.94479 v -1.08524 h 0.950847 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.29407266"
+ id="path3004"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 15.197078,246.15844 h 0.950846 v 8.04085 h -0.950846 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332"
+ id="path3006"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 23.082901,251.0677 v 0.46509 h -4.371826 q 0.06201,0.98185 0.589111,1.49861 0.532267,0.5116 1.477946,0.5116 0.54777,0 1.059367,-0.13436 0.516764,-0.13436 1.023193,-0.40308 v 0.89917 q -0.511597,0.21705 -1.049031,0.33073 -0.537435,0.11369 -1.090373,0.11369 -1.384928,0 -2.196248,-0.80615 -0.806153,-0.80615 -0.806153,-2.18075 0,-1.4211 0.764811,-2.25309 0.769979,-0.83716 2.072225,-0.83716 1.167888,0 1.844849,0.75448 0.682129,0.74931 0.682129,2.04122 z m -0.950847,-0.27905 q -0.01034,-0.78032 -0.439249,-1.24541 -0.423747,-0.46508 -1.126546,-0.46508 -0.795817,0 -1.276408,0.44958 -0.475423,0.44959 -0.54777,1.26607 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332"
+ id="path3008"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -9.9683874,259.87149 h 0.8741825 v 8.34106 h -0.8741825 z m 0,-3.24705 h 0.8741825 v 1.73523 h -0.8741825 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.30455324"
+ id="path3010"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -2.5915671,263.08494 0.096361,6.66017 -0.9279355,-0.0555 -0.095506,-6.62305 c -0.00946,-0.65584 -0.1306433,-1.1523 -0.3465999,-1.49045 -0.2159567,-0.33814 -0.5323842,-0.51967 -0.9492826,-0.54459 -0.5009513,-0.03 -0.8914823,0.14221 -1.1715929,0.51662 -0.2801115,0.37435 -0.4123746,0.89957 -0.3967894,1.57568 l 0.090231,3.91436 -0.9329783,-0.0558 -0.1596513,-6.9259 0.9329786,0.0558 0.024803,1.076 c 0.2122992,-0.40313 0.4656857,-0.69881 0.7601596,-0.88705 0.2978363,-0.18803 0.6434364,-0.27029 1.0368003,-0.24678 0.6488822,0.0388 1.1454484,0.3155 1.4896986,0.8301 0.3441549,0.51048 0.5272559,1.24393 0.5493028,2.20036 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.28572556"
+ id="path3012"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccscccccccccc" />
+ <path
+ d="m -0.06076206,257.50324 v 2.82899 H 1.7826494 v 1.27217 h -1.84341146 v 5.40892 q 0,1.21878 0.17996368,1.56573 0.18482757,0.34696 0.74417407,0.34696 H 1.7826494 v 1.37003 H 0.86337569 q -1.03600701,0 -1.42998149,-0.70283 -0.39397444,-0.71168 -0.39397444,-2.57989 V 261.6044 H -1.6172044 v -1.27217 h 0.65662416 v -2.82899 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.33679438"
+ id="path3014"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 7.6241723,264.90491 v 0.80066 H 3.5093278 c 0.038911,1.12685 0.2237389,1.98682 0.5544826,2.57991 0.3339865,0.58716 0.1443638,0.42985 0.7377575,0.42985 0.3437144,0 1.3293925,0.37379 1.6504088,0.21958 0.3242588,-0.15421 -0.00804,-0.8364 0.3097359,-1.1448 v 1.54793 c -0.3210163,0.2491 0.00317,0.88978 -0.3340554,1.02026 -0.3372292,0.13049 -1.332635,-0.25516 -1.6795919,-0.25516 -0.8690137,0 -0.904751,-0.0117 -1.4138373,-0.93692 -0.5058438,-0.92521 -0.7587657,-2.17662 -0.7587657,-3.75423 0,-1.63097 -0.1683689,-3.75052 0.3115341,-4.70538 0.4831457,-0.9608 1.1332847,-1.44121 1.9504169,-1.44121 0.732825,0 1.7199474,1.25959 2.1447265,2.1255 0.4280217,0.85996 0.6420325,2.0313 0.6420325,3.51401 z m -1.4666031,-0.4804 c -0.00649,-0.89555 0.1415278,-1.61022 -0.1276055,-2.14399 -0.2658923,-0.53377 -0.3335101,-0.80066 -0.7745021,-0.80066 -0.4993587,0 -1.3081388,-0.56864 -1.6096995,-0.0527 -0.2983181,0.51598 -0.061855,2.06913 -0.107251,3.00621 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.33679438"
+ id="path3016"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="scccsccccscscscsccsccc" />
+ <path
+ d="m 11.79589,261.15244 q -0.147279,-0.13407 -0.323066,-0.19363 -0.171036,-0.067 -0.38008,-0.067 -0.741154,0 -1.1402366,0.75962 -0.3943326,0.75218 -0.3943326,2.16721 v 4.39394 H 8.6792419 v -8.34106 h 0.8789329 v 1.29586 q 0.275557,-0.75965 0.7173992,-1.12458 0.441842,-0.37236 1.073724,-0.37236 0.09026,0 0.199541,0.0223 0.109273,0.0152 0.242301,0.0521 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.30455324"
+ id="path3018"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 16.060048,263.17812 v 5.03443 h -0.692943 v -4.98974 q 0,-1.18413 -0.233491,-1.77248 -0.233492,-0.58834 -0.700476,-0.58834 -0.561133,0 -0.885008,0.7075 -0.323877,0.70749 -0.323877,1.92887 v 4.71419 h -0.696708 v -8.34106 h 0.696708 v 1.29586 q 0.248557,-0.75221 0.58373,-1.12458 0.33894,-0.37236 0.779561,-0.37236 0.726837,0 1.099671,0.89369 0.372833,0.88623 0.372833,2.61402 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.27115095"
+ id="path3020"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 20.574577,264.18731 q -1.254763,0.32321 -1.759298,0.79638 -0.504534,0.47317 -0.554298,1.31368 -0.03965,0.66971 0.296994,0.97328 0.342679,0.2953 0.967246,0.13442 0.860891,-0.22175 1.422247,-1.09311 0.567389,-0.87967 0.640214,-2.1097 l 0.01659,-0.28019 z m 2.095762,-1.05127 -0.258533,4.36665 -1.03532,0.26669 0.06878,-1.16171 q -0.395754,0.78834 -0.944492,1.25942 -0.548335,0.46426 -1.313572,0.66138 -0.967799,0.24929 -1.502886,-0.2589 -0.529055,-0.51646 -0.463511,-1.62351 0.07647,-1.29153 0.824276,-2.13017 0.753436,-0.8401 2.16575,-1.2039 l 1.451699,-0.37394 0.0073,-0.12302 q 0.05139,-0.86786 -0.393348,-1.21761 -0.438699,-0.35807 -1.288337,-0.13921 -0.540167,0.13914 -1.061507,0.42823 -0.521339,0.28906 -1.012595,0.72514 l 0.06878,-1.16169 q 0.584081,-0.41291 1.126308,-0.68043 0.542633,-0.27439 1.049041,-0.40483 1.367299,-0.35221 1.991528,0.3349 0.62423,0.68711 0.520655,2.4365 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.31505379"
+ id="path3022"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 23.407202,256.62444 h 0.874182 v 11.58811 h -0.874182 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.30455324"
+ id="path3024"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -1.2980398,280.98004 v 3.79196 h -0.956014 v -9.86931 h 0.956014 v 1.08524 q 0.29972331,-0.63837 0.75447591,-0.94479 0.4599202,-0.3128 1.0955403,-0.3128 1.05419919,0 1.71048989,1.03416 0.6614583,1.03417 0.6614583,2.71949 0,1.68531 -0.6614583,2.71949 -0.6562907,1.03415 -1.71048989,1.03415 -0.6356201,0 -1.0955403,-0.30641 -0.4547526,-0.31281 -0.75447591,-0.95118 z m 3.2349446,-2.49605 q 0,-1.2959 -0.434082,-2.03004 -0.4289144,-0.74052 -1.18339029,-0.74052 -0.7544759,0 -1.1885579,0.74052 -0.42891441,0.73414 -0.42891441,2.03004 0,1.2959 0.42891441,2.03642 0.434082,0.73413 1.1885579,0.73413 0.75447589,0 1.18339029,-0.73413 0.434082,-0.74052 0.434082,-2.03642 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.29407263"
+ id="path3026"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 6.7428129,275.7262 q -0.7648112,0 -1.2092285,0.74051 -0.4444173,0.73414 -0.4444173,2.01728 0,1.28314 0.4392497,2.02365 0.4444173,0.73413 1.2143961,0.73413 0.7596435,0 1.2040608,-0.74052 0.4444173,-0.74051 0.4444173,-2.01726 0,-1.27037 -0.4444173,-2.01089 -0.4444173,-0.7469 -1.2040608,-0.7469 z m 0,-0.99586 q 1.2402343,0 1.9482014,0.99586 0.7079671,0.99587 0.7079671,2.75779 0,1.75553 -0.7079671,2.75778 -0.7079671,0.99586 -1.9482014,0.99586 -1.245402,0 -1.9533691,-0.99586 -0.7027995,-1.00225 -0.7027995,-2.75778 0,-1.76192 0.7027995,-2.75779 0.7079671,-0.99586 1.9533691,-0.99586 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.29407263"
+ id="path3028"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 10.458906,275.12337 1.50898,-0.28092 1.127661,7.93658 -1.508982,0.28091 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.33549315"
+ id="path3030"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 20.141754,282.01178 q -0.494734,1.13921 -1.0574,1.56332 -0.562664,0.42412 -1.579585,0.61344 l -1.205545,0.22442 -0.1116,-0.7855 0.885709,-0.16488 q 0.623272,-0.11603 0.941624,-0.36377 0.31835,-0.24775 0.63949,-1.00909 l 0.209754,-0.47885 -4.513681,-4.92928 1.599191,-0.29771 3.505197,3.9338 2.23549,-5.0025 1.59919,-0.29771 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.33549315"
+ id="path3032"
+ inkscape:connector-curvature="0" />
+ </g>
</g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="pencil" />
</svg>
diff --git a/res/ComputerscareILoveCookiesPanel.svg b/res/ComputerscareILoveCookiesPanel.svg
@@ -34,9 +34,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="5.6568544"
- inkscape:cx="134.26049"
- inkscape:cy="357.21727"
+ inkscape:zoom="2.8284272"
+ inkscape:cx="158.94105"
+ inkscape:cy="14.056024"
inkscape:document-units="mm"
inkscape:current-layer="text1651"
showgrid="false"
@@ -142,8 +142,8 @@
id="path1723"
inkscape:connector-curvature="0" />
<path
- d="m 26.461145,294.55605 0.06378,0.0969 -1.229442,0.0548 q 0.152154,0.2038 0.371272,0.30486 0.21984,0.1 0.485838,0.088 0.154066,-0.007 0.279558,-0.0413 0.12691,-0.0345 0.23245,-0.0969 l 0.123335,0.18736 q -0.114079,0.0517 -0.249577,0.0821 -0.135569,0.0305 -0.291027,0.0373 -0.389751,0.0169 -0.728229,-0.1404 -0.337316,-0.15784 -0.525894,-0.44424 -0.194954,-0.29611 -0.09402,-0.47912 0.101706,-0.1841 0.467919,-0.20046 0.328404,-0.0147 0.622318,0.13404 0.294642,0.14757 0.471873,0.41677 z m -0.305714,-0.0463 q -0.110013,-0.16246 -0.294376,-0.25398 -0.18296,-0.0916 -0.380663,-0.0827 -0.22415,0.009 -0.297261,0.10974 -0.07205,0.0997 0.01965,0.2707 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.24368711"
+ d="m 28.98163,294.44578 0.146231,0.0933 -3.211735,0.14153 q 0.354442,0.19495 0.904205,0.28154 0.551859,0.0855 1.246769,0.0547 0.402502,-0.0179 0.736198,-0.0613 0.337428,-0.0437 0.624927,-0.11407 l 0.282779,0.18038 q -0.307541,0.0602 -0.666488,0.10034 -0.359153,0.0403 -0.765237,0.058 -1.018071,0.0444 -1.867062,-0.0906 -0.845857,-0.1356 -1.278238,-0.41133 -0.446995,-0.28508 -0.146836,-0.47681 0.302391,-0.19288 1.259075,-0.23507 0.85792,-0.0379 1.59265,0.0916 0.736865,0.12822 1.143222,0.38739 z m -0.786385,-0.0253 q -0.253187,-0.1562 -0.714425,-0.23561 -0.457568,-0.0796 -0.974056,-0.0567 -0.585356,0.0248 -0.79627,0.13157 -0.20794,0.10564 -0.0042,0.27174 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.39385325"
id="path1725"
inkscape:connector-curvature="0" />
<text
@@ -185,20 +185,22 @@
style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.07000434"
id="text892">
<path
- d="m -21.637912,192.23885 q -0.254937,0 -0.403076,0.19981 -0.148139,0.1981 -0.148139,0.54433 0,0.34623 0.146417,0.54605 0.148139,0.19809 0.404798,0.19809 0.253215,0 0.401354,-0.19982 0.148139,-0.19981 0.148139,-0.54432 0,-0.34279 -0.148139,-0.5426 -0.148139,-0.20154 -0.401354,-0.20154 z m 0,-0.26872 q 0.413412,0 0.649401,0.26872 0.235989,0.26872 0.235989,0.74414 0,0.4737 -0.235989,0.74414 -0.235989,0.26872 -0.649401,0.26872 -0.415134,0 -0.651123,-0.26872 -0.234266,-0.27044 -0.234266,-0.74414 0,-0.47542 0.234266,-0.74414 0.235989,-0.26872 0.651123,-0.26872 z"
+ d="m -19.32925,192.26626 q -0.275053,-0.0699 -0.43942,0.0736 -0.164328,0.14187 -0.172193,0.46078 -0.0079,0.31891 0.145566,0.5431 0.155328,0.22306 0.432239,0.2934 0.273195,0.0694 0.437562,-0.074 0.164367,-0.14344 0.172193,-0.46077 0.0078,-0.31574 -0.147502,-0.54039 -0.15525,-0.22624 -0.428445,-0.29564 z m 0.0061,-0.24751 q 0.446032,0.1133 0.694537,0.4255 0.248506,0.31219 0.237706,0.7501 -0.01076,0.43632 -0.271514,0.62075 -0.260714,0.18283 -0.706747,0.0695 -0.44789,-0.11378 -0.696395,-0.42598 -0.246608,-0.3133 -0.235847,-0.74963 0.0108,-0.4379 0.269655,-0.62121 0.260714,-0.18284 0.708605,-0.0691 z"
style="stroke-width:0.07000434"
id="path894"
inkscape:connector-curvature="0" />
<path
- d="m -18.657729,192.65297 0.191769,1.13213 -0.317087,0.0526 -0.190066,-1.12207 q -0.04511,-0.26629 -0.174362,-0.38088 -0.129256,-0.11459 -0.342945,-0.0791 -0.256773,0.0426 -0.378027,0.22625 -0.121254,0.18367 -0.07473,0.45833 l 0.179571,1.06012 -0.318811,0.0529 -0.317724,-1.87572 0.318811,-0.0529 0.04936,0.2914 q 0.08508,-0.18801 0.224276,-0.29717 0.140918,-0.10943 0.342544,-0.14286 0.332598,-0.0552 0.537247,0.11753 0.204365,0.171 0.270179,0.55954 z"
+ d="m -17.557657,192.6174 1.207346,0.68445 -0.22743,0.0947 -0.78188,-0.40011 c -0.212025,-0.11354 -0.34982,-0.15667 -0.413385,-0.1294 -0.06357,0.0273 -0.05354,0.12461 0.03007,0.29202 0.100429,0.20114 0.231252,0.35304 0.415864,0.53695 0.184629,0.18392 0.283787,0.239 0.502477,0.35611 l 0.597443,0.15057 0.152883,0.3428 -0.807194,-0.2758 c -0.883426,-0.78295 -0.797926,-0.78987 -0.9137,-0.89235 -0.127303,-0.15717 -0.230376,-0.31473 -0.309218,-0.47266 -0.130103,-0.26054 -0.148483,-0.41477 -0.05514,-0.46269 0.09196,-0.0487 0.292627,0.01 0.60199,0.17552 z"
style="stroke-width:0.07000434"
id="path896"
- inkscape:connector-curvature="0" />
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccccc" />
<path
- d="m -16.339355,192.90203 v 0.15503 h -1.457275 q 0.02067,0.32728 0.19637,0.49954 0.177423,0.17053 0.492649,0.17053 0.18259,0 0.353122,-0.0448 0.172255,-0.0448 0.341065,-0.13436 v 0.29973 q -0.170533,0.0723 -0.349678,0.11024 -0.179144,0.0379 -0.363457,0.0379 -0.461643,0 -0.732083,-0.26872 -0.268717,-0.26872 -0.268717,-0.72692 0,-0.4737 0.254937,-0.75103 0.256659,-0.27905 0.690741,-0.27905 0.389296,0 0.61495,0.25149 0.227376,0.24977 0.227376,0.68041 z m -0.316949,-0.093 q -0.0034,-0.2601 -0.146416,-0.41513 -0.141249,-0.15503 -0.375516,-0.15503 -0.265272,0 -0.425469,0.14986 -0.158474,0.14986 -0.18259,0.42202 z"
+ d="m -20.624266,192.86347 -0.02968,0.048 -0.113824,0.0492 -1.506176,-0.43705 c -0.01563,0.19082 0.03381,0.35425 0.148306,0.49029 0.115947,0.13543 0.291279,0.2372 0.525997,0.30531 0.135957,0.0395 0.180157,-0.072 0.311384,-0.0607 0.132507,0.0117 0.265854,0.0104 0.40004,-0.004 l 0.04678,0.39276 c -0.133832,0.004 -0.269242,-0.002 -0.40623,-0.0192 -0.136984,-0.0171 -0.274096,-0.0455 -0.411335,-0.0854 -0.343741,-0.0998 -0.603562,-0.25535 -0.779463,-0.46678 -0.174618,-0.21106 -0.240213,-0.44704 -0.196784,-0.70793 0.04489,-0.26971 0.175398,-0.45599 0.391515,-0.55882 0.217558,-0.10343 0.487946,-0.10826 0.811165,-0.0145 0.289871,0.0841 0.5069,0.22211 0.651086,0.41409 0.145631,0.19134 0.198038,0.40961 0.157222,0.65482 z m -0.34078,-0.18215 c 0.02212,-0.14883 -0.01272,-0.28283 -0.104513,-0.402 -0.09048,-0.11879 -0.222939,-0.2035 -0.397375,-0.25412 -0.197523,-0.0573 -0.363027,-0.0606 -0.496514,-0.01 -0.132204,0.0511 -0.220182,0.15149 -0.263934,0.30127 z"
style="stroke-width:0.07000434"
id="path898"
- inkscape:connector-curvature="0" />
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccccccccccccc" />
</g>
<g
aria-label="I Love Cookies"
@@ -310,7 +312,7 @@
id="text1057" />
<g
id="g8072"
- transform="matrix(0.26889251,-0.01002392,-0.03200614,0.19788514,41.90235,292.24297)">
+ transform="matrix(0.47536021,-0.01002392,-0.05658189,0.19788514,36.062466,292.24297)">
<g
style="display:inline"
inkscape:label="Layer 1"
diff --git a/res/ComputerscareIsoPanel.svg b/res/ComputerscareIsoPanel.svg
@@ -0,0 +1,430 @@
+<?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="150"
+ height="380"
+ viewBox="0 0 39.687501 100.54167"
+ version="1.1"
+ id="svg8"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="ComputerscareIsoPanel.svg"
+ style="enable-background:new">
+ <defs
+ id="defs2">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 50.270835 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="23.812501 : 50.270835 : 1"
+ inkscape:persp3d-origin="11.906251 : 33.51389 : 1"
+ id="perspective1881" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8284273"
+ inkscape:cx="60.426242"
+ inkscape:cy="338.71354"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g1669"
+ showgrid="false"
+ units="px"
+ inkscape:snap-bbox="false"
+ inkscape:snap-page="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:window-width="1440"
+ inkscape:window-height="856"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:snap-object-midpoints="false"
+ inkscape:snap-others="false"
+ inkscape:snap-nodes="false"
+ inkscape:snap-global="false"
+ showguides="false"
+ showborder="true" />
+ <metadata
+ id="metadata5">
+ <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,-196.45832)"
+ style="display:none">
+ <path
+ style="opacity:1;vector-effect:none;fill:#f0f0f0;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.48607069;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ d="M 0,196.45831 H 23.8125 V 296.99999 H 0 Z"
+ id="rect817"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ x="8.2147436"
+ y="295.57718"
+ id="text1490"
+ transform="rotate(1.4468834)"><tspan
+ sodipodi:role="line"
+ id="tspan1488"
+ x="8.2147436"
+ y="295.57718"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">computerscare</tspan></text>
+ <text
+ transform="rotate(-5.9989835)"
+ id="text1494"
+ y="288.0314"
+ x="-28.710276"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ y="288.0314"
+ x="-28.710276"
+ id="tspan1492"
+ sodipodi:role="line">trg</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ x="20.711658"
+ y="288.87244"
+ id="text1498"
+ transform="rotate(1.9714728)"><tspan
+ sodipodi:role="line"
+ id="tspan1496"
+ x="20.711658"
+ y="288.87244"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">in</tspan></text>
+ <text
+ transform="rotate(0.49746114)"
+ id="text1521"
+ y="289.16214"
+ x="20.314623"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.17499995px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ y="289.16214"
+ x="20.314623"
+ id="tspan1519"
+ sodipodi:role="line">clr</tspan></text>
+ <text
+ transform="matrix(1.0139335,-0.02825079,0.06854811,0.98434808,0,0)"
+ id="text1645"
+ y="204.61243"
+ x="-10.296249"
+ style="font-style:normal;font-weight:normal;font-size:10.74719143px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26867977"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01535606px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26867977"
+ y="204.61243"
+ x="-10.296249"
+ id="tspan1643"
+ sodipodi:role="line">debug</tspan></text>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="bg" />
+ <g
+ style="display:inline"
+ transform="translate(0,-196.45832)"
+ id="g1669"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1 copy">
+ <rect
+ style="fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.26499999;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4032"
+ width="17.3057"
+ height="14.873548"
+ x="7.1093688"
+ y="234.32529"
+ inkscape:label="indentFloor" />
+ <path
+ style="fill:#dedede;fill-opacity:1;stroke:#000000;stroke-width:0.26840547px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.4203939,230.3057 3.7114704,4.01677 H 25.159006 l -1.855924,-3.87659 z"
+ id="path4030"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc"
+ inkscape:label="indentSouth" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path1647"
+ d="m 3.3776331,199.57135 36.2445539,-0.063 c 0.09362,9.4067 0.07597,16.80946 0.09407,25.26047 5.67e-4,0.26475 -4.50896,-0.33057 -4.508436,-0.0661 0.02614,13.20226 2.790862,27.87419 4.704417,40.34569 0.122681,0.79957 0.03654,-1.01706 0.06642,-0.19621 0.183626,5.04482 0.197994,11.49332 0.03975,17.27245 -0.0017,0.062 -0.373647,-0.52059 -0.512047,-0.50285 -0.212047,0.0272 -0.222474,0.6443 -0.224564,0.73887 -0.0011,0.0506 0.216264,0.21436 0.124,0.39731 -0.112027,0.22215 -0.525278,0.47264 -0.358204,0.58348 0.08232,0.0546 1.093191,-0.4233 1.15195,-0.35685 0.154791,0.17506 0.133297,0.42133 -0.04189,0.4833 -0.387614,0.13712 0.249011,0.39146 0.246863,0.45905 -0.0085,0.2676 -0.811783,-0.26129 -0.819517,0.003 -0.0075,0.2564 0.429312,0.4426 0.421766,0.69888 -0.0085,0.28876 -0.975855,0.25001 -0.984363,0.5385 -0.0074,0.24961 0.757028,0.0548 0.74971,0.30406 -0.0096,0.32721 0.03012,0.65933 -0.0286,0.98069 -2.148328,11.75779 -0.194399,7.11138 -0.207892,10.47812 l -36.0870043,-9.6e-4 -0.026179,-35.91386 -0.012052,-16.53493 19.8675243,-2.7e-4 -0.0019,-14.0218 -19.8758181,3.6e-4 z"
+ style="opacity:1;vector-effect:none;fill:#f9f9f9;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.24339159;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ sodipodi:nodetypes="ccssssssssssssssssscccccccc"
+ inkscape:label="groundFloor" />
+ <g
+ aria-label="computerscare"
+ transform="matrix(1.3123272,0.02710821,-0.03314708,1.073241,7.0489753,-22.594823)"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ id="text1651">
+ <path
+ d="m 9.7635177,294.7977 -0.022491,0.23707 q -0.1028223,-0.0489 -0.2099211,-0.0673 -0.1055806,-0.0199 -0.2168506,-0.009 -0.2488775,0.0238 -0.4014201,0.19401 -0.1524199,0.16888 -0.1792271,0.45145 -0.026804,0.28254 0.095932,0.42654 0.1228661,0.14262 0.371738,0.11887 0.1112317,-0.0106 0.2224055,-0.0498 0.1127112,-0.0408 0.2267849,-0.11044 l -0.022229,0.23431 q -0.111772,0.0599 -0.2295122,0.0956 -0.1163563,0.0357 -0.2456588,0.048 -0.3517468,0.0335 -0.5381239,-0.16582 -0.1863704,-0.19938 -0.1510635,-0.57153 0.035829,-0.37767 0.2649098,-0.61397 0.2304697,-0.23642 0.5947391,-0.27118 0.1181718,-0.0112 0.2283935,0.003 0.110394,0.0127 0.2114822,0.0509 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1701"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 10.992212,294.51861 q -0.266408,0.0238 -0.441287,0.22654 -0.174717,0.20115 -0.209523,0.52854 -0.0348,0.3274 0.09811,0.50268 0.134883,0.1735 0.403081,0.14957 0.264588,-0.0236 0.439488,-0.2264 0.174888,-0.20278 0.209524,-0.52855 0.03447,-0.32413 -0.10024,-0.49926 -0.134535,-0.17677 -0.399135,-0.15312 z m 0.02701,-0.25411 q 0.431991,-0.0386 0.651579,0.19351 0.21958,0.23209 0.171782,0.68165 -0.04763,0.44794 -0.321417,0.72568 -0.273614,0.27611 -0.705612,0.31468 -0.433806,0.0388 -0.653382,-0.19335 -0.2176066,-0.23386 -0.1699788,-0.68181 0.047797,-0.44956 0.3196148,-0.72552 0.273616,-0.2761 0.707414,-0.31484 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.32719359"
+ id="path1703"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 13.653765,295.36352 c 0.07288,-0.13168 0.16003,-0.22884 0.261455,-0.2915 0.101422,-0.0627 0.220809,-0.094 0.358161,-0.094 0.184896,-7e-5 0.327536,0.0654 0.427926,0.19601 0.100389,0.12958 0.150598,0.31439 0.150629,0.55441 l 1.71e-4,1.07691 -0.29319,-2.2e-4 c -0.03406,-0.18561 -0.03324,-0.54571 -1.27e-4,-1.06738 5e-6,-0.17098 -0.03015,-0.29789 -0.09038,-0.38076 -0.06024,-0.0828 -0.152167,-0.12428 -0.275777,-0.12429 -0.151086,-1e-5 -0.270469,0.0504 -0.358149,0.15129 -0.08768,0.10089 -0.131509,0.23842 -0.131486,0.41259 l 7.4e-5,1.00843 -0.293192,-2.2e-4 -1.26e-4,-1.06738 c 1.1e-5,-0.17204 -0.03016,-0.29896 -0.09038,-0.38075 -0.06024,-0.0829 -0.153223,-0.12427 -0.278946,-0.12429 -0.148974,-3e-5 -0.267299,0.051 -0.35498,0.15288 -0.08768,0.10089 -0.131509,0.23788 -0.131487,0.411 l 7.3e-5,1.00841 -0.293184,-2.3e-4 -2.73e-4,-1.78423 0.293189,2.2e-4 7.1e-5,0.27718 c 0.06654,-0.10936 0.146309,-0.19007 0.239275,-0.2421 0.09296,-0.052 0.203375,-0.078 0.331217,-0.0779 0.1289,1e-5 0.238256,0.0329 0.32807,0.0988 0.09087,0.0658 0.157976,0.16138 0.20131,0.28676 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.30507702"
+ id="path1705"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccccccccccccccccccccccc" />
+ <path
+ d="m 15.24757,295.82836 0.0037,0.96694 -0.254966,-10e-4 -0.0097,-2.51668 0.254967,10e-4 0.0011,0.27673 q 0.07931,-0.16242 0.200283,-0.24001 0.12235,-0.0791 0.291869,-0.0784 0.281152,10e-4 0.457205,0.26579 0.177431,0.26453 0.179097,0.69429 0.0017,0.42976 -0.17372,0.69267 -0.174009,0.26291 -0.455161,0.26162 -0.169519,-7.7e-4 -0.29248,-0.0794 -0.121592,-0.0803 -0.202158,-0.24347 z m 0.860284,-0.63255 q -0.0013,-0.33046 -0.117775,-0.5182 -0.115122,-0.18934 -0.31634,-0.19027 -0.201216,-9.2e-4 -0.316254,0.18738 -0.113664,0.18667 -0.112383,0.51715 0.0013,0.33045 0.116404,0.5198 0.116494,0.18773 0.317711,0.18866 0.201217,9.1e-4 0.314882,-0.18576 0.115036,-0.1883 0.113755,-0.51876 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.28758317"
+ id="path1707"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 16.380983,295.55261 -0.002,-1.0125 0.251818,-0.0693 0.002,1.00205 q 4.63e-4,0.23744 0.08555,0.33366 0.08508,0.0947 0.254785,0.0483 0.203917,-0.0556 0.321337,-0.22994 0.11879,-0.17448 0.118312,-0.4194 l -0.0019,-0.94826 0.251818,-0.0693 0.0033,1.67257 -0.251817,0.0693 -5.02e-4,-0.25686 q -0.0914,0.17741 -0.213054,0.28545 -0.120291,0.10604 -0.280415,0.15002 -0.264134,0.0725 -0.40134,-0.0694 -0.137208,-0.14174 -0.137881,-0.48669 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.27455816"
+ id="path1709"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 18.446541,294.06616 8.5e-4,0.47187 0.522302,0.001 3.82e-4,0.21219 -0.522302,-10e-4 0.0016,0.90217 q 3.66e-4,0.20328 0.05146,0.26126 0.05248,0.0579 0.210955,0.0582 l 0.260462,5e-4 4.11e-4,0.22852 -0.260464,-5.1e-4 q -0.293536,-5.7e-4 -0.405375,-0.11801 -0.11184,-0.11892 -0.112401,-0.43053 l -0.0016,-0.90216 -0.186044,-3.6e-4 -3.82e-4,-0.21219 0.186044,3.6e-4 -8.5e-4,-0.47186 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.27455816"
+ id="path1711"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 20.597441,294.72662 0.0019,0.18106 -0.982076,0.41269 q 0.01797,0.37637 0.13848,0.52782 0.121665,0.14894 0.334099,0.0597 0.123044,-0.0523 0.237421,-0.15233 0.115534,-0.10109 0.228195,-0.25349 l 0.0037,0.35009 q -0.114034,0.13285 -0.234297,0.22785 -0.120262,0.0949 -0.244472,0.1471 -0.311106,0.1308 -0.496663,-0.10645 -0.184397,-0.23779 -0.190033,-0.77295 -0.0058,-0.55324 0.162571,-0.94935 0.169533,-0.39859 0.462067,-0.5215 0.262355,-0.10975 0.417516,0.11967 0.156304,0.22738 0.161599,0.73032 z m -0.214738,-0.0187 q -0.0055,-0.30279 -0.103778,-0.4434 -0.0971,-0.14111 -0.25497,-0.0747 -0.178774,0.0747 -0.284885,0.2955 -0.104955,0.21991 -0.117861,0.5446 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.29406741"
+ id="path1713"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 21.769671,294.28539 q -0.03842,-0.0353 -0.08351,-0.0564 -0.04395,-0.0224 -0.09704,-0.0324 -0.188262,-0.0358 -0.283941,0.10521 -0.09453,0.13967 -0.08393,0.43817 l 0.03292,0.92697 -0.223257,-0.0424 -0.06249,-1.75967 0.223257,0.0424 0.0097,0.27337 q 0.06432,-0.14695 0.173803,-0.2026 0.109438,-0.0574 0.269947,-0.0267 0.02293,0.004 0.05085,0.0142 0.02785,0.009 0.06196,0.0231 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26348451"
+ id="path1715"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 23.048548,294.61603 -0.02631,0.3362 q -0.08475,-0.10097 -0.179505,-0.1652 -0.09475,-0.0643 -0.199518,-0.0917 -0.159476,-0.0418 -0.246147,0.0186 -0.08551,0.0605 -0.09821,0.22279 -0.0097,0.12372 0.04177,0.21006 0.0516,0.0844 0.218886,0.19324 l 0.07122,0.0462 q 0.221803,0.14082 0.305617,0.31446 0.08513,0.17208 0.06441,0.43682 -0.02358,0.3014 -0.181684,0.43953 -0.156936,0.13841 -0.408372,0.0728 -0.104763,-0.0273 -0.216121,-0.0919 -0.110346,-0.0622 -0.230766,-0.16287 l 0.02872,-0.36711 q 0.110725,0.13341 0.221881,0.2157 0.111312,0.0804 0.224225,0.10977 0.151329,0.0396 0.23946,-0.0241 0.08828,-0.0657 0.10053,-0.22216 0.01135,-0.14492 -0.04197,-0.23772 -0.05216,-0.0925 -0.245617,-0.21597 l -0.07222,-0.0484 q -0.193612,-0.12146 -0.270893,-0.28765 -0.07713,-0.16801 -0.05748,-0.41921 0.02388,-0.30528 0.167264,-0.43739 0.143374,-0.13212 0.383169,-0.0695 0.118734,0.031 0.221229,0.0875 0.102493,0.0563 0.18643,0.13738 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.29087409"
+ id="path1717"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 24.728637,294.63587 0.02003,0.25439 q -0.11212,-0.0543 -0.223044,-0.0758 -0.109669,-0.0231 -0.219523,-0.0136 -0.245798,0.0215 -0.368466,0.20193 -0.122783,0.17899 -0.09891,0.48219 0.02388,0.30318 0.173098,0.45992 0.149107,0.15526 0.394904,0.1338 0.109854,-0.009 0.21452,-0.05 0.10592,-0.042 0.208015,-0.11499 l 0.0198,0.25142 q -0.101541,0.0625 -0.21342,0.099 -0.110505,0.0365 -0.23821,0.0476 -0.347414,0.0303 -0.570536,-0.18697 -0.223122,-0.21728 -0.254568,-0.61661 -0.03191,-0.40525 0.155777,-0.65543 0.189064,-0.2503 0.548836,-0.28171 0.11672,-0.0106 0.230044,0.007 0.113206,0.0154 0.221649,0.0582 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.27455816"
+ id="path1719"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 25.917281,295.46624 q -0.313239,-0.009 -0.424667,0.0586 -0.111423,0.0679 -0.08883,0.23985 0.018,0.13708 0.118553,0.22085 0.101761,0.0824 0.257682,0.087 0.214909,0.006 0.324302,-0.14097 0.110608,-0.14864 0.07754,-0.4004 l -0.0075,-0.0574 z m 0.501549,-0.0911 0.117387,0.89383 -0.258456,-0.008 -0.03124,-0.2378 q -0.06976,0.14008 -0.192791,0.20475 -0.123225,0.0632 -0.314255,0.0577 -0.241599,-0.007 -0.402509,-0.14558 -0.159691,-0.13985 -0.18945,-0.36644 -0.03474,-0.26439 0.124631,-0.39346 0.160756,-0.12903 0.513323,-0.11868 l 0.362401,0.0105 -0.0033,-0.0251 q -0.02332,-0.17765 -0.153994,-0.27761 -0.129449,-0.10136 -0.341554,-0.10762 -0.134846,-0.004 -0.258443,0.0245 -0.123597,0.0285 -0.233136,0.0893 l -0.03124,-0.23779 q 0.134715,-0.0503 0.26466,-0.073 0.129765,-0.0241 0.256179,-0.0204 0.34133,0.01 0.533037,0.19122 0.191703,0.18118 0.238731,0.53927 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26860911"
+ id="path1721"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 27.867464,295.23752 q -0.04501,-0.0348 -0.09791,-0.0551 -0.05154,-0.0217 -0.113856,-0.0311 -0.22092,-0.033 -0.333546,0.10961 -0.111277,0.14106 -0.09949,0.43935 l 0.0366,0.92631 -0.261988,-0.0389 -0.06953,-1.7584 0.261987,0.0389 0.01079,0.27317 q 0.07582,-0.14793 0.204473,-0.20525 0.1286,-0.059 0.316946,-0.0309 0.02691,0.004 0.05965,0.013 0.03268,0.008 0.07268,0.0222 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.28544712"
+ id="path1723"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 28.886282,295.33461 0.0013,0.13351 -0.711858,0.0931 c 0.009,0.18803 -0.0011,0.22628 0.06074,0.32618 0.06247,0.099 0.148316,0.14931 0.257554,0.15113 0.06327,0.001 0.124332,-0.0107 0.18317,-0.0355 0.05944,-0.0248 0.208283,-0.1091 0.266267,-0.15959 l 0.0026,0.25814 c -0.05868,0.0406 -0.20909,0.11803 -0.270953,0.13874 -0.06186,0.0207 -0.124729,0.0306 -0.1886,0.0295 -0.159977,-0.003 -0.287599,-0.082 -0.382862,-0.23774 -0.09467,-0.15584 -0.143318,-0.3653 -0.145954,-0.62838 -0.0027,-0.27197 0.03929,-0.48685 0.126037,-0.64462 0.08734,-0.15874 0.206219,-0.23686 0.356645,-0.23437 0.134907,0.002 0.242183,0.0763 0.321827,0.2219 0.08023,0.14472 0.121586,0.34071 0.124063,0.58797 z m -0.165555,-0.0828 c -0.0028,-0.14936 -0.02927,-0.26895 -0.07969,-0.35878 -0.04984,-0.0898 -0.115352,-0.13542 -0.196534,-0.13676 -0.09193,-0.002 -0.165216,0.0403 -0.219869,0.12539 -0.05406,0.0851 -0.01128,0.19167 -0.01807,0.34779 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.22126861"
+ id="path1725"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccscccsscscscccccsccc" />
+ </g>
+ <g
+ id="g9547"
+ transform="matrix(0.18978894,-0.01134475,0,0.28042233,2.5252982,290.37859)">
+ <g
+ style="display:inline"
+ inkscape:label="Layer 1"
+ id="layer4" />
+ <path
+ id="rect5872"
+ d="m 11.987289,9.3234482 h 7.991524 v 3.9957608 h -7.991524 z"
+ style="opacity:1;fill:#0f0f00;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5874"
+ d="m 14.667374,10.662096 h 3.995763 v 1.331921 h -3.995763 z"
+ style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5878"
+ d="m -29.323654,9.3234482 h 7.989551 v 3.9957608 h -7.989551 z"
+ style="opacity:1;fill:#0c0c00;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ transform="scale(-1,1)"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5880"
+ d="m -26.64423,10.662096 h 3.994777 v 1.331921 h -3.994777 z"
+ style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ transform="scale(-1,1)"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5882"
+ d="m 19.995058,14.667374 h 1.331921 v 3.995762 h -1.331921 z"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5884"
+ d="m 21.326979,17.331215 h 1.315677 v 1.33192 h -1.315677 z"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5886"
+ d="m 11.954803,20.011301 h 2.696328 v 2.663842 h -2.696328 z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5888"
+ d="m 27.970341,20.011301 h 2.696327 v 2.663842 h -2.696327 z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5890"
+ d="m 14.651131,20.011301 h 13.351695 v 1.33192 H 14.651131 Z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ sodipodi:nodetypes="ccccc"
+ style="opacity:1;vector-effect:none;fill:#f9f9f9;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.273;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ d="m 0.18378203,196.58837 22.22692397,-0.009 c 0.222081,5.39584 0.0301,9.42735 -0.05309,14.44691 l -22.13030777,-1.5e-4 z"
+ id="path4018"
+ inkscape:connector-curvature="0"
+ inkscape:label="pimpleFloor" />
+ <path
+ style="fill:#dedede;fill-opacity:1;stroke:#000000;stroke-width:0.26499999;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0.22583599,210.93842 -0.007612,0.1447 3.10076081,2.90385 21.2862902,0.0222 -0.02052,-0.97531 -2.227465,-2.08961 z"
+ id="path4020"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc"
+ inkscape:label="pimpleSouth" />
+ <path
+ style="fill:#bababa;fill-opacity:1;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 22.30768,196.58236 0.129574,0.0666 2.168994,2.91823 0.0017,14.38667 -0.0083,0.1158 -2.24231,-3.12539 z"
+ id="path4022"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc"
+ inkscape:label="pimpleEast" />
+ <g
+ aria-label="knoly
+pobs"
+ transform="matrix(0.92845809,0,0,0.57850027,24.941004,34.746106)"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.34672165px;line-height:1.25;font-family:'.Al Tarikh PUA';-inkscape-font-specification:'.Al Tarikh PUA, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.20866522"
+ id="text4592">
+ <path
+ d="m -25.424556,280.64365 h 0.753977 v 5.08248 l 2.237475,-2.6712 h 0.957754 l -2.420875,2.89795 2.875397,2.30872 -1.330765,0.98742 -2.318986,-3.02515 v 3.02515 h -0.753977 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.34672165px;font-family:'.Al Tarikh PUA';-inkscape-font-specification:'.Al Tarikh PUA, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.24307324"
+ id="path4602"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccc" />
+ <path
+ d="m -16.759941,284.96913 v 4.27989 h -0.809192 v -4.24189 q 0,-1.00667 -0.272663,-1.50682 -0.272663,-0.50017 -0.817988,-0.50017 -0.65527,0 -1.033479,0.60145 -0.378209,0.60147 -0.378209,1.63979 v 4.00764 h -0.81359 v -7.09093 h 0.81359 v 1.10163 q 0.290253,-0.63945 0.681656,-0.95601 0.3958,-0.31656 0.910341,-0.31656 0.848772,0 1.284153,0.75975 0.435381,0.75341 0.435381,2.22223 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.34672165px;font-family:'.Al Tarikh PUA';-inkscape-font-specification:'.Al Tarikh PUA, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.27016169"
+ id="path4604"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -13.310162,284.21643 q -0.53181,0 -0.868686,1.07887 -0.336637,1.06956 -0.384898,2.93898 -0.04826,1.86942 0.229318,2.94829 0.281412,1.06958 0.816816,1.06958 0.528216,0 0.865094,-1.07887 0.336876,-1.07888 0.384898,-2.939 0.04778,-1.85081 -0.233392,-2.92971 -0.280934,-1.08814 -0.80915,-1.08814 z m 0.03745,-1.4509 q 0.862394,0 1.317221,1.4509 0.454827,1.45089 0.388559,4.01785 -0.06603,2.55767 -0.596009,4.01787 -0.529739,1.45087 -1.392133,1.45087 -0.865988,0 -1.320816,-1.45087 -0.450994,-1.4602 -0.384965,-4.01787 0.06627,-2.56696 0.592415,-4.01785 0.52974,-1.4509 1.395728,-1.4509 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.34672165px;font-family:'.Al Tarikh PUA';-inkscape-font-specification:'.Al Tarikh PUA, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.29598308"
+ id="path4606"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -10.34044,283.03904 h 0.6611689 l -0.3640889,14.10322 h -0.661168 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.34672165px;font-family:'.Al Tarikh PUA';-inkscape-font-specification:'.Al Tarikh PUA, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.29219034"
+ id="path4608"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -5.9393629,292.38854 q -0.3178927,1.84013 -0.6194832,2.40136 -0.3015905,0.56125 -0.8069584,0.56125 H -7.96491 v -1.4169 h 0.4401591 q 0.3097416,0 0.4809146,-0.33123 0.171173,-0.33122 0.379026,-1.5641 l 0.134493,-0.77286 -1.8462231,-10.13908 h 0.7947318 l 1.4264417,8.05974 1.4264417,-8.05974 h 0.7947318 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.34672165px;font-family:'.Al Tarikh PUA';-inkscape-font-specification:'.Al Tarikh PUA, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.31352031"
+ id="path4610"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -24.670579,298.79009 v 4.34432 h -0.753977 v -11.30696 h 0.753977 v 1.24333 q 0.236381,-0.73136 0.595029,-1.08243 0.362724,-0.35837 0.864017,-0.35837 0.831411,0 1.349006,1.18482 0.52167,1.18483 0.52167,3.11563 0,1.93081 -0.52167,3.11563 -0.517595,1.18482 -1.349006,1.18482 -0.501293,0 -0.864017,-0.35105 -0.358648,-0.35838 -0.595029,-1.08974 z m 2.551292,-2.85966 q 0,-1.48468 -0.342346,-2.32574 -0.33827,-0.8484 -0.9333,-0.8484 -0.59503,0 -0.937376,0.8484 -0.33827,0.84106 -0.33827,2.32574 0,1.48469 0.33827,2.33307 0.342346,0.84108 0.937376,0.84108 0.59503,0 0.9333,-0.84108 0.342346,-0.84838 0.342346,-2.33307 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.34672165px;font-family:'.Al Tarikh PUA';-inkscape-font-specification:'.Al Tarikh PUA, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.27952805"
+ id="path4612"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -16.528708,298.50392 q -0.417414,2.38849 -1.270299,3.60002 -0.84835,1.21517 -1.645861,0.57131 -0.79751,-0.64385 -1.070781,-2.74893 -0.270885,-2.11873 0.148917,-4.52088 0.4198,-2.40214 1.27268,-3.61365 0.852884,-1.21152 1.650394,-0.56769 0.797511,0.64386 1.063862,2.75896 0.270885,2.11874 -0.148912,4.52086 z m -0.344381,-0.27802 q 0.34347,-1.96537 0.117412,-3.6897 -0.219132,-1.73438 -0.876175,-2.26481 -0.65251,-0.52677 -1.353231,0.46497 -0.693801,0.98174 -1.03727,2.9471 -0.341091,1.95176 -0.117415,3.68972 0.223669,1.738 0.871645,2.26115 0.652507,0.52679 1.350843,-0.45131 0.700718,-0.99172 1.044191,-2.95712 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.34672165px;font-family:'East Syriac Ctesiphon';-inkscape-font-specification:'East Syriac Ctesiphon, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.43010914"
+ id="path4614"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -12.069288,300.1773 q -0.03498,1.35511 -0.555332,2.29443 -0.516347,0.93934 -1.220485,0.93934 -0.872172,0 -1.352893,-1.37051 l -0.02643,1.02403 h -0.620122 q -0.224045,0 -0.215696,-0.32337 0.0086,-0.33108 0.232592,-0.33108 h 0.284055 l 0.214472,-8.30772 h -0.284055 q -0.224045,0 -0.215498,-0.33106 0.0084,-0.32339 0.232393,-0.32339 h 0.620122 l -0.121567,4.86606 q 0.551284,-1.3628 1.419455,-1.3628 0.704138,0 1.171987,0.93932 0.471848,0.93934 0.437063,2.28675 z m -0.30406,0 q 0.02862,-1.10873 -0.35978,-1.87097 -0.388205,-0.76994 -0.964317,-0.76994 -0.572114,0 -1.00007,0.76994 -0.427958,0.76995 -0.456382,1.87097 -0.02862,1.10872 0.35558,1.87866 0.388403,0.76225 0.964517,0.76225 0.580114,0 1.003871,-0.76225 0.427958,-0.76994 0.456581,-1.87866 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.34672165px;font-family:'East Syriac Ctesiphon';-inkscape-font-specification:'East Syriac Ctesiphon, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.28416264"
+ id="path4616"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -3.9441426,297.0506 v 0.9484 q -0.6667594,-0.21803 -1.384808,-0.32704 -0.7180486,-0.109 -1.4873864,-0.109 -1.1711033,0 -1.7609289,0.22893 -0.5812774,0.22892 -0.5812774,0.68676 0,0.34884 0.4188616,0.55051 0.4188618,0.19622 1.683995,0.3761 l 0.5385365,0.0764 q 1.6754469,0.22892 2.3763991,0.64862 0.7095005,0.41424 0.7095005,1.16096 0,0.85028 -1.0599768,1.34629 -1.0514282,0.49599 -2.8978389,0.49599 -0.7693378,0 -1.6070613,-0.0982 -0.8291743,-0.0927 -1.7523814,-0.28343 v -1.0356 q 0.8719165,0.28887 1.7181886,0.43604 0.8462716,0.14172 1.6754469,0.14172 1.1112657,0 1.7096395,-0.23983 0.5983738,-0.24528 0.5983738,-0.68677 0,-0.40879 -0.435958,-0.62681 -0.42741,-0.21803 -1.8891517,-0.41969 l -0.5470847,-0.0817 q -1.461742,-0.19622 -2.1114054,-0.59956 -0.649662,-0.4088 -0.649662,-1.11737 0,-0.86119 0.9573973,-1.32994 0.9573985,-0.46874 2.7183272,-0.46874 0.8719163,0 1.6412541,0.0817 0.7693378,0.0817 1.4190008,0.24528 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.34672165px;font-family:'.Al Tarikh PUA';-inkscape-font-specification:'.Al Tarikh PUA, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.34947965"
+ id="path4618"
+ inkscape:connector-curvature="0" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ x="-24.134436"
+ y="214.30679"
+ id="text4598"><tspan
+ sodipodi:role="line"
+ id="tspan4596"
+ x="-24.134436"
+ y="223.67056"
+ style="stroke-width:0.26458332" /></text>
+ <path
+ inkscape:label="indentSouth"
+ sodipodi:nodetypes="cccccc"
+ inkscape:connector-curvature="0"
+ id="path4659"
+ d="m 23.738551,220.75572 2.777429,4.06676 13.263746,0.0468 -0.0072,-0.51449 -2.55816,-3.45712 z"
+ style="fill:#dedede;fill-opacity:1;stroke:#000000;stroke-width:0.23362851px;stroke-linecap:butt;stroke-linejoin:bevel;stroke-opacity:1" />
+ <path
+ style="fill:#dedede;fill-opacity:1;stroke:#000000;stroke-width:0.634;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 23.606259,260.44322 2.777429,4.06676 h 13.116192 0.257247 l -0.06015,-0.50042 -2.614941,-3.42442 z"
+ id="path4661"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc"
+ inkscape:label="indentSouth" />
+ <path
+ style="fill:#cfd0cf;fill-opacity:1;stroke:#000000;stroke-width:0.565;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 23.906042,220.66769 13.094121,0.37418 c 1.537806,0.0439 3.6e-4,-0.33248 -4e-6,-0.28068 l -0.280633,39.95208 c 0,0 -0.135265,-0.0936 -0.187085,-0.0936 H 23.906042 c -0.05182,0 -0.09354,-0.0417 -0.09354,-0.0935 v -39.76499 c 0,-0.0518 0.04172,-0.0935 0.09354,-0.0935 z"
+ id="rect4663"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csscsssssc" />
+ <g
+ aria-label="5-8"
+ transform="matrix(0.85673357,0,0.35617732,0.38011199,-60.264817,168.92692)"
+ style="font-style:normal;font-weight:normal;font-size:7.99481201px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.1998703"
+ id="text4671">
+ <path
+ d="m -1.013402,243.28526 h 3.0956474 v 0.66363 h -2.37345981 v 1.42876 q 0.17176354,-0.0585 0.34352708,-0.0859 0.17176354,-0.0312 0.34352708,-0.0312 0.97592925,0 1.54587185,0.53481 0.5699427,0.53481 0.5699427,1.44828 0,0.9408 -0.5855576,1.46389 -0.5855575,0.5192 -1.65127217,0.5192 -0.36694938,0 -0.74951363,-0.0625 -0.37866053,-0.0625 -0.7846471,-0.18738 v -0.79245 q 0.35133454,0.19128 0.72609135,0.28497 0.37475681,0.0937 0.79245451,0.0937 0.67534301,0 1.06961844,-0.35524 0.3942754,-0.35524 0.3942754,-0.96422 0,-0.60898 -0.3942754,-0.96422 -0.39427543,-0.35524 -1.06961844,-0.35524 -0.31620106,0 -0.63240212,0.0703 -0.31229734,0.0703 -0.64020954,0.21861 z"
+ style="stroke-width:0.1998703"
+ id="path4673"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 3.6046947,246.60342 h 2.1041034 v 0.64021 H 3.6046947 Z"
+ style="stroke-width:0.1998703"
+ id="path4675"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 8.6443932,246.34577 q -0.5621352,0 -0.8861437,0.30059 -0.3201048,0.30059 -0.3201048,0.82759 0,0.527 0.3201048,0.82759 0.3240085,0.30058 0.8861437,0.30058 0.5621353,0 0.8861437,-0.30058 0.3240085,-0.30449 0.3240085,-0.82759 0,-0.527 -0.3240085,-0.82759 -0.3201047,-0.30059 -0.8861437,-0.30059 z m -0.7885508,-0.33571 q -0.5074831,-0.12492 -0.7924545,-0.47235 -0.2810676,-0.34744 -0.2810676,-0.84711 0,-0.69877 0.4957721,-1.10475 0.4996757,-0.40599 1.3663008,-0.40599 0.8705289,0 1.3663008,0.40599 0.495772,0.40598 0.495772,1.10475 0,0.49967 -0.284971,0.84711 -0.2810678,0.34743 -0.7846473,0.47235 0.5699423,0.13272 0.8861433,0.51919 0.320105,0.38647 0.320105,0.9447 0,0.84711 -0.519194,1.29994 -0.5152907,0.45283 -1.4795088,0.45283 -0.964218,0 -1.4834123,-0.45283 -0.5152907,-0.45283 -0.5152907,-1.29994 0,-0.55823 0.3201048,-0.9447 0.3201048,-0.38647 0.8900474,-0.51919 z m -0.288875,-1.24529 q 0,0.45283 0.2810676,0.70657 0.2849713,0.25374 0.7963582,0.25374 0.5074832,0 0.7924545,-0.25374 0.2888751,-0.25374 0.2888751,-0.70657 0,-0.45283 -0.2888751,-0.70657 -0.2849713,-0.25374 -0.7924545,-0.25374 -0.5113869,0 -0.7963582,0.25374 -0.2810676,0.25374 -0.2810676,0.70657 z"
+ style="stroke-width:0.1998703"
+ id="path4677"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComputerscareKnolyPobsPanel.svg b/res/ComputerscareKnolyPobsPanel.svg
@@ -0,0 +1,345 @@
+<?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="60"
+ height="380"
+ viewBox="0 0 15.875 100.54167"
+ version="1.1"
+ id="svg8"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="ComputerscareKnolyPobsPanel.svg"
+ style="enable-background:new">
+ <defs
+ id="defs2" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6568545"
+ inkscape:cx="33.322451"
+ inkscape:cy="321.91702"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g1669"
+ showgrid="false"
+ units="px"
+ inkscape:snap-bbox="true"
+ inkscape:snap-page="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:window-width="1440"
+ inkscape:window-height="856"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:snap-global="false"
+ showguides="false"
+ inkscape:lockguides="false" />
+ <metadata
+ id="metadata5">
+ <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,-196.45832)"
+ style="display:none">
+ <path
+ style="opacity:1;vector-effect:none;fill:#f0f0f0;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.48607069;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ d="M 0,196.45831 H 23.8125 V 296.99999 H 0 Z"
+ id="rect817"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ x="8.2147436"
+ y="295.57718"
+ id="text1490"
+ transform="rotate(1.4468834)"><tspan
+ sodipodi:role="line"
+ id="tspan1488"
+ x="8.2147436"
+ y="295.57718"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">computerscare</tspan></text>
+ <text
+ transform="rotate(-5.9989835)"
+ id="text1494"
+ y="288.0314"
+ x="-28.710276"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ y="288.0314"
+ x="-28.710276"
+ id="tspan1492"
+ sodipodi:role="line">trg</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ x="20.711658"
+ y="288.87244"
+ id="text1498"
+ transform="rotate(1.9714728)"><tspan
+ sodipodi:role="line"
+ id="tspan1496"
+ x="20.711658"
+ y="288.87244"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">in</tspan></text>
+ <text
+ transform="rotate(0.49746114)"
+ id="text1521"
+ y="289.16214"
+ x="20.314623"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.17499995px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ y="289.16214"
+ x="20.314623"
+ id="tspan1519"
+ sodipodi:role="line">clr</tspan></text>
+ <text
+ transform="matrix(1.0139335,-0.02825079,0.06854811,0.98434808,0,0)"
+ id="text1645"
+ y="204.61243"
+ x="-10.296249"
+ style="font-style:normal;font-weight:normal;font-size:10.74719143px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26867977"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01535606px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26867977"
+ y="204.61243"
+ x="-10.296249"
+ id="tspan1643"
+ sodipodi:role="line">debug</tspan></text>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="bg" />
+ <g
+ style="display:inline"
+ transform="translate(0,-196.45832)"
+ id="g1669"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1 copy">
+ <path
+ inkscape:connector-curvature="0"
+ id="path1647"
+ d="m 0,198.04581 h 13.522624 v 98.95418 H 0 Z"
+ style="opacity:1;vector-effect:none;fill:#e0e0e0;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.263;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ <path
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.37162125;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 2.0835936,196.45833 H 15.874998 v 13.86979 H 9.0738 l -5.2596363,-1.91766 -1.7305701,-2.9436 z"
+ id="rect888"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ <g
+ aria-label="computerscare"
+ transform="matrix(0.579664,-0.0209809,0.12827949,1.4870391,-42.202497,-142.90507)"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ id="text1651">
+ <path
+ d="m 9.6564066,294.11837 -0.022491,0.23707 q -0.1028223,-0.0489 -0.2099211,-0.0673 -0.1055806,-0.0199 -0.2168506,-0.009 -0.2488775,0.0238 -0.4014201,0.19401 -0.1524199,0.16888 -0.1792271,0.45145 -0.026804,0.28254 0.095932,0.42654 0.1228661,0.14262 0.371738,0.11887 0.1112317,-0.0106 0.2224055,-0.0498 0.1127112,-0.0408 0.2267849,-0.11044 l -0.022229,0.23431 q -0.111772,0.0599 -0.2295122,0.0956 -0.1163563,0.0357 -0.2456588,0.048 -0.3517468,0.0335 -0.5381239,-0.16582 -0.1863704,-0.19938 -0.1510635,-0.57153 0.035829,-0.37767 0.2649098,-0.61397 0.2304697,-0.23642 0.5947391,-0.27118 0.1181718,-0.0112 0.2283935,0.003 0.110394,0.0127 0.2114822,0.0509 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1701"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 10.696255,294.13661 q -0.205776,0.0197 -0.340506,0.19093 -0.134608,0.16992 -0.160888,0.44696 -0.02628,0.27705 0.07673,0.42565 0.104532,0.1471 0.311691,0.12734 0.204372,-0.0195 0.339118,-0.1908 0.134737,-0.1713 0.160888,-0.44696 0.02602,-0.27428 -0.07838,-0.42277 -0.10427,-0.14986 -0.308651,-0.13035 z m 0.0204,-0.21501 q 0.333675,-0.0318 0.503758,0.16499 0.170076,0.19686 0.133987,0.57727 -0.03596,0.37905 -0.246966,0.61361 -0.210875,0.23319 -0.544555,0.26503 -0.335078,0.032 -0.505151,-0.16486 -0.1685548,-0.19836 -0.1325956,-0.5774 0.036091,-0.38042 0.2455756,-0.61348 0.210875,-0.23319 0.545947,-0.26516 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1703"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 13.143759,294.1394 q 0.109103,-0.20599 0.261143,-0.30389 0.152033,-0.0979 0.358066,-0.0977 0.277351,3.4e-4 0.428154,0.205 0.150801,0.203 0.151243,0.57869 l 0.0013,1.12376 -0.2932,-3.3e-4 -0.0013,-1.1138 q -3.15e-4,-0.26763 -0.0908,-0.39742 -0.0905,-0.12977 -0.275921,-0.13 -0.226635,-2.7e-4 -0.357993,0.15747 -0.131357,0.15777 -0.131036,0.4304 l 0.0012,1.05229 -0.2932,-3.4e-4 -0.0013,-1.1138 q -3.17e-4,-0.2693 -0.0908,-0.39742 -0.0905,-0.12976 -0.279091,-0.13 -0.223465,-2.8e-4 -0.354821,0.15914 -0.131357,0.15777 -0.131039,0.42874 l 0.0012,1.05227 -0.293194,-3.3e-4 -0.0022,-1.86186 0.293199,3.4e-4 3.42e-4,0.28924 q 0.09965,-0.17108 0.239016,-0.25238 0.139373,-0.0812 0.331141,-0.081 0.193354,2.3e-4 0.328188,0.10342 0.136421,0.10314 0.201631,0.29946 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.31164581"
+ id="path1705"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 14.742929,294.81667 v 0.81855 h -0.254937 v -2.13044 h 0.254937 v 0.23426 q 0.07993,-0.1378 0.201194,-0.20395 0.122645,-0.0675 0.292144,-0.0675 0.28112,0 0.45613,0.22324 0.176389,0.22324 0.176389,0.58705 0,0.3638 -0.176389,0.58704 -0.17501,0.22324 -0.45613,0.22324 -0.169499,0 -0.292144,-0.0661 -0.121268,-0.0675 -0.201194,-0.20533 z m 0.862652,-0.53881 q 0,-0.27975 -0.115755,-0.43822 -0.114377,-0.15985 -0.315571,-0.15985 -0.201193,0 -0.316949,0.15985 -0.114377,0.15847 -0.114377,0.43822 0,0.27974 0.114377,0.43959 0.115756,0.15847 0.316949,0.15847 0.201194,0 0.315571,-0.15847 0.115755,-0.15985 0.115755,-0.43959 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1707"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 16.276561,294.97975 -1.52e-4,-0.94031 0.251931,-0.0648 1.5e-4,0.9306 q 3.6e-5,0.22051 0.08495,0.30972 0.08491,0.0878 0.254686,0.0444 0.204008,-0.052 0.321737,-0.21413 0.119098,-0.16225 0.119061,-0.38971 l -1.43e-4,-0.88065 0.251931,-0.0648 2.51e-4,1.55331 -0.25193,0.0648 -3.9e-5,-0.23855 q -0.09172,0.16493 -0.213559,0.26548 -0.120476,0.0987 -0.280672,0.13983 -0.264253,0.0678 -0.401197,-0.0637 -0.136946,-0.13139 -0.136998,-0.45174 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1709"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 18.344702,293.59556 v 0.43822 h 0.522277 v 0.19706 h -0.522277 v 0.83784 q 0,0.18879 0.05099,0.24254 0.05237,0.0537 0.21084,0.0537 h 0.260449 v 0.21222 H 18.60653 q -0.293522,0 -0.405144,-0.10887 -0.111621,-0.11024 -0.111621,-0.39963 V 294.2308 H 17.90373 v -0.19706 h 0.186035 v -0.43822 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1711"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 20.508346,294.20141 2.1e-5,0.12482 -1.158332,0.29657 q 0.01648,0.25929 0.156153,0.36223 0.141049,0.1012 0.391609,0.037 0.145134,-0.0376 0.280676,-0.10793 0.136913,-0.0711 0.271081,-0.17758 l 4e-5,0.24133 q -0.135541,0.093 -0.277931,0.15998 -0.14239,0.0669 -0.288893,0.10441 -0.366941,0.094 -0.581938,-0.0673 -0.213628,-0.16169 -0.213688,-0.53061 -6.1e-5,-0.38138 0.202543,-0.65655 0.203972,-0.2769 0.549007,-0.36523 0.309435,-0.0789 0.488832,0.0774 0.180765,0.15485 0.18082,0.50156 z m -0.251942,-0.0103 q -0.0028,-0.2087 -0.116435,-0.30445 -0.112293,-0.0961 -0.298502,-0.0484 -0.210854,0.0537 -0.338169,0.20723 -0.125945,0.15291 -0.145079,0.37694 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1713"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 21.832517,294.2708 q -0.04272,-0.0248 -0.09371,-0.0358 -0.04961,-0.0124 -0.110243,-0.0124 -0.214974,0 -0.330729,0.14056 -0.114377,0.13918 -0.114377,0.40101 v 0.81304 h -0.254937 v -1.5434 h 0.254937 v 0.23977 q 0.07993,-0.14056 0.208084,-0.20808 0.128157,-0.0689 0.311436,-0.0689 0.02618,0 0.05788,0.004 0.03169,0.003 0.07028,0.01 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1715"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 23.185447,294.16269 -0.03488,0.23723 q -0.09833,-0.0702 -0.208837,-0.11429 -0.110508,-0.0442 -0.233212,-0.0622 -0.186783,-0.0275 -0.289279,0.016 -0.101136,0.0437 -0.117973,0.15816 -0.01283,0.0873 0.04655,0.14753 0.05959,0.0589 0.254751,0.13358 l 0.08309,0.0317 q 0.258799,0.0966 0.355164,0.21797 0.09793,0.12025 0.07046,0.30705 -0.03127,0.21268 -0.218575,0.31189 -0.185938,0.0994 -0.480428,0.0561 -0.122703,-0.018 -0.252707,-0.0622 -0.128844,-0.0426 -0.269062,-0.11204 l 0.03809,-0.25904 q 0.128445,0.0927 0.258001,0.14937 0.129765,0.0553 0.262013,0.0747 0.17724,0.0261 0.281492,-0.0199 0.104454,-0.0473 0.120693,-0.15775 0.01504,-0.10226 -0.04648,-0.16702 -0.06015,-0.0645 -0.285871,-0.14928 l -0.08424,-0.0333 q -0.225922,-0.0833 -0.314703,-0.19949 -0.08858,-0.11748 -0.06252,-0.29473 0.03167,-0.21541 0.201614,-0.31021 0.169938,-0.0948 0.450794,-0.0535 0.139065,0.0204 0.258757,0.059 0.119693,0.0385 0.217301,0.0946 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1717"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 24.74878,294.2652 c -0.08645,0.15984 -0.310959,-0.0317 -0.546114,0.002 -0.163883,0.0136 -0.286821,0.0763 -0.368812,0.1882 -0.08207,0.11097 -0.115323,0.2603 -0.09977,0.44799 0.01555,0.18768 0.07297,0.32995 0.172262,0.42682 0.09921,0.096 0.230762,0.13713 0.394645,0.12355 0.07324,-0.006 0.144777,-0.0216 0.2146,-0.0468 0.07066,-0.0261 0.140065,-0.0618 0.208213,-0.10716 l 0.01935,0.23346 c -0.06777,0.0388 -0.138962,0.0696 -0.213589,0.0923 -0.07371,0.0227 -0.153138,0.0376 -0.238284,0.0446 -0.231635,0.0192 -0.421693,-0.0383 -0.570174,-0.17261 -0.14848,-0.13426 -0.232962,-0.32499 -0.253446,-0.57219 -0.02079,-0.25087 0.03153,-0.45386 0.15695,-0.60898 0.126338,-0.1552 0.309444,-0.24274 0.549319,-0.26262 0.07782,-0.007 0.154496,-0.005 0.230021,0.006 0.07545,0.009 0.411602,0.13108 0.483843,0.15738 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1719"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccccccc" />
+ <path
+ d="m 24.81823,294.75924 c -0.297765,0.0229 -0.512808,0.0705 -0.64513,0.14291 -0.132332,0.0724 -0.219561,0.18524 -0.261686,0.33845 -0.03363,0.12213 -0.01763,0.21604 0.04798,0.28174 0.06728,0.0643 0.175023,0.0907 0.323232,0.0794 0.204311,-0.0157 0.386389,-0.0956 0.546234,-0.23957 0.161537,-0.14536 0.273146,-0.33019 0.334829,-0.55448 l 0.02101,-0.0766 z m 0.774145,-0.19853 -0.328455,1.19434 -0.368516,0.0282 0.08737,-0.31774 c -0.119089,0.13356 -0.249784,0.2357 -0.392086,0.30641 -0.141957,0.0694 -0.303742,0.11113 -0.485354,0.12512 -0.229693,0.0177 -0.39618,-0.0281 -0.499459,-0.13726 -0.101626,-0.1105 -0.124676,-0.26669 -0.06915,-0.46856 0.06476,-0.2355 0.197713,-0.41952 0.398859,-0.55206 0.202482,-0.13265 0.471302,-0.21186 0.806461,-0.23762 l 0.516775,-0.0398 0.0092,-0.0335 c 0.04352,-0.15825 0.02102,-0.27605 -0.0675,-0.35341 -0.08684,-0.0787 -0.231074,-0.11031 -0.4327,-0.0948 -0.128187,0.01 -0.256984,0.0338 -0.386391,0.0718 -0.129384,0.038 -0.22788,0.0181 -0.35582,0.0841 l 0.0572,-0.24589 c 0.148221,-0.0589 0.289013,-0.10504 0.422378,-0.13852 0.133697,-0.0347 0.260649,-0.0566 0.380855,-0.0659 0.324493,-0.025 0.54526,0.0349 0.662301,0.17963 0.117059,0.14469 0.131725,0.37653 0.044,0.69552 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.36754596"
+ id="path1721"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccccccccccccccccccccccccc" />
+ <path
+ d="m 27.811045,294.03187 q -0.04765,-0.0359 -0.114148,-0.0521 -0.06379,-0.0182 -0.149723,-0.0183 -0.304614,-6.2e-4 -0.541819,0.20246 -0.234523,0.20105 -0.370837,0.57993 l -0.423324,1.17649 -0.361236,-7.4e-4 0.803473,-2.23334 0.361237,7.5e-4 -0.124848,0.34694 q 0.186434,-0.20316 0.403183,-0.30051 0.217505,-0.0995 0.47719,-0.0989 0.0371,8e-5 0.07992,0.006 0.04318,0.005 0.09438,0.0146 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.37900135"
+ id="path1723"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 29.712571,294.7854 -0.06094,0.16877 -1.603439,0.13193 c -0.07023,0.23754 -0.110719,0.28611 -0.02315,0.41121 0.08941,0.12391 0.253311,0.18583 0.491653,0.18595 0.138059,6e-5 0.277401,-0.016 0.418108,-0.0485 0.14201,-0.0325 0.508333,-0.14208 0.659478,-0.20707 l -0.117939,0.32633 c -0.147934,0.0525 -0.514377,0.15339 -0.659762,0.18081 -0.145379,0.0275 -0.287764,0.0411 -0.427099,0.041 -0.349049,-1.8e-4 -0.590562,-0.0978 -0.724584,-0.29298 -0.132697,-0.19514 -0.138963,-0.459 -0.01879,-0.79157 0.12432,-0.34382 0.319099,-0.61634 0.584612,-0.81755 0.267249,-0.20244 0.56498,-0.30358 0.893191,-0.30341 0.29435,1.4e-4 0.493835,0.0916 0.598514,0.27415 0.106411,0.18138 0.103144,0.42835 -0.0098,0.74092 z m -0.322894,-0.1014 c 0.06552,-0.18878 0.06466,-0.33947 -0.0028,-0.45204 -0.06612,-0.1126 -0.187772,-0.16891 -0.364898,-0.16901 -0.200575,-10e-5 -0.381115,0.0543 -0.541512,0.16293 -0.159132,0.1087 -0.116464,0.24257 -0.206093,0.4401 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.36754596"
+ id="path1725"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccscccsscscscccccsccc" />
+ </g>
+ <g
+ id="g9547"
+ transform="matrix(0.21334155,-0.05917659,0,0.23311691,-1.9826542,289.22115)">
+ <g
+ style="display:inline"
+ inkscape:label="Layer 1"
+ id="layer4" />
+ <path
+ id="rect5872"
+ d="m 11.987289,9.3234482 h 7.991524 v 3.9957608 h -7.991524 z"
+ style="opacity:1;fill:#0f0f00;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5874"
+ d="m 14.667374,10.662096 h 3.995763 v 1.331921 h -3.995763 z"
+ style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5878"
+ d="m -29.323654,9.3234482 h 7.989551 v 3.9957608 h -7.989551 z"
+ style="opacity:1;fill:#0c0c00;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ transform="scale(-1,1)"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5880"
+ d="m 26.64423,10.662096 -3.171232,0.209056 v 1.331921 l 3.171232,-0.209056 z"
+ style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5882"
+ d="m 19.995058,14.667374 h 1.331921 v 3.995762 h -1.331921 z"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5884"
+ d="m 20.888507,17.21991 2.579094,0.32072 v 1.33192 l -2.579094,-0.32072 z"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5886"
+ d="m 11.954803,20.011301 h 2.696328 v 2.663842 h -2.696328 z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5888"
+ d="m 27.970341,20.011301 h 2.696327 v 2.663842 h -2.696327 z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5890"
+ d="m 14.651131,20.011301 h 13.351695 v 1.33192 H 14.651131 Z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ style="fill:none;stroke:#dadada;stroke-width:0.30698216;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 2.7900557,198.8813 0.1810466,-1.94464 -0.2632421,-0.0154 -0.1048935,2.82045 0.6339358,-1.61065 1.5029883,1.40056 -1.8853796,-1.40054 1.7836213,-1.12069 v 0 0"
+ id="path870"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:none;stroke:#dadada;stroke-width:0.461;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 5.1505587,197.63661 0.2821815,2.32627 0.1612468,-1.95897 1.3705962,0.57138 -0.5643632,1.26516"
+ id="path872"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#dadada;stroke-width:0.45020127;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 8.3746737,197.03884 -0.6970941,2.11575 1.8821541,0.13502 0.2788377,-1.30547 z"
+ id="path874"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#dadada;stroke-width:0.48511115;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 10.459266,196.91411 0.573608,2.94745 -0.229446,-0.10342"
+ id="path876"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#dadada;stroke-width:0.68092787;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 12.694902,196.93179 1.128406,2.34083 1.241248,-1.85498 -1.354089,1.89915 -1.861871,0.97166 -0.05642,0.13247"
+ id="path878"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#dadada;stroke-width:0.38047731;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 2.4766957,200.56743 0.2336598,3.20154 v -3.27963 l 1.6356202,1.01511 -0.444637,0.65145 -1.2844471,-0.14389 v 0"
+ id="path880"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:none;stroke:#dadada;stroke-width:0.82054484;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 5.9117535,200.94593 -1.1717131,1.847 0.8201994,0.3144 2.0700265,-0.55018 -0.5127879,-1.436 z"
+ id="path882"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;stroke:#dadada;stroke-width:0.35956258;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 8.2466977,199.98687 0.5459683,2.43123 1.967422,-0.0877 -0.8005287,-0.95854 -1.4016522,-0.15179"
+ id="path884"
+ inkscape:connector-curvature="0"
+ inkscape:transform-center-x="-1.0897816"
+ inkscape:transform-center-y="-0.51580917"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;stroke:#dadada;stroke-width:0.40228334;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 14.165554,200.97611 -2.495352,0.13685 1.722981,0.98938 1.544743,0.76866 -3.56479,-0.43227"
+ id="path886"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#afafaf;fill-opacity:1;stroke:none;stroke-width:0.36093959;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 2.0866913,196.46789 -2.08978901,1.62471 -0.01490492,11.57492 1.95193293,0.58729 1.9176098,-1.89929 -1.7424637,-2.84178 z"
+ id="path890"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:#626262;fill-opacity:1;stroke:none;stroke-width:0.42375344;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 3.8438817,208.34875 5.3235432,1.97489 6.6994311,0.01 -2.381744,1.9334 -11.7078953,-2.05413 z"
+ id="path892"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccc" />
+ </g>
+</svg>
diff --git a/res/ComputerscareLaundrySoupPanel.svg b/res/ComputerscareLaundrySoupPanel.svg
@@ -34,11 +34,11 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="4.0000001"
- inkscape:cx="57.159121"
- inkscape:cy="365.51563"
+ inkscape:zoom="22.627418"
+ inkscape:cx="134.48019"
+ inkscape:cy="344.05116"
inkscape:document-units="mm"
- inkscape:current-layer="text1651"
+ inkscape:current-layer="g1669"
showgrid="false"
units="px"
inkscape:snap-bbox="true"
@@ -246,20 +246,23 @@
style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.07000434"
id="text892">
<path
- d="m -21.637912,192.23885 q -0.254937,0 -0.403076,0.19981 -0.148139,0.1981 -0.148139,0.54433 0,0.34623 0.146417,0.54605 0.148139,0.19809 0.404798,0.19809 0.253215,0 0.401354,-0.19982 0.148139,-0.19981 0.148139,-0.54432 0,-0.34279 -0.148139,-0.5426 -0.148139,-0.20154 -0.401354,-0.20154 z m 0,-0.26872 q 0.413412,0 0.649401,0.26872 0.235989,0.26872 0.235989,0.74414 0,0.4737 -0.235989,0.74414 -0.235989,0.26872 -0.649401,0.26872 -0.415134,0 -0.651123,-0.26872 -0.234266,-0.27044 -0.234266,-0.74414 0,-0.47542 0.234266,-0.74414 0.235989,-0.26872 0.651123,-0.26872 z"
- style="stroke-width:0.07000434"
+ d="m -20.430563,191.64553 c 0.02661,0.16208 0.0095,0.27862 0.205223,0.50371 0.19418,0.22397 0.447444,0.44936 0.759793,0.67619 0.312348,0.22682 0.551013,0.35914 0.715994,0.39695 0.163237,0.0356 0.231459,-0.0282 0.204666,-0.19139 -0.02643,-0.16101 -0.291091,-0.3961 -0.486825,-0.62119 -0.195723,-0.22508 -0.307596,-0.32792 -0.618392,-0.55362 -0.309246,-0.22456 -0.440606,-0.31579 -0.605397,-0.35251 -0.166354,-0.0379 -0.2015,-0.0192 -0.175062,0.14186 z m -0.491919,-0.34112 c -0.04315,-0.26285 0.04416,-0.38128 0.261939,-0.35528 0.217786,0.026 0.541127,0.19473 0.970024,0.5062 0.427345,0.31033 0.775323,0.6291 1.043935,0.95631 0.267061,0.32609 0.422172,0.62056 0.465331,0.8834 0.04334,0.26395 -0.04388,0.38293 -0.261669,0.35692 -0.219517,-0.0282 -0.542948,-0.19748 -0.970293,-0.50783 -0.428897,-0.31146 -0.776785,-0.62969 -1.043665,-0.95468 -0.267062,-0.32609 -0.422263,-0.6211 -0.465602,-0.88504 z"
+ style="stroke-width:0.07463527"
id="path894"
- inkscape:connector-curvature="0" />
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccscccccccs" />
<path
- d="m -18.657729,192.65297 0.191769,1.13213 -0.317087,0.0526 -0.190066,-1.12207 q -0.04511,-0.26629 -0.174362,-0.38088 -0.129256,-0.11459 -0.342945,-0.0791 -0.256773,0.0426 -0.378027,0.22625 -0.121254,0.18367 -0.07473,0.45833 l 0.179571,1.06012 -0.318811,0.0529 -0.317724,-1.87572 0.318811,-0.0529 0.04936,0.2914 q 0.08508,-0.18801 0.224276,-0.29717 0.140918,-0.10943 0.342544,-0.14286 0.332598,-0.0552 0.537247,0.11753 0.204365,0.171 0.270179,0.55954 z"
- style="stroke-width:0.07000434"
+ d="m -17.521724,191.94307 1.595132,0.91137 -0.09196,0.21729 -1.25832,-0.63423 c -0.250127,-0.14291 -0.411424,-0.19524 -0.483889,-0.15701 -0.07246,0.0382 -0.05686,0.16663 0.04683,0.38515 0.124538,0.26255 0.297455,0.51227 0.518745,0.74917 0.221309,0.23691 0.293061,0.17347 0.551051,0.32088 l 0.780361,0.31832 0.206122,0.44751 -0.840831,-0.26596 -0.651077,-0.5135 -0.241183,-0.19045 c -0.214039,-0.20706 -0.221677,-0.37378 -0.374702,-0.57554 -0.153843,-0.20351 -0.279652,-0.40834 -0.377425,-0.61448 -0.161338,-0.3401 -0.188962,-0.54342 -0.08287,-0.60997 0.104467,-0.0675 0.339166,0.003 0.704131,0.21155 z"
+ style="stroke-width:0.08665524"
id="path896"
- inkscape:connector-curvature="0" />
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccccccc" />
<path
- d="m -16.339355,192.90203 v 0.15503 h -1.457275 q 0.02067,0.32728 0.19637,0.49954 0.177423,0.17053 0.492649,0.17053 0.18259,0 0.353122,-0.0448 0.172255,-0.0448 0.341065,-0.13436 v 0.29973 q -0.170533,0.0723 -0.349678,0.11024 -0.179144,0.0379 -0.363457,0.0379 -0.461643,0 -0.732083,-0.26872 -0.268717,-0.26872 -0.268717,-0.72692 0,-0.4737 0.254937,-0.75103 0.256659,-0.27905 0.690741,-0.27905 0.389296,0 0.61495,0.25149 0.227376,0.24977 0.227376,0.68041 z m -0.316949,-0.093 q -0.0034,-0.2601 -0.146416,-0.41513 -0.141249,-0.15503 -0.375516,-0.15503 -0.265272,0 -0.425469,0.14986 -0.158474,0.14986 -0.18259,0.42202 z"
- style="stroke-width:0.07000434"
+ d="m -20.89962,192.11881 0.01089,0.19285 -1.429251,0.0974 c 0.02884,0.2705 0.104737,0.47326 0.22768,0.60829 0.123993,0.13353 0.289043,0.19326 0.495153,0.17923 0.119386,-0.008 0.233783,-0.0345 0.343184,-0.0793 0.110529,-0.0449 0.123002,-0.0317 0.229185,-0.11351 l 0.116935,0.29641 c -0.108118,0.0676 -0.219857,0.12099 -0.335211,0.16049 -0.115355,0.0394 -0.233293,0.0632 -0.353805,0.0714 -0.301844,0.0206 -0.547472,-0.0746 -0.736879,-0.28538 -0.188283,-0.21089 -0.293151,-0.50632 -0.314607,-0.88631 -0.02218,-0.39285 0.04358,-0.70994 0.197284,-0.95129 0.15475,-0.24284 0.374035,-0.37394 0.657858,-0.39327 0.25454,-0.0173 0.461467,0.0732 0.620788,0.27177 0.160365,0.19701 0.25063,0.47409 0.270794,0.83122 z m -0.317386,-0.0945 c -0.01443,-0.21555 -0.07199,-0.38443 -0.172758,-0.50663 -0.09962,-0.12227 -0.226009,-0.1782 -0.379184,-0.16776 -0.173447,0.0118 -0.309037,0.0834 -0.406761,0.21484 -0.0966,0.13133 -0.146413,0.31039 -0.149437,0.53717 z"
+ style="stroke-width:0.07747231"
id="path898"
- inkscape:connector-curvature="0" />
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccsccccscscscscccsccc" />
</g>
</g>
<text
diff --git a/res/ComputerscareRolyPouterPanel.svg b/res/ComputerscareRolyPouterPanel.svg
@@ -0,0 +1,361 @@
+<?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="60"
+ height="380"
+ viewBox="0 0 15.875 100.54167"
+ version="1.1"
+ id="svg8"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="ComputerscareRolyPouterPanel.svg"
+ style="enable-background:new">
+ <defs
+ id="defs2" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="32.000002"
+ inkscape:cx="29.9249"
+ inkscape:cy="318.45878"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g1669"
+ showgrid="false"
+ units="px"
+ inkscape:snap-bbox="true"
+ inkscape:snap-page="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:window-width="1440"
+ inkscape:window-height="856"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:snap-global="false"
+ showguides="false"
+ inkscape:lockguides="false" />
+ <metadata
+ id="metadata5">
+ <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="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-196.45832)"
+ style="display:none">
+ <path
+ style="opacity:1;vector-effect:none;fill:#f0f0f0;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.48607069;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ d="M 0,196.45831 H 23.8125 V 296.99999 H 0 Z"
+ id="rect817"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ x="8.2147436"
+ y="295.57718"
+ id="text1490"
+ transform="rotate(1.4468834)"><tspan
+ sodipodi:role="line"
+ id="tspan1488"
+ x="8.2147436"
+ y="295.57718"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">computerscare</tspan></text>
+ <text
+ transform="rotate(-5.9989835)"
+ id="text1494"
+ y="288.0314"
+ x="-28.710276"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ y="288.0314"
+ x="-28.710276"
+ id="tspan1492"
+ sodipodi:role="line">trg</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ x="20.711658"
+ y="288.87244"
+ id="text1498"
+ transform="rotate(1.9714728)"><tspan
+ sodipodi:role="line"
+ id="tspan1496"
+ x="20.711658"
+ y="288.87244"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">in</tspan></text>
+ <text
+ transform="rotate(0.49746114)"
+ id="text1521"
+ y="289.16214"
+ x="20.314623"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.17499995px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ y="289.16214"
+ x="20.314623"
+ id="tspan1519"
+ sodipodi:role="line">clr</tspan></text>
+ <text
+ transform="matrix(1.0139335,-0.02825079,0.06854811,0.98434808,0,0)"
+ id="text1645"
+ y="204.61243"
+ x="-10.296249"
+ style="font-style:normal;font-weight:normal;font-size:10.74719143px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26867977"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01535606px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26867977"
+ y="204.61243"
+ x="-10.296249"
+ id="tspan1643"
+ sodipodi:role="line">debug</tspan></text>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="bg" />
+ <g
+ style="display:inline"
+ transform="translate(0,-196.45832)"
+ id="g1669"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1 copy">
+ <path
+ inkscape:connector-curvature="0"
+ id="path1647"
+ d="m 0,198.04581 h 14.364523 l -0.738749,15.65303 0.93662,65.71451 0.765887,10.38104 -0.496036,7.11206 L 0,296.99999 Z"
+ style="opacity:1;vector-effect:none;fill:#d5d9d5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.26300001;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ sodipodi:nodetypes="cccccccc" />
+ <g
+ aria-label="computerscare"
+ transform="matrix(0.579664,-0.0209809,0.12827949,1.4870391,-42.202497,-143.43424)"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ id="text1651">
+ <path
+ d="m 11.323356,294.14189 0.02189,0.2377 q -0.271111,-0.0513 -0.542836,-0.072 -0.26845,-0.0222 -0.540921,-0.0136 -0.6096253,0.0187 -0.9322797,0.18652 -0.3227858,0.16647 -0.2966893,0.44979 0.026095,0.28329 0.3777732,0.43052 0.351549,0.14584 0.9611768,0.12718 0.272475,-0.008 0.535433,-0.0454 0.266248,-0.0386 0.526425,-0.10621 l 0.02164,0.23492 q -0.257659,0.0578 -0.538054,0.0912 -0.276962,0.0334 -0.59371,0.0431 -0.8616496,0.0263 -1.3893404,-0.17783 -0.5276938,-0.20419 -0.5620602,-0.57733 -0.03488,-0.37867 0.4559951,-0.61127 0.4942813,-0.2327 1.3865845,-0.26001 0.289495,-0.009 0.567591,0.008 0.278031,0.0151 0.541334,0.0556 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.41712496"
+ id="path1701"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 13.143759,294.1394 q 0.109103,-0.20599 0.261143,-0.30389 0.152033,-0.0979 0.358066,-0.0977 0.277351,3.4e-4 0.428154,0.205 0.150801,0.203 0.151243,0.57869 l 0.0013,1.12376 -0.2932,-3.3e-4 -0.0013,-1.1138 q -3.15e-4,-0.26763 -0.0908,-0.39742 -0.0905,-0.12977 -0.275921,-0.13 -0.226635,-2.7e-4 -0.357993,0.15747 -0.131357,0.15777 -0.131036,0.4304 l 0.0012,1.05229 -0.2932,-3.4e-4 -0.0013,-1.1138 q -3.17e-4,-0.2693 -0.0908,-0.39742 -0.0905,-0.12976 -0.279091,-0.13 -0.223465,-2.8e-4 -0.354821,0.15914 -0.131357,0.15777 -0.131039,0.42874 l 0.0012,1.05227 -0.293194,-3.3e-4 -0.0022,-1.86186 0.293199,3.4e-4 3.42e-4,0.28924 q 0.09965,-0.17108 0.239016,-0.25238 0.139373,-0.0812 0.331141,-0.081 0.193354,2.3e-4 0.328188,0.10342 0.136421,0.10314 0.201631,0.29946 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.31164581"
+ id="path1705"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 14.742929,294.81667 v 0.81855 h -0.254937 v -2.13044 h 0.254937 v 0.23426 q 0.07993,-0.1378 0.201194,-0.20395 0.122645,-0.0675 0.292144,-0.0675 0.28112,0 0.45613,0.22324 0.176389,0.22324 0.176389,0.58705 0,0.3638 -0.176389,0.58704 -0.17501,0.22324 -0.45613,0.22324 -0.169499,0 -0.292144,-0.0661 -0.121268,-0.0675 -0.201194,-0.20533 z m 0.862652,-0.53881 q 0,-0.27975 -0.115755,-0.43822 -0.114377,-0.15985 -0.315571,-0.15985 -0.201193,0 -0.316949,0.15985 -0.114377,0.15847 -0.114377,0.43822 0,0.27974 0.114377,0.43959 0.115756,0.15847 0.316949,0.15847 0.201194,0 0.315571,-0.15847 0.115755,-0.15985 0.115755,-0.43959 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1707"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 16.276561,294.97975 -1.52e-4,-0.94031 0.251931,-0.0648 1.5e-4,0.9306 q 3.6e-5,0.22051 0.08495,0.30972 0.08491,0.0878 0.254686,0.0444 0.204008,-0.052 0.321737,-0.21413 0.119098,-0.16225 0.119061,-0.38971 l -1.43e-4,-0.88065 0.251931,-0.0648 2.51e-4,1.55331 -0.25193,0.0648 -3.9e-5,-0.23855 q -0.09172,0.16493 -0.213559,0.26548 -0.120476,0.0987 -0.280672,0.13983 -0.264253,0.0678 -0.401197,-0.0637 -0.136946,-0.13139 -0.136998,-0.45174 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1709"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 18.344702,293.59556 v 0.43822 h 0.522277 v 0.19706 h -0.522277 v 0.83784 q 0,0.18879 0.05099,0.24254 0.05237,0.0537 0.21084,0.0537 h 0.260449 v 0.21222 H 18.60653 q -0.293522,0 -0.405144,-0.10887 -0.111621,-0.11024 -0.111621,-0.39963 V 294.2308 H 17.90373 v -0.19706 h 0.186035 v -0.43822 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1711"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 20.508346,294.20141 2.1e-5,0.12482 -1.158332,0.29657 q 0.01648,0.25929 0.156153,0.36223 0.141049,0.1012 0.391609,0.037 0.145134,-0.0376 0.280676,-0.10793 0.136913,-0.0711 0.271081,-0.17758 l 4e-5,0.24133 q -0.135541,0.093 -0.277931,0.15998 -0.14239,0.0669 -0.288893,0.10441 -0.366941,0.094 -0.581938,-0.0673 -0.213628,-0.16169 -0.213688,-0.53061 -6.1e-5,-0.38138 0.202543,-0.65655 0.203972,-0.2769 0.549007,-0.36523 0.309435,-0.0789 0.488832,0.0774 0.180765,0.15485 0.18082,0.50156 z m -0.251942,-0.0103 q -0.0028,-0.2087 -0.116435,-0.30445 -0.112293,-0.0961 -0.298502,-0.0484 -0.210854,0.0537 -0.338169,0.20723 -0.125945,0.15291 -0.145079,0.37694 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1713"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 21.832517,294.2708 q -0.04272,-0.0248 -0.09371,-0.0358 -0.04961,-0.0124 -0.110243,-0.0124 -0.214974,0 -0.330729,0.14056 -0.114377,0.13918 -0.114377,0.40101 v 0.81304 h -0.254937 v -1.5434 h 0.254937 v 0.23977 q 0.07993,-0.14056 0.208084,-0.20808 0.128157,-0.0689 0.311436,-0.0689 0.02618,0 0.05788,0.004 0.03169,0.003 0.07028,0.01 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1715"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 23.185447,294.16269 -0.03488,0.23723 q -0.09833,-0.0702 -0.208837,-0.11429 -0.110508,-0.0442 -0.233212,-0.0622 -0.186783,-0.0275 -0.289279,0.016 -0.101136,0.0437 -0.117973,0.15816 -0.01283,0.0873 0.04655,0.14753 0.05959,0.0589 0.254751,0.13358 l 0.08309,0.0317 q 0.258799,0.0966 0.355164,0.21797 0.09793,0.12025 0.07046,0.30705 -0.03127,0.21268 -0.218575,0.31189 -0.185938,0.0994 -0.480428,0.0561 -0.122703,-0.018 -0.252707,-0.0622 -0.128844,-0.0426 -0.269062,-0.11204 l 0.03809,-0.25904 q 0.128445,0.0927 0.258001,0.14937 0.129765,0.0553 0.262013,0.0747 0.17724,0.0261 0.281492,-0.0199 0.104454,-0.0473 0.120693,-0.15775 0.01504,-0.10226 -0.04648,-0.16702 -0.06015,-0.0645 -0.285871,-0.14928 l -0.08424,-0.0333 q -0.225922,-0.0833 -0.314703,-0.19949 -0.08858,-0.11748 -0.06252,-0.29473 0.03167,-0.21541 0.201614,-0.31021 0.169938,-0.0948 0.450794,-0.0535 0.139065,0.0204 0.258757,0.059 0.119693,0.0385 0.217301,0.0946 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1717"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 24.74878,294.2652 c -0.08645,0.15984 -0.310959,-0.0317 -0.546114,0.002 -0.163883,0.0136 -0.286821,0.0763 -0.368812,0.1882 -0.08207,0.11097 -0.115323,0.2603 -0.09977,0.44799 0.01555,0.18768 0.07297,0.32995 0.172262,0.42682 0.09921,0.096 0.230762,0.13713 0.394645,0.12355 0.07324,-0.006 0.144777,-0.0216 0.2146,-0.0468 0.07066,-0.0261 0.140065,-0.0618 0.208213,-0.10716 l 0.01935,0.23346 c -0.06777,0.0388 -0.138962,0.0696 -0.213589,0.0923 -0.07371,0.0227 -0.153138,0.0376 -0.238284,0.0446 -0.231635,0.0192 -0.421693,-0.0383 -0.570174,-0.17261 -0.14848,-0.13426 -0.232962,-0.32499 -0.253446,-0.57219 -0.02079,-0.25087 0.03153,-0.45386 0.15695,-0.60898 0.126338,-0.1552 0.309444,-0.24274 0.549319,-0.26262 0.07782,-0.007 0.154496,-0.005 0.230021,0.006 0.07545,0.009 0.411602,0.13108 0.483843,0.15738 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1719"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccccccc" />
+ <path
+ d="m 24.81823,294.75924 c -0.297765,0.0229 -0.512808,0.0705 -0.64513,0.14291 -0.132332,0.0724 -0.219561,0.18524 -0.261686,0.33845 -0.03363,0.12213 -0.01763,0.21604 0.04798,0.28174 0.06728,0.0643 0.175023,0.0907 0.323232,0.0794 0.204311,-0.0157 0.386389,-0.0956 0.546234,-0.23957 0.161537,-0.14536 0.273146,-0.33019 0.334829,-0.55448 l 0.02101,-0.0766 z m 0.774145,-0.19853 -0.328455,1.19434 -0.368516,0.0282 0.08737,-0.31774 c -0.119089,0.13356 -0.249784,0.2357 -0.392086,0.30641 -0.141957,0.0694 -0.303742,0.11113 -0.485354,0.12512 -0.229693,0.0177 -0.39618,-0.0281 -0.499459,-0.13726 -0.101626,-0.1105 -0.124676,-0.26669 -0.06915,-0.46856 0.06476,-0.2355 0.197713,-0.41952 0.398859,-0.55206 0.202482,-0.13265 0.471302,-0.21186 0.806461,-0.23762 l 0.516775,-0.0398 0.0092,-0.0335 c 0.04352,-0.15825 0.02102,-0.27605 -0.0675,-0.35341 -0.08684,-0.0787 -0.231074,-0.11031 -0.4327,-0.0948 -0.128187,0.01 -0.256984,0.0338 -0.386391,0.0718 -0.129384,0.038 -0.22788,0.0181 -0.35582,0.0841 l 0.0572,-0.24589 c 0.148221,-0.0589 0.289013,-0.10504 0.422378,-0.13852 0.133697,-0.0347 0.260649,-0.0566 0.380855,-0.0659 0.324493,-0.025 0.54526,0.0349 0.662301,0.17963 0.117059,0.14469 0.131725,0.37653 0.044,0.69552 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.36754596"
+ id="path1721"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccccccccccccccccccccccccc" />
+ <path
+ d="m 27.811045,294.03187 q -0.04765,-0.0359 -0.114148,-0.0521 -0.06379,-0.0182 -0.149723,-0.0183 -0.304614,-6.2e-4 -0.541819,0.20246 -0.234523,0.20105 -0.370837,0.57993 l -0.423324,1.17649 -0.361236,-7.4e-4 0.803473,-2.23334 0.361237,7.5e-4 -0.124848,0.34694 q 0.186434,-0.20316 0.403183,-0.30051 0.217505,-0.0995 0.47719,-0.0989 0.0371,8e-5 0.07992,0.006 0.04318,0.005 0.09438,0.0146 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.37900135"
+ id="path1723"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 29.712571,294.7854 -0.06094,0.16877 -1.603439,0.13193 c -0.07023,0.23754 -0.110719,0.28611 -0.02315,0.41121 0.08941,0.12391 0.253311,0.18583 0.491653,0.18595 0.138059,6e-5 0.277401,-0.016 0.418108,-0.0485 0.14201,-0.0325 0.508333,-0.14208 0.659478,-0.20707 l -0.117939,0.32633 c -0.147934,0.0525 -0.514377,0.15339 -0.659762,0.18081 -0.145379,0.0275 -0.287764,0.0411 -0.427099,0.041 -0.349049,-1.8e-4 -0.590562,-0.0978 -0.724584,-0.29298 -0.132697,-0.19514 -0.138963,-0.459 -0.01879,-0.79157 0.12432,-0.34382 0.319099,-0.61634 0.584612,-0.81755 0.267249,-0.20244 0.56498,-0.30358 0.893191,-0.30341 0.29435,1.4e-4 0.493835,0.0916 0.598514,0.27415 0.106411,0.18138 0.103144,0.42835 -0.0098,0.74092 z m -0.322894,-0.1014 c 0.06552,-0.18878 0.06466,-0.33947 -0.0028,-0.45204 -0.06612,-0.1126 -0.187772,-0.16891 -0.364898,-0.16901 -0.200575,-10e-5 -0.381115,0.0543 -0.541512,0.16293 -0.159132,0.1087 -0.116464,0.24257 -0.206093,0.4401 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.36754596"
+ id="path1725"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccscccsscscscccccsccc" />
+ </g>
+ <g
+ id="g9547"
+ transform="matrix(0.21334155,-0.05917659,0,0.23311691,-1.9826542,288.69198)">
+ <g
+ style="display:inline"
+ inkscape:label="Layer 1"
+ id="layer4" />
+ <path
+ id="rect5872"
+ d="m 11.987289,9.3234482 h 7.991524 v 3.9957608 h -7.991524 z"
+ style="opacity:1;fill:#0f0f00;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5874"
+ d="m 14.667374,10.662096 h 3.995763 v 1.331921 h -3.995763 z"
+ style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5878"
+ d="m -29.323654,9.3234482 h 7.989551 v 3.9957608 h -7.989551 z"
+ style="opacity:1;fill:#0c0c00;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ transform="scale(-1,1)"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5880"
+ d="m 26.64423,10.662096 -3.171232,0.209056 v 1.331921 l 3.171232,-0.209056 z"
+ style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5882"
+ d="m 19.995058,14.667374 h 1.331921 v 3.995762 h -1.331921 z"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5884"
+ d="m 20.888507,17.21991 2.579094,0.32072 v 1.33192 l -2.579094,-0.32072 z"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5886"
+ d="m 11.954803,20.011301 h 2.696328 v 2.663842 h -2.696328 z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5888"
+ d="m 27.970341,20.011301 h 2.696327 v 2.663842 h -2.696327 z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5890"
+ d="m 14.651131,20.011301 h 13.351695 v 1.33192 H 14.651131 Z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ style="fill:#232224;fill-opacity:1;stroke:none;stroke-width:0.36093959;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 2.0866913,196.46789 -2.08978901,1.62471 0.01594439,6.94401 1.08114182,-0.64353 1.0170942,-0.0654 z"
+ id="path890"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:#626262;fill-opacity:1;stroke:none;stroke-width:0.42375344;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 8.8485033,211.06154 0.4694463,-0.89346 6.5597684,1.73952 -2.265989,1.80938 -5.2166057,-2.09777 z"
+ id="path892"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ sodipodi:nodetypes="cccccc"
+ inkscape:connector-curvature="0"
+ id="path873"
+ d="m 1.0929047,204.36427 1.0068811,-0.0501 4.8564349,0.42743 -0.9143368,0.73199 -6.05304574,-0.43149 z"
+ style="fill:#626262;fill-opacity:1;stroke:none;stroke-width:0.42375344;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccccc"
+ inkscape:connector-curvature="0"
+ id="path875"
+ d="m 6.9572483,204.71528 -0.9027314,0.74979 2.3401689,6.15662 0.4383688,-0.47347 0.578878,-0.85915 z"
+ style="fill:#232224;fill-opacity:1;stroke:none;stroke-width:0.36093959;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:#fefefe;fill-opacity:1;stroke:none;stroke-width:0.37162125;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 2.0835936,196.45833 H 15.874998 v 15.46004 l -6.4737929,-1.63703 -2.4478753,-5.54317 -4.8643051,-0.44029 z"
+ id="rect888"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:none;stroke:#393939;stroke-width:0.56630975;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 2.9691794,200.6221 c -0.2486015,-3.53651 -0.099442,-3.65707 -0.099442,-3.65707 l 2.4860156,0.12045 c 0,0 1.5910502,0.96451 0,1.12525 -1.5910503,0.16076 -2.1379739,0.48226 -2.1379739,0.48226 l 1.9390925,1.60751"
+ id="path1604"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#7a7a78;stroke-width:0.67338562;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 8.1549618,197.26997 c 0,0 -1.8061043,-0.57782 -0.8578995,1.02383 0.9482046,1.6017 2.6188512,2.49597 2.4382407,1.06164 -0.1806105,-1.43431 -1.5803412,-2.08547 -1.5803412,-2.08547 z"
+ id="path1608"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#7a7a78;stroke-width:0.70411921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 11.213089,197.16409 c -0.211264,2.93889 -0.352106,3.50913 0,3.33364 0.352105,-0.17543 0.352105,-0.17543 0.352105,-0.17543 v 0"
+ id="path1610"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#25251f;stroke-width:0.35247958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 2.5215398,204.03118 c 0,-2.61304 0.2094751,-2.66233 0.2094751,-2.66233 0,0 1.9900151,-0.64093 1.6234333,0.0493 -0.3665818,0.69026 0.4713193,0.69026 -0.3665818,0.69026 -0.8379013,0 -1.5186956,0.0985 -1.5186956,0.0985"
+ id="path1614"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#25251f;stroke-width:0.35415709;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 5.3202209,202.26421 c -0.073238,0.30011 -0.4434637,0.0551 -0.5348058,0.24671 -0.3250861,0.68138 -0.3638413,1.22492 0.200912,1.12154 0.4173672,-0.17652 1.1426394,-1.44578 0.3338938,-1.36825 z"
+ id="path1616"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cscc" />
+ <path
+ style="fill:none;stroke:#393939;stroke-width:0.51029915;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 6.9404542,201.57611 c -0.1787065,1.63418 -1.2509453,2.04273 -0.1787065,1.63418 1.0722388,-0.40855 1.1437214,0.7717 1.0722388,-0.45393 -0.071483,-1.22564 -0.1072241,-1.22564 -0.1072241,-1.22564 v 0 0 0 l -0.1440421,-0.72888"
+ id="path1618"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cssccccc" />
+ <path
+ style="fill:none;stroke:#393939;stroke-width:0.27989194;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 10.942623,202.39988 c 1.9353,-0.15115 1.9353,-0.20152 1.9353,-0.25192 -1.270536,-0.68249 0.04088,-1.8911 -1.343958,-0.44298 -0.860134,0.98244 -0.483826,1.14831 -0.483826,1.14831 l 1.989059,-0.20153"
+ id="path1624"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;stroke:#393939;stroke-width:0.48990291;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 13.991448,203.20889 c -0.414674,-2.36916 -0.414674,-2.36916 -0.414674,-2.36916 v 0.7789 c 0,0 0.460749,-1.29817 1.151873,-0.51926 0.691125,0.7789 0.691125,0.81135 0.691125,0.81135"
+ id="path1626"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#7a7a78;stroke-width:0.68020314;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 12.952413,197.32903 c 1.319195,1.47497 1.266427,1.47497 1.266427,1.47497 l 1.160892,-1.58423 -2.269015,3.27775"
+ id="path1628"
+ inkscape:connector-curvature="0" />
+ <g
+ aria-label="t"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ id="text881"
+ transform="matrix(0.44148792,0,0,0.3724617,-1.8824245,128.84301)">
+ <path
+ d="m 24.989687,192.92986 v 1.64331 h 1.958537 v 0.73897 h -1.958537 v 3.14193 q 0,0.70797 0.191203,0.90951 0.19637,0.20153 0.790649,0.20153 h 0.976685 v 0.79582 h -0.976685 q -1.100708,0 -1.519287,-0.40824 -0.418579,-0.41341 -0.418579,-1.49862 v -3.14193 h -0.697632 v -0.73897 h 0.697632 v -1.64331 z"
+ style="stroke-width:0.26386607;stroke:#393939;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path883"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComputerscareSolyPequencerPanel.svg b/res/ComputerscareSolyPequencerPanel.svg
@@ -0,0 +1,546 @@
+<?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="60"
+ height="380"
+ viewBox="0 0 15.875 100.54167"
+ version="1.1"
+ id="svg8"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="ComputerscareSolyPequencerPanel.svg"
+ style="enable-background:new">
+ <defs
+ id="defs2" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.9999999"
+ inkscape:cx="50.536891"
+ inkscape:cy="163.17232"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g1669"
+ showgrid="false"
+ units="px"
+ inkscape:snap-bbox="true"
+ inkscape:snap-page="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:window-width="1440"
+ inkscape:window-height="856"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:snap-global="false"
+ showguides="true"
+ inkscape:lockguides="false" />
+ <metadata
+ id="metadata5">
+ <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="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-196.45832)"
+ style="display:none">
+ <path
+ style="opacity:1;vector-effect:none;fill:#f0f0f0;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.48607069;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ d="M 0,196.45831 H 23.8125 V 296.99999 H 0 Z"
+ id="rect817"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ x="8.2147436"
+ y="295.57718"
+ id="text1490"
+ transform="rotate(1.4468834)"><tspan
+ sodipodi:role="line"
+ id="tspan1488"
+ x="8.2147436"
+ y="295.57718"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">computerscare</tspan></text>
+ <text
+ transform="rotate(-5.9989835)"
+ id="text1494"
+ y="288.0314"
+ x="-28.710276"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ y="288.0314"
+ x="-28.710276"
+ id="tspan1492"
+ sodipodi:role="line">trg</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ x="20.711658"
+ y="288.87244"
+ id="text1498"
+ transform="rotate(1.9714728)"><tspan
+ sodipodi:role="line"
+ id="tspan1496"
+ x="20.711658"
+ y="288.87244"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">in</tspan></text>
+ <text
+ transform="rotate(0.49746114)"
+ id="text1521"
+ y="289.16214"
+ x="20.314623"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.17499995px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ y="289.16214"
+ x="20.314623"
+ id="tspan1519"
+ sodipodi:role="line">clr</tspan></text>
+ <text
+ transform="matrix(1.0139335,-0.02825079,0.06854811,0.98434808,0,0)"
+ id="text1645"
+ y="204.61243"
+ x="-10.296249"
+ style="font-style:normal;font-weight:normal;font-size:10.74719143px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26867977"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01535606px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26867977"
+ y="204.61243"
+ x="-10.296249"
+ id="tspan1643"
+ sodipodi:role="line">debug</tspan></text>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="bg" />
+ <g
+ style="display:inline"
+ transform="translate(0,-196.45832)"
+ id="g1669"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1 copy">
+ <path
+ inkscape:connector-curvature="0"
+ id="path1647"
+ d="m 8.8786219,205.72349 -7.3856972,-7.67753 0.738749,15.65303 -0.93662,65.71451 -0.76588703,10.38104 0.308947,5.56858 1.45447203,1.27054 13.5938013,0.37061 0.01249,-88.38133 z"
+ style="opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.26300001;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ sodipodi:nodetypes="cccccccccc" />
+ <g
+ aria-label="computerscare"
+ transform="matrix(0.579664,-0.0209809,0.12827949,1.4870391,-39.63278,-143.10683)"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ id="text1651">
+ <path
+ d="m 9.6564066,294.11837 -0.022491,0.23707 q -0.1028223,-0.0489 -0.2099211,-0.0673 -0.1055806,-0.0199 -0.2168506,-0.009 -0.2488775,0.0238 -0.4014201,0.19401 -0.1524199,0.16888 -0.1792271,0.45145 -0.026804,0.28254 0.095932,0.42654 0.1228661,0.14262 0.371738,0.11887 0.1112317,-0.0106 0.2224055,-0.0498 0.1127112,-0.0408 0.2267849,-0.11044 l -0.022229,0.23431 q -0.111772,0.0599 -0.2295122,0.0956 -0.1163563,0.0357 -0.2456588,0.048 -0.3517468,0.0335 -0.5381239,-0.16582 -0.1863704,-0.19938 -0.1510635,-0.57153 0.035829,-0.37767 0.2649098,-0.61397 0.2304697,-0.23642 0.5947391,-0.27118 0.1181718,-0.0112 0.2283935,0.003 0.110394,0.0127 0.2114822,0.0509 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1701"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 10.696255,294.13661 q -0.205776,0.0197 -0.340506,0.19093 -0.134608,0.16992 -0.160888,0.44696 -0.02628,0.27705 0.07673,0.42565 0.104532,0.1471 0.311691,0.12734 0.204372,-0.0195 0.339118,-0.1908 0.134737,-0.1713 0.160888,-0.44696 0.02602,-0.27428 -0.07838,-0.42277 -0.10427,-0.14986 -0.308651,-0.13035 z m 0.0204,-0.21501 q 0.333675,-0.0318 0.503758,0.16499 0.170076,0.19686 0.133987,0.57727 -0.03596,0.37905 -0.246966,0.61361 -0.210875,0.23319 -0.544555,0.26503 -0.335078,0.032 -0.505151,-0.16486 -0.1685548,-0.19836 -0.1325956,-0.5774 0.036091,-0.38042 0.2455756,-0.61348 0.210875,-0.23319 0.545947,-0.26516 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1703"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 13.143759,294.1394 q 0.109103,-0.20599 0.261143,-0.30389 0.152033,-0.0979 0.358066,-0.0977 0.277351,3.4e-4 0.428154,0.205 0.150801,0.203 0.151243,0.57869 l 0.0013,1.12376 -0.2932,-3.3e-4 -0.0013,-1.1138 q -3.15e-4,-0.26763 -0.0908,-0.39742 -0.0905,-0.12977 -0.275921,-0.13 -0.226635,-2.7e-4 -0.357993,0.15747 -0.131357,0.15777 -0.131036,0.4304 l 0.0012,1.05229 -0.2932,-3.4e-4 -0.0013,-1.1138 q -3.17e-4,-0.2693 -0.0908,-0.39742 -0.0905,-0.12976 -0.279091,-0.13 -0.223465,-2.8e-4 -0.354821,0.15914 -0.131357,0.15777 -0.131039,0.42874 l 0.0012,1.05227 -0.293194,-3.3e-4 -0.0022,-1.86186 0.293199,3.4e-4 3.42e-4,0.28924 q 0.09965,-0.17108 0.239016,-0.25238 0.139373,-0.0812 0.331141,-0.081 0.193354,2.3e-4 0.328188,0.10342 0.136421,0.10314 0.201631,0.29946 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.31164581"
+ id="path1705"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 14.742929,294.81667 v 0.81855 h -0.254937 v -2.13044 h 0.254937 v 0.23426 q 0.07993,-0.1378 0.201194,-0.20395 0.122645,-0.0675 0.292144,-0.0675 0.28112,0 0.45613,0.22324 0.176389,0.22324 0.176389,0.58705 0,0.3638 -0.176389,0.58704 -0.17501,0.22324 -0.45613,0.22324 -0.169499,0 -0.292144,-0.0661 -0.121268,-0.0675 -0.201194,-0.20533 z m 0.862652,-0.53881 q 0,-0.27975 -0.115755,-0.43822 -0.114377,-0.15985 -0.315571,-0.15985 -0.201193,0 -0.316949,0.15985 -0.114377,0.15847 -0.114377,0.43822 0,0.27974 0.114377,0.43959 0.115756,0.15847 0.316949,0.15847 0.201194,0 0.315571,-0.15847 0.115755,-0.15985 0.115755,-0.43959 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1707"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 16.276561,294.97975 -1.52e-4,-0.94031 0.251931,-0.0648 1.5e-4,0.9306 q 3.6e-5,0.22051 0.08495,0.30972 0.08491,0.0878 0.254686,0.0444 0.204008,-0.052 0.321737,-0.21413 0.119098,-0.16225 0.119061,-0.38971 l -1.43e-4,-0.88065 0.251931,-0.0648 2.51e-4,1.55331 -0.25193,0.0648 -3.9e-5,-0.23855 q -0.09172,0.16493 -0.213559,0.26548 -0.120476,0.0987 -0.280672,0.13983 -0.264253,0.0678 -0.401197,-0.0637 -0.136946,-0.13139 -0.136998,-0.45174 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1709"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 18.344702,293.59556 v 0.43822 h 0.522277 v 0.19706 h -0.522277 v 0.83784 q 0,0.18879 0.05099,0.24254 0.05237,0.0537 0.21084,0.0537 h 0.260449 v 0.21222 H 18.60653 q -0.293522,0 -0.405144,-0.10887 -0.111621,-0.11024 -0.111621,-0.39963 V 294.2308 H 17.90373 v -0.19706 h 0.186035 v -0.43822 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1711"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 20.508346,294.20141 2.1e-5,0.12482 -1.158332,0.29657 q 0.01648,0.25929 0.156153,0.36223 0.141049,0.1012 0.391609,0.037 0.145134,-0.0376 0.280676,-0.10793 0.136913,-0.0711 0.271081,-0.17758 l 4e-5,0.24133 q -0.135541,0.093 -0.277931,0.15998 -0.14239,0.0669 -0.288893,0.10441 -0.366941,0.094 -0.581938,-0.0673 -0.213628,-0.16169 -0.213688,-0.53061 -6.1e-5,-0.38138 0.202543,-0.65655 0.203972,-0.2769 0.549007,-0.36523 0.309435,-0.0789 0.488832,0.0774 0.180765,0.15485 0.18082,0.50156 z m -0.251942,-0.0103 q -0.0028,-0.2087 -0.116435,-0.30445 -0.112293,-0.0961 -0.298502,-0.0484 -0.210854,0.0537 -0.338169,0.20723 -0.125945,0.15291 -0.145079,0.37694 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1713"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 21.832517,294.2708 q -0.04272,-0.0248 -0.09371,-0.0358 -0.04961,-0.0124 -0.110243,-0.0124 -0.214974,0 -0.330729,0.14056 -0.114377,0.13918 -0.114377,0.40101 v 0.81304 h -0.254937 v -1.5434 h 0.254937 v 0.23977 q 0.07993,-0.14056 0.208084,-0.20808 0.128157,-0.0689 0.311436,-0.0689 0.02618,0 0.05788,0.004 0.03169,0.003 0.07028,0.01 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1715"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 23.185447,294.16269 -0.03488,0.23723 q -0.09833,-0.0702 -0.208837,-0.11429 -0.110508,-0.0442 -0.233212,-0.0622 -0.186783,-0.0275 -0.289279,0.016 -0.101136,0.0437 -0.117973,0.15816 -0.01283,0.0873 0.04655,0.14753 0.05959,0.0589 0.254751,0.13358 l 0.08309,0.0317 q 0.258799,0.0966 0.355164,0.21797 0.09793,0.12025 0.07046,0.30705 -0.03127,0.21268 -0.218575,0.31189 -0.185938,0.0994 -0.480428,0.0561 -0.122703,-0.018 -0.252707,-0.0622 -0.128844,-0.0426 -0.269062,-0.11204 l 0.03809,-0.25904 q 0.128445,0.0927 0.258001,0.14937 0.129765,0.0553 0.262013,0.0747 0.17724,0.0261 0.281492,-0.0199 0.104454,-0.0473 0.120693,-0.15775 0.01504,-0.10226 -0.04648,-0.16702 -0.06015,-0.0645 -0.285871,-0.14928 l -0.08424,-0.0333 q -0.225922,-0.0833 -0.314703,-0.19949 -0.08858,-0.11748 -0.06252,-0.29473 0.03167,-0.21541 0.201614,-0.31021 0.169938,-0.0948 0.450794,-0.0535 0.139065,0.0204 0.258757,0.059 0.119693,0.0385 0.217301,0.0946 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1717"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 24.74878,294.2652 c -0.08645,0.15984 -0.310959,-0.0317 -0.546114,0.002 -0.163883,0.0136 -0.286821,0.0763 -0.368812,0.1882 -0.08207,0.11097 -0.115323,0.2603 -0.09977,0.44799 0.01555,0.18768 0.07297,0.32995 0.172262,0.42682 0.09921,0.096 0.230762,0.13713 0.394645,0.12355 0.07324,-0.006 0.144777,-0.0216 0.2146,-0.0468 0.07066,-0.0261 0.140065,-0.0618 0.208213,-0.10716 l 0.01935,0.23346 c -0.06777,0.0388 -0.138962,0.0696 -0.213589,0.0923 -0.07371,0.0227 -0.153138,0.0376 -0.238284,0.0446 -0.231635,0.0192 -0.421693,-0.0383 -0.570174,-0.17261 -0.14848,-0.13426 -0.232962,-0.32499 -0.253446,-0.57219 -0.02079,-0.25087 0.03153,-0.45386 0.15695,-0.60898 0.126338,-0.1552 0.309444,-0.24274 0.549319,-0.26262 0.07782,-0.007 0.154496,-0.005 0.230021,0.006 0.07545,0.009 0.411602,0.13108 0.483843,0.15738 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1719"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccccccc" />
+ <path
+ d="m 25.665212,295.10899 c -0.1941,0.054 -0.312257,0.10596 -0.354462,0.15585 -0.04207,0.05 -0.02372,0.11001 0.05509,0.18011 0.06276,0.0559 0.140714,0.0927 0.233657,0.11026 0.09311,0.0168 0.18799,0.0117 0.284636,-0.0152 0.133445,-0.0369 0.205259,-0.0975 0.21601,-0.18141 0.01103,-0.0847 -0.04114,-0.17838 -0.156584,-0.28106 l -0.03944,-0.035 z m 0.406057,-0.19835 0.614749,0.54678 -0.240351,0.0668 -0.163556,-0.14546 c 0.01051,0.0734 -0.0093,0.13552 -0.05974,0.18624 -0.05105,0.0501 -0.135772,0.0917 -0.254165,0.1246 -0.149858,0.0416 -0.299712,0.0475 -0.450085,0.0174 -0.150056,-0.0308 -0.277153,-0.0925 -0.381061,-0.18495 -0.121229,-0.10781 -0.157762,-0.20435 -0.109641,-0.28962 0.04893,-0.0856 0.182741,-0.15865 0.401246,-0.21942 l 0.336894,-0.0937 -0.01733,-0.0154 c -0.08144,-0.0724 -0.180861,-0.11817 -0.298242,-0.1372 -0.117126,-0.0198 -0.241477,-0.0115 -0.372793,0.0251 -0.08293,0.0236 -0.157582,0.0524 -0.221976,0.0876 -0.06451,0.0351 -0.14856,0.0413 -0.191765,0.0881 l -0.133931,-0.11101 c 0.06296,-0.0467 0.129627,-0.087 0.200137,-0.12081 0.06977,-0.0345 0.143999,-0.0625 0.222273,-0.0844 0.21158,-0.0588 0.409919,-0.0669 0.595275,-0.024 0.185233,0.0428 0.360001,0.13725 0.52419,0.28329 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.23253006"
+ id="path1721"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccccccccccccccccccccccccc" />
+ <path
+ d="m 27.514831,294.15303 q -0.07262,-0.008 -0.14589,-0.003 -0.07244,0.003 -0.149744,0.0196 -0.273897,0.0573 -0.318248,0.19812 -0.04345,0.13941 0.149185,0.34445 l 0.598123,0.63668 -0.325616,0.0675 -1.135528,-1.20858 0.325618,-0.0675 0.176372,0.18775 q -0.0015,-0.13134 0.112216,-0.21833 0.112555,-0.0882 0.346309,-0.13692 0.03338,-0.007 0.07681,-0.0122 0.04272,-0.006 0.09681,-0.011 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.28914016"
+ id="path1723"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 29.829991,294.7366 -0.03251,0.15157 -1.417574,0.51715 c -0.03183,0.20931 -0.06171,0.2588 0.03299,0.33709 0.09614,0.0769 0.250962,0.0847 0.4644,0.0235 0.123539,-0.0353 0.246115,-0.0844 0.367797,-0.14616 0.122862,-0.0626 0.436317,-0.24472 0.563082,-0.33579 l -0.06292,0.29303 c -0.125473,0.08 -0.440245,0.25527 -0.566758,0.31469 -0.126529,0.0595 -0.252137,0.10689 -0.376829,0.14248 -0.312299,0.0895 -0.541189,0.0726 -0.68673,-0.05 -0.144224,-0.12314 -0.184296,-0.33401 -0.120205,-0.63263 0.06633,-0.30874 0.205047,-0.57813 0.416353,-0.80822 0.2127,-0.23151 0.465908,-0.38927 0.759628,-0.47325 0.263361,-0.075 0.453823,-0.0528 0.571414,0.0673 0.118947,0.11873 0.148245,0.31851 0.088,0.59916 z m -0.302126,9.4e-4 c 0.03399,-0.16883 0.01353,-0.28996 -0.06155,-0.36331 -0.07392,-0.0737 -0.190046,-0.0879 -0.348571,-0.0426 -0.179422,0.0516 -0.333913,0.14131 -0.463289,0.26992 -0.12818,0.12834 -0.07254,0.22521 -0.12693,0.40723 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.31916848"
+ id="path1725"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccscccsscscscccccsccc"
+ inkscape:transform-center-x="0.23386084"
+ inkscape:transform-center-y="0.14031651" />
+ </g>
+ <g
+ id="g9547"
+ transform="matrix(0.08836158,-0.05917659,0,0.23311691,0.11674111,292.05958)">
+ <g
+ style="display:inline"
+ inkscape:label="Layer 1"
+ id="layer4" />
+ <path
+ id="rect5872"
+ d="M 10.9608,0.03415352 26.864657,2.0426947 V 6.0384555 L 10.9608,4.0299144 Z"
+ style="opacity:1;fill:#0f0f00;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5874"
+ d="m 16.294412,2.0463977 7.95193,1.0042708 v 1.331921 l -7.95193,-1.0042708 z"
+ style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5878"
+ d="M 45.461738,4.3913703 29.561807,2.383325 v 3.9957609 l 15.899931,2.0080452 z"
+ style="opacity:1;fill:#0c0c00;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5880"
+ d="M 40.129441,5.056588 33.818402,4.4686058 v 1.331921 l 6.311039,0.5879822 z"
+ style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5882"
+ d="m 26.896986,7.3907034 2.650644,0.334757 v 3.9957616 l -2.650644,-0.334757 z"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5884"
+ d="m 28.67503,10.167793 5.132631,0.968934 v 1.33192 L 28.67503,11.499713 Z"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5886"
+ d="m 10.896149,10.713841 5.365938,0.677679 v 2.663842 l -5.365938,-0.677679 z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5888"
+ d="m 42.768522,14.739089 5.365935,0.677679 v 2.663842 l -5.365935,-0.677679 z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5890"
+ d="m 16.262087,11.39152 26.571083,3.355734 v 1.33192 L 16.262087,12.72344 Z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ style="fill:#232224;fill-opacity:1;stroke:none;stroke-width:0.45396167;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 15.875695,208.46838 -2.140959,-1.27492 0.05706,3.66931 -0.03904,5.83331 2.157977,1.62419 z"
+ id="path890"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:#626262;fill-opacity:1;stroke:none;stroke-width:0.53296405;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 2.1729618,218.74555 -2.18157457,-2.10375 13.79446877,0.0312 2.125859,1.65541 c -4.541363,0.0382 -9.1972793,0.39611 -13.7387532,0.41714 z"
+ id="path892"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="cccccc"
+ inkscape:connector-curvature="0"
+ id="path873"
+ d="m 1.1094411,206.11319 1.0068811,-0.0793 4.8564349,0.67614 -1.3820584,1.89778 -5.58532408,-1.42243 z"
+ style="fill:#626262;fill-opacity:1;stroke:none;stroke-width:0.53296405;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccccc"
+ inkscape:connector-curvature="0"
+ id="path875"
+ d="m 12.21722,200.01556 -1.378965,-2.08751 2.256069,12.63711 0.90751,-1.44959 -1.20706,-1.83862 z"
+ style="fill:#232224;fill-opacity:1;stroke:none;stroke-width:0.45396167;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:#fafafa;fill-opacity:1;stroke:none;stroke-width:0.40790954;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 13.7771,216.68913 -13.74179493,-0.0661 -0.03307292,-20.16465 10.87037685,1.97236 1.879558,8.49006 1.011234,0.29029 z"
+ id="rect888"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.60415155;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 2.8116181,197.81318 c -0.8455277,0.54568 -2.15847778,1.86463 -2.00648426,3.45767 0.65450846,-0.004 2.46770036,-1.78722 2.24591896,0.20337 -0.666147,1.02785 -1.43313,1.92052 -1.9286598,3.21733"
+ id="path1627"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.60415155;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 5.1344262,199.93749 c -1.1759835,-0.58652 -1.3074991,3.46943 -0.3776831,4.1823 1.1475244,0.95584 1.6993175,-1.34544 1.3585994,-2.87017 0.00623,-1.06059 -1.3249033,-2.8149 -1.3730611,-0.90638"
+ id="path1629"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.60415155;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 7.0496386,197.86547 c 0,2.12694 0,4.25386 0,6.38081"
+ id="path1631"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.6756435;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 8.7163688,198.98001 c -0.7974259,1.80914 1.6179202,3.67489 1.5707702,1.10609 -0.04253,-1.17889 -0.29068,-1.55006 -0.08831,-0.20433 0.226936,1.45165 0.487174,3.68658 -0.7643191,4.3504 -0.4498329,0.23654 -1.020826,0.2271 -1.3812147,-0.27926"
+ id="path1633"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.35499159px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 0.71211567,206.18569 c -0.19802439,2.21138 0.39257783,4.70592 0.44016793,6.87993 l -0.039546,0.19239 -0.078329,0.10208"
+ id="path1635"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.35499159px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 0.3155751,205.65794 c 0.934824,-0.76178 1.9529619,1.90445 1.0064443,2.68391 -0.1168725,0.11132 -0.2624111,0.11804 -0.37909283,9e-5"
+ id="path1637"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.29588765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 2.6300384,209.08037 c 1.5418737,0.49796 1.3904683,-0.82278 -0.3484038,-0.82977 0.037873,0.46368 0.4186778,2.18135 1.465247,1.58792"
+ id="path1639"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.33277225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.8820896,205.82544 c -0.826469,0.69564 -0.149961,3.24171 0.456413,1.6421 0.381007,-0.87559 -1.066161,-2.44843 -0.193667,-1.08204 0.357469,0.91404 0.358927,3.10915 0.625949,3.38408 0.159718,-0.42731 0.180628,-0.9558 0.374105,-1.35458"
+ id="path1641"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.25685027;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 5.2537713,205.95542 c -0.2940821,2.56689 1.2401421,3.41123 0.7649684,0.28878 l -0.014692,-0.31661 -0.00637,-0.31493"
+ id="path1643"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.23246273;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 6.7109315,206.6077 c 1.5829777,6.4e-4 -0.2147854,-2.80223 -0.1281081,-0.51064 -8.09e-5,0.91101 0.1729474,2.29723 0.8218351,1.96305"
+ id="path1645"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.2962372;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 8.0097387,205.59601 c 0.042729,1.18707 -0.054676,5.37041 -0.00833,2.22833 0.179647,-2.65929 1.2399712,-1.72224 0.9781552,0.98487 -0.00601,0.40209 0.036219,1.30448 -0.1541278,1.30053"
+ id="path1648"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.33577365;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 10.729728,206.00221 c -1.4925921,-0.61676 -1.627078,3.60382 -0.01589,2.99222 l 0.259195,-0.0906"
+ id="path1650"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.39676842px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 11.252094,207.89596 c 0.576519,0.91086 1.176054,-1.33663 0.355682,-1.49446 -0.683905,0.56373 -0.251284,3.80213 0.475209,3.06977"
+ id="path1654"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.27500001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 12.495165,207.68536 c 0.08155,1.77706 0.217194,5.94542 0.27671,1.85978 -0.03845,-1.23262 0.665576,-2.46324 0.644736,-0.70153"
+ id="path1656"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.28861994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.0836878,220.27173 c -0.0814,0.52459 -0.060991,1.04971 -0.059031,1.57513 0.1564184,0.0683 0.3039006,0.32754 0.6521662,0.22316"
+ id="path878"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.66578078px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.4287563,219.92988 c -0.071878,-0.0983 -0.1437514,-0.1965 -0.2156277,-0.29475"
+ id="path880"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.33870441px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 5.0082081,219.94329 c -0.036028,0.65341 0.044072,1.3072 0.1782408,1.95529 0.00522,0.0728 -0.010421,0.35039 -0.026556,0.14689 -0.072506,-0.25278 -0.1735132,-0.50353 -0.1962996,-0.76093 -0.04263,-0.2971 -0.021933,-0.59585 0.01802,-0.89217 0.00443,-0.23047 -0.1117492,-0.47801 0.054518,-0.69597 0.1694239,-0.13388 0.4803815,-0.0664 0.6921305,-0.0146 0.4013802,0.10402 0.5003542,0.39355 0.5487257,0.62911 0.032613,0.22884 0.099401,0.45521 0.088449,0.6855 0.00617,0.37747 0.096748,0.75125 0.1723549,1.12492 0.00774,0.0339 -0.00406,0.0678 -0.00558,0.10174"
+ id="path882"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.33870441px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 8.382739,223.21153 c 0.047823,-0.61032 -0.4166338,-1.18137 -0.4437309,-1.78962 -0.1562586,-0.61478 -0.4313906,-1.26478 -0.2973855,-1.87031 0.7290356,0.27312 1.5385827,0.582 1.9306415,1.08123 0.6108979,0.37408 -0.1134002,0.81899 -0.8180991,0.60632 -0.2668374,0.0146 -0.5439416,0.0869 -0.8068549,0.0181"
+ id="path884"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.3623476px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 10.573535,219.65318 c 0.0024,0.45072 -0.0046,0.90145 0.003,1.35216 0.18021,0.23021 0.403964,0.44675 0.558954,0.68217 0.112119,0.18963 0.425715,0.12429 0.368139,-0.0656 0.195838,-0.23747 0.131491,-0.51343 0.142698,-0.7718 0.0037,-0.34219 0.09668,-0.68261 0.04718,-1.02713 -0.04899,-0.26698 -0.07205,0.15913 0.04682,0.24756 0.07978,0.53184 0.15333,1.06577 0.287924,1.59446 0.07478,0.16006 0.188929,0.31588 0.205143,0.48386"
+ id="path886"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.30707172px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 13.384908,219.20166 c 0.203265,1.01892 1.074412,1.97363 0.948718,3.01822 l -0.07075,0.11513"
+ id="path888"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.30707172px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 12.67147,219.81284 c 0.823667,0.0157 1.674547,-0.0614 2.469754,0.10794"
+ id="path891"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.38060996px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 2.6380907,250.95349 c -0.064993,0.74381 -0.022214,2.09254 0.6360114,2.30655 0.1615959,-0.31892 0.1122869,-1.41269 0.5071782,-0.63167 0.1691233,0.44428 0.9261278,0.98885 0.7567515,0.0688 -0.062623,-0.72331 -0.4368011,-1.34192 -0.542,-2.05264"
+ id="path933"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.38060996px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 5.3977697,250.17838 c 0.1515243,0.78133 -0.4324702,2.72225 -0.00488,3.34466 0.2539862,-0.25403 0.6193806,-1.23577 0.5555939,-0.73645 0.022021,0.38767 -0.010437,0.77689 0.01874,1.16421"
+ id="path935"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.38060996px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 7.4127734,252.34864 c -0.6814068,-0.56659 -0.9287937,0.98491 -0.3203067,1.21842 0.3457202,-0.0544 0.1970661,-1.48125 0.5854079,-0.71254 0.081461,0.23126 0.1534676,0.48014 0.129142,0.73442"
+ id="path937"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.30504221px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 8.925704,251.46522 c 0.011876,0.75986 -0.082318,1.51742 -0.1322538,2.27566"
+ id="path939"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.30504221px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 8.1321834,252.3227 c 0.5736132,-0.0234 1.1460005,0.03 1.7192965,0.033"
+ id="path941"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.36812016px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 11.529772,252.43643 c -0.451331,-0.4463 -1.126724,0.12446 -1.045907,0.82423 0.101079,0.42342 0.681047,0.90512 0.0192,0.98372 -0.07664,0.0266 -0.154174,0.0484 -0.231771,0.0697"
+ id="path943"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.30504221px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 12.276124,252.58803 c 0,0.56066 0,1.12133 0,1.68199"
+ id="path945"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.30504221px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 11.570772,253.34658 c 0.48493,0 0.969859,0 1.454789,0"
+ id="path947"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.36740503px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 13.483745,253.50664 c 0.734015,0.31023 0.315102,-1.48666 -0.0508,-0.67167 -0.02035,0.52544 0.137977,1.43168 0.709033,1.28722"
+ id="path949"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.36429957px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 14.79555,254.45133 c -0.504086,-0.577 -0.309243,-1.92546 0.302655,-2.21867 0.368049,0.31408 0.0293,1.07258 -0.384569,1.00441"
+ id="path951"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.30504221px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.8445573,255.09341 c -6e-5,0.41771 9.08e-5,0.83541 0,1.25311"
+ id="path953"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.30504221px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.551289,254.74231 c 0.1585893,0.0781 0.2775687,-0.16985 0.4255221,-0.14362"
+ id="path957"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.30504221px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 4.9466692,254.40082 c 0.2229155,0.54551 -0.3395449,1.16102 0.135265,1.6646 0.1039566,0.088 0.246037,0.146 0.3937594,0.1821"
+ id="path959"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.30504221px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 4.5058244,255.15937 c 0.4555396,0 0.9110791,0 1.3666187,0"
+ id="path961"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.30504221px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 7.2831463,255.25831 c -0.7959951,-0.25723 -0.7158936,0.5229 -0.5494473,0.85345 -0.1138271,0.16086 -0.4090092,0.09 -0.5967554,0.07"
+ id="path963"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.44280794px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 9.3356866,254.84388 c -1.1291446,-0.33089 -0.534985,1.70389 0.128701,0.93518 0.07346,-0.31357 0.0115,-0.64403 -0.128701,-0.93518 z"
+ id="path965"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.42866045px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 10.423441,254.62585 c -0.217659,0.28593 -0.212537,2.38973 0.361024,0.54333 0.636876,-0.50558 0.840328,1.00834 0.292072,1.24519"
+ id="path967"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;stroke:#585858;stroke-width:0.45176771px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 2.8905938,257.26963 c 0,0.60557 0,1.21115 0,1.81672"
+ id="path969"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#585858;stroke-width:0.27024093px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 4.1246763,258.09747 c 0.3897109,-10e-6 0.7794214,-10e-6 1.169132,0"
+ id="path971"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#585858;stroke-width:0.252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 7.5447786,257.34215 c -0.9654836,-0.17879 -1.2100077,0.47158 -0.5515295,0.73354 0.4462201,0.16845 1.0804473,0.82094 0.00939,0.63895 -0.946081,-0.31247 0.09619,-0.7317 0.6546603,-0.93264 0.2439913,-0.13505 0.2083943,-0.34833 -0.1125159,-0.43985 z"
+ id="path973"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#585858;stroke-width:0.29085138px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 10.381016,257.46129 c -0.30176,-0.85354 -1.2367587,1.982 0.234546,0.57278 -0.6846658,-1.41323 0.535507,0.39935 0.473859,0.55274 0.155046,0.3485 -0.24995,0.66457 -0.763448,0.50445"
+ id="path977"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#585858;stroke-width:0.24730319px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 11.94493,258.19202 c 0.285628,0 0.571257,0 0.856884,0"
+ id="path979"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#585858;stroke-width:0.34039551px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 13.418529,256.40315 c -0.05385,0.58148 0.110282,1.94477 -0.08702,2.51206"
+ id="path981"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#585858;stroke-width:0.34039551px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 15.071771,257.20914 c -0.65677,-0.19168 -1.043095,0.57137 -0.936417,1.10001 -0.18685,0.73063 1.035432,1.0452 1.012765,0.25482 -0.203001,-0.28931 -0.587313,-0.44638 -0.946448,-0.39759"
+ id="path983"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/res/ComputerscareTolyPoolsPanel.svg b/res/ComputerscareTolyPoolsPanel.svg
@@ -0,0 +1,624 @@
+<?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="60"
+ height="380"
+ viewBox="0 0 15.875 100.54167"
+ version="1.1"
+ id="svg8"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="ComputerscareTolyPoolsPanel.svg"
+ style="enable-background:new">
+ <defs
+ id="defs2" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="16"
+ inkscape:cx="29.296875"
+ inkscape:cy="229.23438"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g1669"
+ showgrid="false"
+ units="px"
+ inkscape:snap-bbox="true"
+ inkscape:snap-page="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:window-width="1440"
+ inkscape:window-height="856"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:snap-global="false"
+ showguides="false"
+ inkscape:lockguides="false" />
+ <metadata
+ id="metadata5">
+ <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="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-196.45832)"
+ style="display:none">
+ <path
+ style="opacity:1;vector-effect:none;fill:#f0f0f0;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.48607069;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ d="M 0,196.45831 H 23.8125 V 296.99999 H 0 Z"
+ id="rect817"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ x="8.2147436"
+ y="295.57718"
+ id="text1490"
+ transform="rotate(1.4468834)"><tspan
+ sodipodi:role="line"
+ id="tspan1488"
+ x="8.2147436"
+ y="295.57718"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">computerscare</tspan></text>
+ <text
+ transform="rotate(-5.9989835)"
+ id="text1494"
+ y="288.0314"
+ x="-28.710276"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ y="288.0314"
+ x="-28.710276"
+ id="tspan1492"
+ sodipodi:role="line">trg</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ x="20.711658"
+ y="288.87244"
+ id="text1498"
+ transform="rotate(1.9714728)"><tspan
+ sodipodi:role="line"
+ id="tspan1496"
+ x="20.711658"
+ y="288.87244"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">in</tspan></text>
+ <text
+ transform="rotate(0.49746114)"
+ id="text1521"
+ y="289.16214"
+ x="20.314623"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.17499995px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ y="289.16214"
+ x="20.314623"
+ id="tspan1519"
+ sodipodi:role="line">clr</tspan></text>
+ <text
+ transform="matrix(1.0139335,-0.02825079,0.06854811,0.98434808,0,0)"
+ id="text1645"
+ y="204.61243"
+ x="-10.296249"
+ style="font-style:normal;font-weight:normal;font-size:10.74719143px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26867977"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01535606px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26867977"
+ y="204.61243"
+ x="-10.296249"
+ id="tspan1643"
+ sodipodi:role="line">debug</tspan></text>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="bg" />
+ <g
+ style="display:inline"
+ transform="translate(0,-196.45832)"
+ id="g1669"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1 copy">
+ <path
+ inkscape:connector-curvature="0"
+ id="path1647"
+ d="m 0,198.04581 h 14.364523 l -0.738749,15.65303 0.93662,65.71451 0.765887,10.38104 0.545761,7.21128 L 0,296.99999 Z"
+ style="opacity:1;vector-effect:none;fill:#e6e7e8;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.26300001;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ sodipodi:nodetypes="cccccccc" />
+ <g
+ aria-label="computerscare"
+ transform="matrix(0.579664,-0.0209809,0.12827949,1.4870391,-42.202497,-142.90507)"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ id="text1651">
+ <path
+ d="m 9.6564066,294.11837 -0.022491,0.23707 q -0.1028223,-0.0489 -0.2099211,-0.0673 -0.1055806,-0.0199 -0.2168506,-0.009 -0.2488775,0.0238 -0.4014201,0.19401 -0.1524199,0.16888 -0.1792271,0.45145 -0.026804,0.28254 0.095932,0.42654 0.1228661,0.14262 0.371738,0.11887 0.1112317,-0.0106 0.2224055,-0.0498 0.1127112,-0.0408 0.2267849,-0.11044 l -0.022229,0.23431 q -0.111772,0.0599 -0.2295122,0.0956 -0.1163563,0.0357 -0.2456588,0.048 -0.3517468,0.0335 -0.5381239,-0.16582 -0.1863704,-0.19938 -0.1510635,-0.57153 0.035829,-0.37767 0.2649098,-0.61397 0.2304697,-0.23642 0.5947391,-0.27118 0.1181718,-0.0112 0.2283935,0.003 0.110394,0.0127 0.2114822,0.0509 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1701"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 10.696255,294.13661 q -0.205776,0.0197 -0.340506,0.19093 -0.134608,0.16992 -0.160888,0.44696 -0.02628,0.27705 0.07673,0.42565 0.104532,0.1471 0.311691,0.12734 0.204372,-0.0195 0.339118,-0.1908 0.134737,-0.1713 0.160888,-0.44696 0.02602,-0.27428 -0.07838,-0.42277 -0.10427,-0.14986 -0.308651,-0.13035 z m 0.0204,-0.21501 q 0.333675,-0.0318 0.503758,0.16499 0.170076,0.19686 0.133987,0.57727 -0.03596,0.37905 -0.246966,0.61361 -0.210875,0.23319 -0.544555,0.26503 -0.335078,0.032 -0.505151,-0.16486 -0.1685548,-0.19836 -0.1325956,-0.5774 0.036091,-0.38042 0.2455756,-0.61348 0.210875,-0.23319 0.545947,-0.26516 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1703"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 13.143759,294.1394 q 0.109103,-0.20599 0.261143,-0.30389 0.152033,-0.0979 0.358066,-0.0977 0.277351,3.4e-4 0.428154,0.205 0.150801,0.203 0.151243,0.57869 l 0.0013,1.12376 -0.2932,-3.3e-4 -0.0013,-1.1138 q -3.15e-4,-0.26763 -0.0908,-0.39742 -0.0905,-0.12977 -0.275921,-0.13 -0.226635,-2.7e-4 -0.357993,0.15747 -0.131357,0.15777 -0.131036,0.4304 l 0.0012,1.05229 -0.2932,-3.4e-4 -0.0013,-1.1138 q -3.17e-4,-0.2693 -0.0908,-0.39742 -0.0905,-0.12976 -0.279091,-0.13 -0.223465,-2.8e-4 -0.354821,0.15914 -0.131357,0.15777 -0.131039,0.42874 l 0.0012,1.05227 -0.293194,-3.3e-4 -0.0022,-1.86186 0.293199,3.4e-4 3.42e-4,0.28924 q 0.09965,-0.17108 0.239016,-0.25238 0.139373,-0.0812 0.331141,-0.081 0.193354,2.3e-4 0.328188,0.10342 0.136421,0.10314 0.201631,0.29946 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.31164581"
+ id="path1705"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 14.742929,294.81667 v 0.81855 h -0.254937 v -2.13044 h 0.254937 v 0.23426 q 0.07993,-0.1378 0.201194,-0.20395 0.122645,-0.0675 0.292144,-0.0675 0.28112,0 0.45613,0.22324 0.176389,0.22324 0.176389,0.58705 0,0.3638 -0.176389,0.58704 -0.17501,0.22324 -0.45613,0.22324 -0.169499,0 -0.292144,-0.0661 -0.121268,-0.0675 -0.201194,-0.20533 z m 0.862652,-0.53881 q 0,-0.27975 -0.115755,-0.43822 -0.114377,-0.15985 -0.315571,-0.15985 -0.201193,0 -0.316949,0.15985 -0.114377,0.15847 -0.114377,0.43822 0,0.27974 0.114377,0.43959 0.115756,0.15847 0.316949,0.15847 0.201194,0 0.315571,-0.15847 0.115755,-0.15985 0.115755,-0.43959 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1707"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 16.276561,294.97975 -1.52e-4,-0.94031 0.251931,-0.0648 1.5e-4,0.9306 q 3.6e-5,0.22051 0.08495,0.30972 0.08491,0.0878 0.254686,0.0444 0.204008,-0.052 0.321737,-0.21413 0.119098,-0.16225 0.119061,-0.38971 l -1.43e-4,-0.88065 0.251931,-0.0648 2.51e-4,1.55331 -0.25193,0.0648 -3.9e-5,-0.23855 q -0.09172,0.16493 -0.213559,0.26548 -0.120476,0.0987 -0.280672,0.13983 -0.264253,0.0678 -0.401197,-0.0637 -0.136946,-0.13139 -0.136998,-0.45174 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1709"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 20.086285,293.97598 v 0.43822 h 0.522277 v 0.19706 h -0.522277 v 0.83784 q 0,0.18879 0.05099,0.24254 0.05237,0.0537 0.21084,0.0537 h 0.260449 v 0.21222 h -0.260451 q -0.293522,0 -0.405144,-0.10887 -0.111621,-0.11024 -0.111621,-0.39963 v -0.83784 h -0.186035 v -0.19706 h 0.186035 v -0.43822 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1711"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 19.519797,294.54331 2.1e-5,0.12482 -1.158332,0.29657 q 0.01648,0.25929 0.156153,0.36223 0.141049,0.1012 0.391609,0.037 0.145134,-0.0376 0.280676,-0.10793 0.136913,-0.0711 0.271081,-0.17758 l 4e-5,0.24133 q -0.135541,0.093 -0.277931,0.15998 -0.14239,0.0669 -0.288893,0.10441 -0.366941,0.094 -0.581938,-0.0673 -0.213628,-0.16169 -0.213688,-0.53061 -6.1e-5,-0.38138 0.202543,-0.65655 0.203972,-0.2769 0.549007,-0.36523 0.309435,-0.0789 0.488832,0.0774 0.180765,0.15485 0.18082,0.50156 z m -0.251942,-0.0103 q -0.0028,-0.2087 -0.116435,-0.30445 -0.112293,-0.0961 -0.298502,-0.0484 -0.210854,0.0537 -0.338169,0.20723 -0.125945,0.15291 -0.145079,0.37694 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1713"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 21.832517,294.2708 q -0.04272,-0.0248 -0.09371,-0.0358 -0.04961,-0.0124 -0.110243,-0.0124 -0.214974,0 -0.330729,0.14056 -0.114377,0.13918 -0.114377,0.40101 v 0.81304 h -0.254937 v -1.5434 h 0.254937 v 0.23977 q 0.07993,-0.14056 0.208084,-0.20808 0.128157,-0.0689 0.311436,-0.0689 0.02618,0 0.05788,0.004 0.03169,0.003 0.07028,0.01 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1715"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 23.185447,294.16269 -0.03488,0.23723 q -0.09833,-0.0702 -0.208837,-0.11429 -0.110508,-0.0442 -0.233212,-0.0622 -0.186783,-0.0275 -0.289279,0.016 -0.101136,0.0437 -0.117973,0.15816 -0.01283,0.0873 0.04655,0.14753 0.05959,0.0589 0.254751,0.13358 l 0.08309,0.0317 q 0.258799,0.0966 0.355164,0.21797 0.09793,0.12025 0.07046,0.30705 -0.03127,0.21268 -0.218575,0.31189 -0.185938,0.0994 -0.480428,0.0561 -0.122703,-0.018 -0.252707,-0.0622 -0.128844,-0.0426 -0.269062,-0.11204 l 0.03809,-0.25904 q 0.128445,0.0927 0.258001,0.14937 0.129765,0.0553 0.262013,0.0747 0.17724,0.0261 0.281492,-0.0199 0.104454,-0.0473 0.120693,-0.15775 0.01504,-0.10226 -0.04648,-0.16702 -0.06015,-0.0645 -0.285871,-0.14928 l -0.08424,-0.0333 q -0.225922,-0.0833 -0.314703,-0.19949 -0.08858,-0.11748 -0.06252,-0.29473 0.03167,-0.21541 0.201614,-0.31021 0.169938,-0.0948 0.450794,-0.0535 0.139065,0.0204 0.258757,0.059 0.119693,0.0385 0.217301,0.0946 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
+ id="path1717"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 25.11943,294.27043 c -0.102397,0.15961 -0.410232,-0.0331 -0.716476,-4e-4 -0.214108,0.0129 -0.371096,0.0751 -0.470954,0.18675 -0.100025,0.11072 -0.133343,0.26005 -0.09997,0.44799 0.03337,0.18793 0.118548,0.3306 0.255532,0.428 0.136817,0.0965 0.312282,0.13828 0.526391,0.12541 0.09569,-0.006 0.188485,-0.021 0.278366,-0.0459 0.09092,-0.0258 0.179524,-0.0613 0.265815,-0.10635 l 0.04152,0.23377 c -0.08625,0.0385 -0.177538,0.0691 -0.273896,0.0915 -0.09515,0.0224 -0.19835,0.037 -0.309596,0.0436 -0.302626,0.0182 -0.555994,-0.0402 -0.760111,-0.17529 -0.204112,-0.13504 -0.328148,-0.32633 -0.372106,-0.57386 -0.04461,-0.25121 0.01002,-0.45416 0.163875,-0.60888 0.155059,-0.1548 0.389283,-0.24162 0.702675,-0.26046 0.101632,-0.007 0.202385,-0.004 0.302249,0.007 0.09963,0.009 0.549163,0.13302 0.645775,0.15967 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.30319679"
+ id="path1719"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccccccc" />
+ <path
+ d="m 31.511732,294.08408 q -0.06501,-0.0361 -0.153385,-0.0526 -0.08496,-0.0185 -0.197732,-0.019 -0.399758,-0.002 -0.696989,0.20027 -0.293852,0.20022 -0.446546,0.57887 l -0.474204,1.17577 -0.474067,-0.002 0.900018,-2.23198 0.474069,0.002 -0.139856,0.34673 q 0.230604,-0.20254 0.508297,-0.29903 0.278536,-0.0986 0.619338,-0.0969 0.04869,2.4e-4 0.105286,0.006 0.05701,0.005 0.124855,0.015 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.43431306"
+ id="path1723"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 34.058987,294.84672 -0.06831,0.16867 -2.094926,0.125 c -0.07574,0.23746 -0.125519,0.2859 -0.002,0.4115 0.125885,0.12443 0.345235,0.18713 0.657997,0.1883 0.181166,6.7e-4 0.362902,-0.0148 0.545293,-0.0467 0.184101,-0.0319 0.657221,-0.13998 0.851064,-0.20437 l -0.132214,0.32613 c -0.190493,0.0519 -0.664371,0.15127 -0.853251,0.17808 -0.188867,0.0269 -0.374766,0.0399 -0.557609,0.0392 -0.458036,-0.002 -0.781695,-0.1005 -0.971045,-0.29646 -0.187608,-0.19592 -0.214061,-0.46006 -0.07935,-0.79243 0.139379,-0.3436 0.37614,-0.61553 0.710646,-0.81577 0.336699,-0.20146 0.720395,-0.30138 1.151087,-0.29977 0.386257,10e-4 0.654342,0.0939 0.804314,0.27706 0.152165,0.18202 0.164942,0.42922 0.03833,0.74159 z m -0.430709,-0.10292 c 0.07293,-0.18867 0.06139,-0.33951 -0.03491,-0.45249 -0.09454,-0.113 -0.258066,-0.1699 -0.490498,-0.17078 -0.263203,-9.9e-4 -0.49635,0.0527 -0.699318,0.1607 -0.201304,0.10811 -0.136066,0.2423 -0.24003,0.43962 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.42118588"
+ id="path1725"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccscccsscscscccccsccc" />
+ <g
+ aria-label="A"
+ transform="matrix(0.48618078,-0.06197495,-0.10186543,0.19776824,49.767106,203.9546)"
+ style="font-style:normal;font-weight:normal;font-size:11.38141251px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0752833"
+ id="text2321">
+ <path
+ d="m 53.927759,473.1298 -1.522708,4.12909 h 3.050974 z m -0.633535,-1.10591 h 1.272628 l 3.162121,8.29709 h -1.167039 l -0.755797,-2.12845 h -3.740083 l -0.755797,2.12845 h -1.183712 z"
+ style="stroke-width:0.0752833"
+ id="path2323"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ <g
+ id="g9547"
+ transform="matrix(0.21334155,-0.05917659,0,0.23311691,-1.9826542,289.22115)">
+ <g
+ style="display:inline"
+ inkscape:label="Layer 1"
+ id="layer4" />
+ <path
+ id="rect5872"
+ d="m 11.987289,9.3234482 h 7.991524 v 3.9957608 h -7.991524 z"
+ style="opacity:1;fill:#0f0f00;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5874"
+ d="m 14.667374,10.662096 h 3.995763 v 1.331921 h -3.995763 z"
+ style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5878"
+ d="m -29.323654,9.3234482 h 7.989551 v 3.9957608 h -7.989551 z"
+ style="opacity:1;fill:#0c0c00;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ transform="scale(-1,1)"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5880"
+ d="m 26.64423,10.662096 -3.171232,0.209056 v 1.331921 l 3.171232,-0.209056 z"
+ style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5882"
+ d="m 19.995058,14.667374 h 1.331921 v 3.995762 h -1.331921 z"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5884"
+ d="m 20.888507,17.21991 2.579094,0.32072 v 1.33192 l -2.579094,-0.32072 z"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5886"
+ d="m 11.954803,20.011301 h 2.696328 v 2.663842 h -2.696328 z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5888"
+ d="m 27.970341,20.011301 h 2.696327 v 2.663842 h -2.696327 z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5890"
+ d="m 14.651131,20.011301 h 13.351695 v 1.33192 H 14.651131 Z"
+ style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ style="fill:#232125;fill-opacity:1;stroke:none;stroke-width:0.36093959;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 2.0866913,196.46789 -2.08978901,1.62471 0.00767616,5.15807 1.12248295,-0.6518 1.0170942,-0.0902 z"
+ id="path890"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:#6c687b;fill-opacity:1;stroke:none;stroke-width:0.42375344;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 8.1851814,228.93675 -0.1186011,-0.0832 7.3180237,-1.12413 -1.594499,0.81582 -5.7623285,1.08553 z"
+ id="path892"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ sodipodi:nodetypes="cccccc"
+ inkscape:connector-curvature="0"
+ id="path873"
+ d="m 1.1094411,202.5618 1.0068811,-0.0501 4.8564349,0.42743 -1.3820584,1.19971 -5.58532408,-0.89921 z"
+ style="fill:#6c687b;fill-opacity:1;stroke:none;stroke-width:0.42375344;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ inkscape:connector-curvature="0"
+ id="path875"
+ d="m 6.9903212,202.91281 -1.4200624,1.22577 1.3983993,8.33223 1.2236518,1.52633 -2.0151576,4.22399 1.7741297,11.30472 0.1157863,0.0977 0.1440578,-0.74758 L 8.0642118,221.97158 7.793,217.15828 8.8048239,213.97742 7.5281627,212.4581 Z"
+ style="fill:#2e2d30;fill-opacity:1;stroke:none;stroke-width:0.36093959;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:#b3b0b0;fill-opacity:1;stroke:none;stroke-width:0.37162125;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 2.0835936,196.45833 H 15.874998 l 0.0086,15.03248 -0.504652,16.2557 -7.1863649,1.10259 -0.3976617,-11.63602 1.0075295,-3.23552 -1.2763978,-1.55888 -0.5313382,-9.47472 -4.8643051,-0.42375 z"
+ id="rect888"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.11629593;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 4.5077403,197.29795 c 0.062112,0.68008 -0.330627,1.37509 0.5847539,2.01495 -0.00902,0.53789 0.709835,1.02975 0.7784181,1.56027 0.033877,0.27975 0.1465594,0.56165 0.2060983,0.83802"
+ id="path876"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.84216493;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 2.6243731,197.34056 c 1.4856967,0 2.9713933,0 4.4570901,0"
+ id="path878"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#25273b;stroke-width:0.81431049;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 8.8769792,197.52737 c -1.058207,0.071 -0.6759655,1.10638 -0.2409401,1.51657 0.3289056,0.47938 1.8111899,1.14198 2.0713619,0.43846 0.332349,-0.44089 0.48435,-1.13184 -0.132187,-1.5141 -0.504248,-0.22875 -1.1268418,-0.29918 -1.6982348,-0.44093 z"
+ id="path880"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#25273b;stroke-width:0.76312572;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 11.357361,196.86136 c 0.104462,0.46676 0.601754,0.89056 0.643364,1.36289 0.239534,0.20302 0.231617,0.4471 0.21819,0.67485 0.143541,0.24342 0.0541,1.16184 0.177876,1.40606"
+ id="path882"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.57034051;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 13.274673,197.32724 c 0.611505,0.73907 1.301016,2.83428 1.437623,1.94613 0.04529,-0.38054 -0.06776,-1.46995 -0.0075,-1.49744 -1.6e-5,1.04235 8e-5,2.08477 9e-6,3.12707 -0.01972,0.16988 -0.07587,0.28837 -0.160908,0.35559 -0.124044,0.098 -0.309565,0.0869 -0.533185,-0.0329"
+ id="path884"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccsc" />
+ <path
+ style="fill:none;stroke:#11140d;stroke-width:0.50122505;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 8.1981419,204.29967 c -0.2105388,-0.32489 -0.030897,-0.98278 -0.1881596,-1.47093 -0.03393,-0.63133 -0.6039392,-1.60955 0.2716579,-1.91608 0.4902335,-0.4569 1.2499372,0.0427 0.7555287,0.8563 -0.2320659,0.45123 -0.651797,0.57673 -1.0262416,0.53876"
+ id="path886"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;stroke:#11140d;stroke-width:0.50122505;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 10.182645,202.77955 c -0.4826948,0.0875 -0.2813297,1.82506 0.360901,1.35606 0.729073,0.28087 0.587515,-1.85206 -0.170341,-1.49065 -0.07136,0.016 -0.139151,0.0633 -0.19056,0.13459 z"
+ id="path888"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#11140d;stroke-width:0.36998907;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 11.952404,202.02293 c -0.193618,0.75272 0.04659,2.53343 0.621154,1.56145 0.35805,-0.77272 -0.279114,-2.42655 -0.687455,-1.75631 l 0.06632,0.19486 z"
+ id="path891"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#11140d;stroke-width:0.36998907;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 13.018716,200.58319 c -0.0011,1.14105 0.08713,2.31564 0.257383,3.40317"
+ id="path893"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#11140d;stroke-width:0.54939044;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 15.031736,202.36624 c -0.567011,-0.29342 -1.737229,0.48247 -0.954896,0.72983 0.285915,0.27094 1.56994,-0.008 0.925415,0.72849 -0.210924,0.15452 -0.501039,0.20978 -0.778289,0.20613"
+ id="path895"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 1.1906249,207.14089 c 6.974e-4,0.59294 -0.00139,1.18588 0.00104,1.77881 0.1202023,0.0689 0.2909297,0.0189 0.3958276,0.10641"
+ id="path2330"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#666666;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 2.5466144,206.94245 c 0.017373,0.27424 0.079097,0.66643 0.2083117,0.92316 0.035529,0.33176 0.035642,0.67339 0.1382356,0.99292 0.058759,0.0102 0.0049,-0.23033 0.015827,-0.30891 -0.014102,-0.30836 -0.062797,-0.62097 -0.015567,-0.9278 0.084442,-0.22099 0.2314241,-0.41511 0.3899996,-0.58745 0.2139444,-0.17803 0.5718895,-0.2319 0.7894939,-0.0351 0.3214517,0.41313 0.3398183,1.64069 0.3880269,2.15167"
+ id="path2334"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccc" />
+ <rect
+ style="fill:#515151;fill-opacity:1;stroke:none;stroke-width:0.46499997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
+ id="rect2377"
+ width="0.66145831"
+ height="0.33072916"
+ x="1.0583333"
+ y="206.46286" />
+ <rect
+ y="206.59515"
+ x="0.89296871"
+ height="0.33072916"
+ width="0.66145831"
+ id="rect2379"
+ style="fill:#272727;fill-opacity:1;stroke:none;stroke-width:0.46499997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" />
+ <path
+ sodipodi:nodetypes="cccccccc"
+ inkscape:connector-curvature="0"
+ id="path2381"
+ d="m 2.6789061,206.79362 c 0.017373,0.27424 0.079097,0.66643 0.2083117,0.92316 0.035529,0.33176 0.035642,0.67339 0.1382356,0.99292 0.058759,0.0102 0.0049,-0.23033 0.015827,-0.30891 -0.014102,-0.30836 -0.062797,-0.62097 -0.015567,-0.9278 0.084442,-0.22099 0.2314241,-0.41511 0.3899996,-0.58745 0.2139444,-0.17803 0.5718895,-0.2319 0.7894939,-0.0351 0.3214517,0.41313 0.3398183,1.64069 0.3880269,2.15167"
+ style="fill:none;stroke:#1f1f1f;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path2383"
+ d="m 1.3725259,207.25665 c 6.974e-4,0.59294 -0.00139,1.18588 0.00104,1.77881 0.1202023,0.0689 0.2909297,0.0189 0.3958276,0.10641"
+ style="fill:none;stroke:#808080;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.37834212px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 11.216416,213.0101 c -0.409062,-0.2044 -0.8635,0.1822 -0.897128,0.58569 -0.09685,0.34975 0.243368,0.84987 0.637939,0.64613 0.356677,-0.19665 0.334913,-0.66541 0.296658,-1.01011 -0.01014,-0.0743 -0.02309,-0.14814 -0.03747,-0.22171 z"
+ id="path2994"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.37834212px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 12.0968,212.91101 c 0.06747,0.45545 -0.121595,0.92733 0.04697,1.37171 0.261835,0.29411 0.600825,-0.0955 0.560279,-0.38315 0.05082,-0.17533 0.06055,-0.57696 0.132209,-0.60995 0.08651,0.33101 -0.0035,0.69002 0.138797,1.01288 0.02663,0.0678 0.06087,0.13304 0.103858,0.19242"
+ id="path2996"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.31336632px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 14.500927,212.44848 c 0.0032,0.72704 -0.0068,1.45411 0.0059,2.18112 0.06974,0.0479 0.011,0.11778 0.02794,0.17474"
+ id="path2998"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.31336632px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 13.620543,213.28678 c 0.5192,0 1.038402,0 1.557602,0"
+ id="path3000"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 8.9632329,224.46523 c 0,0.52229 0,1.04458 0,1.56687"
+ id="path3038"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 8.9398466,224.09106 c 0,-0.0702 0,-0.14029 0,-0.21044"
+ id="path3040"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 9.4543406,224.74587 c 0.05516,0.16108 0.015796,1.05689 0.019506,1.06419 -3.482e-4,-0.27833 0.3047641,-1.07747 0.5398684,-0.81651 0.21921,0.18793 0.340876,0.54118 0.188951,0.80471"
+ id="path3042"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 10.880892,226.26596 c 0.03415,-0.47406 -0.113802,-0.96555 0.05735,-1.42538 0.195178,-0.23174 0.554997,0.0852 0.432413,0.32916 -0.102692,0.16743 -0.272621,0.34161 -0.489773,0.30114"
+ id="path3044"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 11.863107,224.53539 c -0.143792,0.22981 -0.08151,0.63439 0.210719,0.70936 0.306809,0.11654 0.252513,-0.45349 0.252015,-0.43569 0.06983,0.21094 0.148328,0.44127 0.0752,0.66252"
+ id="path3046"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 13.149342,223.69349 c 0,0.54568 0,1.09135 0,1.63703"
+ id="path3048"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 12.658234,224.27814 c 0.33444,0.0331 0.686344,-0.0737 1.005569,0.0697"
+ id="path3050"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 9.594657,226.99093 c -0.2475243,-0.12131 -0.6507659,-0.0319 -0.6848008,0.28246 -0.078857,0.3798 0.1387398,0.85832 0.5452914,0.93035 0.143914,0.0106 0.2863202,-0.0476 0.3967782,-0.13718"
+ id="path3052"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 10.155923,226.52321 c 0.05783,0.3519 0.175259,1.1065 0.213739,1.45965 0.222515,-0.0507 0.05538,-0.9953 0.359781,-0.73845 0.227802,0.22219 0.183332,0.57938 0.198193,0.86911"
+ id="path3054"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.32156625px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 11.433953,227.82596 -0.01006,0.241"
+ id="path3158"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.32574889px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 2.2361216,232.09039 c -0.6019953,-0.2613 -1.1118274,0.51205 -0.9887492,1.1038 0.1405201,0.70142 0.9995601,1.13146 1.5672258,0.70429 0.5847585,-0.43154 0.3415503,-1.53031 -0.313149,-1.73853 -0.085345,-0.0347 -0.1747018,-0.0582 -0.2653276,-0.0696 z"
+ id="path3166"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.32574889px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 4.1194069,232.55524 c 8.396e-4,0.61008 -0.03901,1.32967 0.3664155,1.81197 0.8022508,0.42719 0.6219085,-0.9095 0.5500863,-1.39599 -0.00262,-0.11104 0.00317,-0.22281 0.025145,-0.33156"
+ id="path3168"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.32574889px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 6.1988677,231.32975 c -0.017501,1.06501 0.00716,2.13242 0.1158201,3.19178 6.287e-4,-0.0497 0.00126,-0.0996 0.00189,-0.14931"
+ id="path3170"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.32574889px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 5.5318709,232.30169 c 0.3400378,1.1e-4 0.6800753,-1.5e-4 1.0201131,0"
+ id="path3172"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.32574889px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 7.8467424,235.04848 c -0.3200937,-0.74233 -0.9530321,-1.43881 -0.8396568,-2.31386 0.046952,-0.67227 0.892134,-0.61099 1.050903,-0.0477 0.2359253,0.46509 -0.096467,1.12423 -0.6190324,1.03237 -0.1771311,0.0228 -0.3558392,0.0191 -0.533857,0.0199"
+ id="path3174"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.41508371px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 9.1636179,232.48578 c -0.3423042,0.85823 0.046503,2.15775 0.4564277,1.73809 0.3663757,-0.1619 0.4292084,-2.11458 0.4879394,-0.92175 0.01301,0.42686 0.03833,0.85601 0.105503,1.26544"
+ id="path3178"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.49351951px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 12.278647,231.11847 c 0,1.12186 0,2.24374 0,3.36561"
+ id="path3180"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.49351951px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 11.183022,232.53564 c 0.687761,-0.006 1.377774,-0.0126 2.062356,0.0584"
+ id="path3182"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.36339176px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 2.2545778,236.15249 c -0.4367411,-0.46061 -1.2261363,-0.0338 -1.26099983,0.79424 0.18964513,0.82671 0.92663643,1.00119 1.44663613,1.05257 0.125141,0.004 0.2504056,-0.005 0.3748197,-0.0256"
+ id="path3184"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.36339176px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.2633931,235.60025 c 0.083023,0.60069 -0.05553,1.39739 0.191707,1.8691 0.1049841,-0.61222 0.7535872,-1.0808 0.7750594,-0.12753 0.024452,0.22687 0.027798,0.45977 0.00469,0.68721"
+ id="path3186"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.263;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="m 5.2413939,236.55856 c -0.5430083,0.35776 0.3137818,2.08484 0.3615395,0.92406 -0.041418,-0.32325 -0.4216568,-1.30962 -0.00329,-0.60657 0.1893235,0.29917 0.3770151,0.60174 0.5407441,0.93307"
+ id="path3192"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.36339176px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 9.4521411,237.24079 c 0.6760619,0.72898 0.7044929,-1.60184 0.049542,-0.82215 -0.4136831,0.69865 0.174934,2.3472 0.8343939,1.7277"
+ id="path3198"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.36339176px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 11.072371,234.88236 c -0.06827,1.33174 0.08986,2.65613 0.186779,3.97538"
+ id="path3200"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.36339176px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 12.604276,236.59428 c -0.544871,-0.57484 -0.888778,0.75555 -0.459878,1.23013 0.180087,0.21422 0.756499,0.19766 0.329515,0.60459 -0.172338,0.0931 -0.360357,0.10954 -0.542209,0.0982"
+ id="path3202"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.40818822px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 1.2712499,259.95208 c -0.00288,0.83532 0.1468618,2.54207 0.2223687,2.81647 -0.085476,-0.83843 -0.2387496,-2.85179 0.6842114,-2.56266 0.1589531,0.20943 0.2255282,0.52225 0.230929,0.81808"
+ id="path3268"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.36716756px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.5996287,260.31801 c -0.7536732,0.52978 -0.4792401,2.62922 0.3811117,2.58974 0.6841789,-0.70227 0.1932821,-2.31395 -0.4259536,-2.82436"
+ id="path3270"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.31050283px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 5.1198123,258.25666 c -0.0662,1.63516 0.5459579,3.12635 0.6319938,4.73608 -0.077255,0.10136 -0.1930241,0.0251 -0.2816576,0.0691"
+ id="path3272"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.31050283px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 4.6595356,260.21605 c 0.4671179,0 0.9342358,0 1.4013537,0"
+ id="path3274"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.31050283px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 8.1839272,259.387 c 0.07953,1.62264 0.3622849,3.23694 0.2335563,4.86991"
+ id="path3278"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.31050283px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 7.7401652,260.83824 c 0.420406,0 0.840812,0 1.2612179,0"
+ id="path3280"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.48529637px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 9.4709747,262.1965 0.1322917,2.02879"
+ id="path3282"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.40075514px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 9.4117764,261.38506 c 0.6514656,0.61683 -0.5837223,-0.1823 0,0 z"
+ id="path3284"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.40432447px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 10.768301,261.86031 c -0.765327,0.54922 0.154055,3.13616 0.496328,1.48139 0.06438,-0.49125 -0.01174,-2.51437 -0.589745,-1.38197"
+ id="path3286"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.40365189px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 12.222305,261.32965 c 0.03283,0.7006 -0.170328,2.79247 0.190909,2.89837 -0.01069,-1.25727 0.711168,-3.48158 0.999466,-1.8379 0.124183,0.6173 0.258307,1.57479 0.213946,2.20859"
+ id="path3288"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <g
+ aria-label="a"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ id="text3428"
+ transform="matrix(1,0.22299654,0,1,0.06614583,-1.4228846)">
+ <path
+ d="m 7.099258,262.18749 q -0.4195362,0 -0.5813304,0.10722 -0.1617942,0.10721 -0.1617942,0.36578 0,0.20602 0.120405,0.32795 0.1222863,0.11982 0.3311137,0.11982 0.2878432,0 0.4609253,-0.22704 0.1749635,-0.22914 0.1749635,-0.60753 v -0.0862 z m 0.6904472,-0.15977 v 1.34332 H 7.4435409 v -0.35737 q -0.1185236,0.21442 -0.2953684,0.31743 -0.1768449,0.1009 -0.4327055,0.1009 -0.3235884,0 -0.5154839,-0.20181 -0.190014,-0.20391 -0.190014,-0.54447 0,-0.39732 0.2370473,-0.59913 0.2389287,-0.20182 0.7111419,-0.20182 h 0.4853826 v -0.0378 q 0,-0.26698 -0.1580315,-0.41204 -0.1561502,-0.14716 -0.4402308,-0.14716 -0.1806074,0 -0.3518083,0.0483 -0.1712008,0.0483 -0.3292323,0.14505 v -0.35737 q 0.1900141,-0.082 0.3687402,-0.12193 0.1787262,-0.0421 0.3480457,-0.0421 0.4571627,0 0.682922,0.26487 0.2257593,0.26489 0.2257593,0.80305 z"
+ style="stroke-width:0.10182173"
+ id="path3430"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ aria-label="nn"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ id="text3435"
+ transform="matrix(0.17926721,0,0,0.31089837,5.7319469,163.53579)">
+ <path
+ d="m 9.4133786,235.95978 v 3.49333 H 8.4625323 v -3.46232 q 0,-0.82166 -0.3203939,-1.2299 -0.3203938,-0.40824 -0.9611816,-0.40824 -0.7699788,0 -1.2143961,0.49092 -0.4444173,0.49093 -0.4444173,1.33842 v 3.27112 h -0.956014 v -5.78776 h 0.956014 v 0.89917 q 0.3410644,-0.52193 0.8009847,-0.78031 0.4650878,-0.25839 1.0697021,-0.25839 0.9973551,0 1.5089518,0.62012 0.5115966,0.61495 0.5115966,1.81384 z"
+ style="stroke-width:0.26458332"
+ id="path3437"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 17.310624,235.45991 -0.608894,4.14494 -1.211537,-0.0775 0.603488,-4.10813 q 0.143217,-0.97492 -0.193862,-1.48541 -0.337076,-0.51047 -1.153546,-0.56265 -0.981081,-0.0627 -1.632911,0.4836 -0.651832,0.54632 -0.799551,1.55189 l -0.570161,3.88127 -1.21812,-0.0778 1.008816,-6.86734 1.21812,0.0778 -0.156726,1.06688 q 0.525546,-0.59151 1.156597,-0.86064 0.637636,-0.26871 1.408014,-0.21947 1.270797,0.0812 1.814569,0.85866 0.544672,0.77131 0.335704,2.19382 z"
+ style="stroke-width:0.32684615"
+ id="path3439"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/res/ComputerscareTotallyEmptyPanel.svg b/res/ComputerscareTotallyEmptyPanel.svg
@@ -0,0 +1,95 @@
+<?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="140"
+ height="380"
+ viewBox="0 0 37.041668 100.54167"
+ version="1.1"
+ id="svg8"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="ComputerscareTotallyEmptyPanel.svg"
+ style="enable-background:new">
+ <defs
+ id="defs2">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 50.270835 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="23.812501 : 50.270835 : 1"
+ inkscape:persp3d-origin="11.906251 : 33.51389 : 1"
+ id="perspective1881" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#ea3266"
+ borderopacity="0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="12"
+ inkscape:zoom="2.8284273"
+ inkscape:cx="-3.804725"
+ inkscape:cy="281.43433"
+ inkscape:document-units="mm"
+ inkscape:current-layer="g1669"
+ showgrid="false"
+ units="px"
+ inkscape:snap-bbox="false"
+ inkscape:snap-page="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:window-width="1440"
+ inkscape:window-height="856"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:snap-object-midpoints="false"
+ inkscape:snap-others="false"
+ inkscape:snap-nodes="false"
+ inkscape:snap-global="false"
+ showguides="false"
+ showborder="false"
+ inkscape:pagecheckerboard="false" />
+ <metadata
+ id="metadata5">
+ <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,-196.45832)"
+ style="display:none">
+ <path
+ style="opacity:0;vector-effect:none;fill:#f0f0f0;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.48607069;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ d="M 0,196.45831 H 23.8125 V 296.99999 H 0 Z"
+ id="rect817"
+ inkscape:connector-curvature="0" />
+
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="bg" />
+ <g
+ style="display:inline"
+ transform="translate(0,-196.45832)"
+ id="g1669"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1 copy" />
+</svg>
diff --git a/res/ComputerscareUnknown.svg b/res/ComputerscareUnknown.svg
@@ -0,0 +1,123 @@
+<?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="90"
+ height="380"
+ viewBox="0 0 23.812499 100.54167"
+ version="1.1"
+ id="svg909"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="ComputerscareUnknown.svg">
+ <defs
+ id="defs903" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="44.996393"
+ inkscape:cy="214.66631"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ units="px"
+ inkscape:snap-global="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="855"
+ inkscape:window-x="0"
+ inkscape:window-y="1"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata906">
+ <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,-196.45833)">
+ <ellipse
+ style="fill:#414141;fill-opacity:1;stroke:none;stroke-width:0.26300001;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path1458"
+ cx="-16.819941"
+ cy="245.31175"
+ rx="0.94494045"
+ ry="0.8504464" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M -17.197916,245.02827 4.7247024,196.45833 23.8125,196.26934 24.001488,297 5.858631,297.18898 Z"
+ id="path1462"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:#616161;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+ d="m 1.6063988,277.62872 15.6993032,-0.0726 6.790275,6.36688 -18.5208281,0.32028 z"
+ id="path1492"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#3e3e3e;fill-opacity:1;stroke:none;stroke-width:0.26725787px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 1.6063988,277.96281 17.305702,277.88873 17.172067,264.39009 1.7953869,261.18675 Z"
+ id="path1494"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#a2a2a2;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 5.8586308,297.18898 5.5751489,284.24328 22.52834,283.87802 21.918686,264.30506 5.4806548,264.39955 4.7247024,196.45833 23.8125,196.26934 24.001488,297 Z"
+ id="path1464"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccc" />
+ <path
+ style="fill:#6e6e6e;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 4.7247024,196.45833 0,206.66369 v 77.10714 l 5.8586308,13.41815 -0.2834819,-12.9457 -3.9687501,-6.61456 0.1889881,-16.44197 3.6852679,3.2128 z"
+ id="path1466"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccc" />
+ <rect
+ style="fill:#b4b4b4;fill-opacity:1;stroke:none;stroke-width:0.26300001;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect1468"
+ width="14.741072"
+ height="12.473214"
+ x="9.0714283"
+ y="200.0491" />
+ <path
+ style="fill:#707070;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+ d="m 23.8125,212.52232 -5.008185,3.87425 H 5.8586308 l 3.2127973,-3.87425 z"
+ id="path1476"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#7e7e7e;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+ d="m 9.0714281,200.0491 v 12.47322 l -3.2127973,3.87425 v -10.77232 z"
+ id="path1478"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 4.8191964,273.75446 Z"
+ id="path1490"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#494949;fill-opacity:1;stroke:none;stroke-width:0.28060132px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 22.595158,283.84461 -5.67369,-6.28849 -0.150305,-13.22982 5.338741,-0.0213 z"
+ id="path1496"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ </g>
+</svg>
diff --git a/res/computerscare-iso-button-dn.svg b/res/computerscare-iso-button-dn.svg
@@ -0,0 +1,85 @@
+<?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="10mm"
+ height="10mm"
+ viewBox="0 0 10 10"
+ version="1.1"
+ id="svg837"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="computerscare-iso-button-dn.svg">
+ <defs
+ id="defs831">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-15.502741 : -0.68761461 : 1"
+ inkscape:vp_y="0 : 1935.9757 : 0"
+ inkscape:vp_z="25.090656 : 9.2983744 : 1"
+ inkscape:persp3d-origin="19.059341 : -5.6235546 : 1"
+ id="perspective1382" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="11.2"
+ inkscape:cx="10.402494"
+ inkscape:cy="15.99696"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="855"
+ inkscape:window-x="0"
+ inkscape:window-y="1"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata834">
+ <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,-287)">
+ <path
+ style="fill:#009b00;fill-opacity:1;stroke:#000000;stroke-width:0.24377058px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 9.6279072,288.53296 c -8.5063289,-0.0612 -8.5528116,-0.0815 -8.5528116,-0.0815 v 7.07285 l 8.645777,0.0204 z"
+ id="path1551"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 1.0697908,295.53149 Z"
+ id="path2175"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#00a600;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+ d="m 2.2206101,295.46447 -0.07087,-6.11849 v 0 l -1.074644,-0.89452 v 0 7.07285 0 z"
+ id="path2177"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#009797;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+ d="m 1.0750956,288.45146 8.5528116,0.0815 0.010486,0.76578 -7.4886528,0.0472 z"
+ id="path2181"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/res/computerscare-iso-button-down.svg b/res/computerscare-iso-button-down.svg
@@ -0,0 +1,85 @@
+<?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="10mm"
+ height="10mm"
+ viewBox="0 0 10 10"
+ version="1.1"
+ id="svg837"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="computerscare-iso-button-down.svg">
+ <defs
+ id="defs831">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-15.502741 : -0.68761461 : 1"
+ inkscape:vp_y="0 : 1935.9757 : 0"
+ inkscape:vp_z="25.090656 : 9.2983744 : 1"
+ inkscape:persp3d-origin="19.059341 : -5.6235546 : 1"
+ id="perspective1382" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="11.2"
+ inkscape:cx="10.402494"
+ inkscape:cy="15.99696"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="855"
+ inkscape:window-x="0"
+ inkscape:window-y="1"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata834">
+ <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,-287)">
+ <path
+ style="fill:#245559;fill-opacity:1;stroke:#000000;stroke-width:0.24377058px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 9.6279072,288.53296 c -8.5063289,-0.0612 -8.5528116,-0.0815 -8.5528116,-0.0815 v 7.07285 l 8.645777,0.0204 z"
+ id="path1551"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 1.0697908,295.53149 Z"
+ id="path2175"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#245559;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+ d="m 2.2206101,295.46447 -0.07087,-6.11849 v 0 l -1.074644,-0.89452 v 0 7.07285 0 z"
+ id="path2177"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#24c9a6;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+ d="m 1.0750956,288.45146 8.5528116,0.0815 0.010486,0.76578 -7.4886528,0.0472 z"
+ id="path2181"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/res/computerscare-iso-button-small-down.svg b/res/computerscare-iso-button-small-down.svg
@@ -0,0 +1,92 @@
+<?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="8mm"
+ height="8mm"
+ viewBox="0 0 8 8"
+ version="1.1"
+ id="svg837"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="computerscare-iso-button-small-down.svg">
+ <defs
+ id="defs831">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-15.502741 : -0.68761461 : 1"
+ inkscape:vp_y="0 : 1935.9757 : 0"
+ inkscape:vp_z="25.090656 : 9.2983744 : 1"
+ inkscape:persp3d-origin="19.059341 : -5.6235546 : 1"
+ id="perspective1382" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="15.839192"
+ inkscape:cx="12.90884"
+ inkscape:cy="12.208888"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="855"
+ inkscape:window-x="0"
+ inkscape:window-y="1"
+ inkscape:window-maximized="1"
+ inkscape:snap-object-midpoints="false"
+ inkscape:snap-others="false"
+ inkscape:object-nodes="false"
+ inkscape:snap-nodes="false" />
+ <metadata
+ id="metadata834">
+ <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,-289)">
+ <path
+ style="fill:#3f949b;fill-opacity:1;stroke:#000000;stroke-width:0.17936714px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 7.6997832,291.09096 c -5.6745886,-0.0497 -5.7223016,0.0508 -5.7223016,0.0508 l 0.016704,5.62316 5.7676146,0.0158 z"
+ id="path1551"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.19468118px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 1.9906471,296.77083 Z"
+ id="path2175"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#245559;fill-opacity:1;stroke:#000000;stroke-width:0.19468118px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 2.7583609,296.71643 -0.047277,-4.96564 v 0 l -0.7168975,-0.72599 -0.1988388,3e-4 0.1988391,5.74019 v 0 z"
+ id="path2177"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ style="fill:#24c9a6;fill-opacity:1;stroke:#000000;stroke-width:0.19468118px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 1.9941859,291.0248 c 1.9018658,0.0221 3.8037316,0.044 5.7055973,0.0662 l 0.00699,0.62149 -4.9956948,0.0383 z"
+ id="path2181"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ </g>
+</svg>
diff --git a/res/computerscare-iso-button-small-up.svg b/res/computerscare-iso-button-small-up.svg
@@ -0,0 +1,84 @@
+<?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="8mm"
+ height="8mm"
+ viewBox="0 0 8 8"
+ version="1.1"
+ id="svg837"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="computerscare-iso-button-small-up.svg">
+ <defs
+ id="defs831">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-15.502741 : -0.68761461 : 1"
+ inkscape:vp_y="0 : 1935.9757 : 0"
+ inkscape:vp_z="25.090656 : 9.2983744 : 1"
+ inkscape:persp3d-origin="19.059341 : -5.6235546 : 1"
+ id="perspective1382" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="15.839192"
+ inkscape:cx="13.403534"
+ inkscape:cy="14.883048"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="855"
+ inkscape:window-x="0"
+ inkscape:window-y="1"
+ inkscape:window-maximized="1"
+ inkscape:snap-nodes="false" />
+ <metadata
+ id="metadata834">
+ <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,-289)">
+ <path
+ style="fill:#1c9d82;fill-opacity:1;stroke:#000000;stroke-width:0.17387959px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 0.1307407,294.56797 2.1755974,2.19667 5.5122493,0.0231 -0.1130007,-5.48396 -1.1000464,-1.50854 c -0.1527317,-0.31367 -0.4027278,-0.47378 -0.6621422,-0.52332"
+ id="path1553"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:#009b00;fill-opacity:1;stroke:#000000;stroke-width:0.17387959px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 5.9272683,294.51692 c 0.1686854,0.34831 0.5378894,0.77919 0.7387193,0.9511 l 1.1191912,1.30294"
+ id="path1555"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:#24c9a6;fill-opacity:1;stroke:#000000;stroke-width:0.17387959px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 5.906942,289.27751 c -5.72515839,-0.0463 -5.7564434,-0.0616 -5.7564434,-0.0616 v 0 5.34668 l 5.8190135,0.0154 z"
+ id="path1551"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cscccc" />
+ </g>
+</svg>
diff --git a/res/computerscare-iso-button-up.svg b/res/computerscare-iso-button-up.svg
@@ -0,0 +1,80 @@
+<?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="10mm"
+ height="10mm"
+ viewBox="0 0 10 10"
+ version="1.1"
+ id="svg837"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="computerscare-iso-button-up.svg">
+ <defs
+ id="defs831">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-15.502741 : -0.68761461 : 1"
+ inkscape:vp_y="0 : 1935.9757 : 0"
+ inkscape:vp_z="25.090656 : 9.2983744 : 1"
+ inkscape:persp3d-origin="19.059341 : -5.6235546 : 1"
+ id="perspective1382" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="11.2"
+ inkscape:cx="-5.5796489"
+ inkscape:cy="15.99696"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="855"
+ inkscape:window-x="0"
+ inkscape:window-y="1"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata834">
+ <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="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-287)">
+ <path
+ style="fill:#24c9a6;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+ d="m 0.2126116,295.51171 1.0394345,1.15756 8.5517114,0.18899 -0.1417413,-8.64621 -0.7559524,-0.8032 v 0 0"
+ id="path1553"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#009b00;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+ d="m 9.0005579,295.53531 0.8031996,1.32295 v 0 0 0 0"
+ id="path1555"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#24c9a6;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+ d="m 8.9060638,287.40885 c -8.64620517,-0.0709 -8.6934522,-0.0945 -8.6934522,-0.0945 v 8.19736 l 8.7879463,0.0236 z"
+ id="path1551"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/res/computerscare-medium-knob-dot-indicator.svg b/res/computerscare-medium-knob-dot-indicator.svg
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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"
+ id="Layer_1"
+ data-name="Layer 1"
+ viewBox="0 0 28 28"
+ version="1.1"
+ sodipodi:docname="computerscare-medium-knob-dot-indicator.svg"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ width="28"
+ height="28">
+ <metadata
+ id="metadata1289">
+ <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>01 Big Knob</dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1398"
+ inkscape:window-height="834"
+ id="namedview1287"
+ showgrid="false"
+ inkscape:zoom="15.733333"
+ inkscape:cx="18.963494"
+ inkscape:cy="16.744952"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Big_Knob" />
+ <defs
+ id="defs1279">
+ <style
+ id="style1277">.cls-1{fill:#245559;}.cls-2{fill:none;stroke:#24c9a6;stroke-miterlimit:10;stroke-width:3px;}</style>
+ </defs>
+ <title
+ id="title1281">01 Big Knob</title>
+ <g
+ id="Big_Knob"
+ data-name="Big Knob"
+ transform="translate(0,-32)">
+ <path
+ style="fill:#245559;stroke:#000000;stroke-width:0.40182629;stroke-opacity:1"
+ d="M 25.62578,46.000183 C 26.374585,54.886007 20.596733,58.72213 13.967114,58.111561 7.8708847,57.550115 -0.06927658,50.275098 1.9123265,44.034327 4.8258211,34.858699 5.0683776,37.665788 7.8677328,36.080009 10.080145,34.82672 10.946556,34.276664 13.967114,34.001984 c 3.68123,-0.334759 7.366697,-0.291907 10.540264,2.584521 1.741799,1.578715 0.910119,6.942056 1.118402,9.413678 z"
+ id="Big_Button_Circle"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sssssss" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#24c9a6;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.37795276;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+ d="m 16.862146,36.050648 c 0.117928,-0.66458 0.143572,-1.22448 -0.101176,-1.753193 0.307778,-0.299636 0.726646,-0.503303 0.602995,-0.886243 -0.274556,-0.256096 -0.848253,-0.275434 -1.252334,-0.22093 -0.552513,0.09233 -1.178468,0.03274 -1.689073,0.149938 -2.516396,0.08453 -1.133525,0.778224 -1.263805,1.416518 0.04674,0.589114 -0.213607,1.270542 -0.111272,1.865607 1.164475,1.134156 2.759399,0.548985 3.814665,-0.571697 z"
+ id="Button_Pointer"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccc" />
+ </g>
+</svg>
diff --git a/res/computerscare-rst-text-red.svg b/res/computerscare-rst-text-red.svg
@@ -25,9 +25,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="11.2"
- inkscape:cx="31.428572"
- inkscape:cy="16.512059"
+ inkscape:zoom="22.4"
+ inkscape:cx="21.607143"
+ inkscape:cy="3.4177152"
inkscape:document-units="mm"
inkscape:current-layer="text1460"
showgrid="false"
@@ -36,7 +36,8 @@
inkscape:window-height="855"
inkscape:window-x="0"
inkscape:window-y="1"
- inkscape:window-maximized="1" />
+ inkscape:window-maximized="1"
+ inkscape:snap-global="false" />
<metadata
id="metadata887">
<rdf:RDF>
@@ -59,18 +60,42 @@
style="font-style:normal;font-weight:normal;font-size:6.29599571px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.15739989"
id="text1460">
<path
- d="m 3.1741321,293.87751 q -0.09872,-0.0559 -0.2142721,-0.084 -0.1126317,-0.0309 -0.2484227,-0.037 -0.4814513,-0.0219 -0.7234135,0.25827 -0.2390457,0.27745 -0.2068562,0.82132 l 0.099956,1.68886 -0.5709549,-0.026 -0.1897489,-3.20597 0.5709551,0.026 0.029479,0.49807 q 0.1617211,-0.28382 0.4404383,-0.41103 0.2785477,-0.13006 0.6890162,-0.11138 0.058653,0.003 0.1301158,0.0143 0.071266,0.008 0.158587,0.0272 z"
- style="fill:#b63900;fill-opacity:1;stroke-width:0.15197389"
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path2434"
+ d="m 0.95659426,292.68898 -0.0111558,3.91358 8.14423548,0.19878 -0.034522,-4.03983 z"
+ style="fill:#848484;fill-opacity:1;stroke:#000000;stroke-width:0.25272471;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:#dedede;fill-opacity:1;stroke:#000000;stroke-width:0.03266888;stroke-opacity:1"
+ d="m 1.6845928,293.59372 7.2968297,0.2008 -0.011812,2.89105 -7.285018,-0.18899 z"
+ id="rect2390"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#adadad;fill-opacity:1;stroke:#000000;stroke-width:0.13618915;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0.90968224,292.76446 0.73334076,0.86093 0.011269,2.93259 -0.70917519,-0.02 z"
+ id="path2394"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#848484;fill-opacity:1;stroke:#000000;stroke-width:0.1530488;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 1.0451761,292.78158 0.6137626,0.78031 7.388625,0.179 -0.030176,-1.00553 z"
+ id="path2396"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ d="m 3.932639,294.47602 q -0.078403,-0.0382 -0.1701734,-0.0574 -0.089452,-0.021 -0.1972956,-0.0253 -0.3823651,-0.015 -0.5745297,0.17642 -0.1898484,0.18952 -0.1642838,0.56104 l 0.079384,1.15365 -0.4534483,-0.0178 -0.1506973,-2.18997 0.4534485,0.0178 0.023412,0.34022 q 0.1284376,-0.19387 0.3497929,-0.28077 0.2212206,-0.0888 0.5472118,-0.0761 0.046582,0.002 0.1033369,0.01 0.056599,0.006 0.1259487,0.0185 z"
+ style="fill:#000000;fill-opacity:1;stroke-width:0.11193644"
id="path1462"
inkscape:connector-curvature="0" />
<path
- d="m 5.9131608,293.30639 0.036975,0.51822 q -0.2482889,-0.11913 -0.5107727,-0.17869 -0.2624845,-0.0596 -0.539164,-0.0596 -0.4211677,0 -0.6243636,0.12509 -0.2001212,0.12509 -0.1822718,0.37526 0.013603,0.19061 0.172099,0.30081 0.1582865,0.10721 0.6202832,0.2055 l 0.1966489,0.0417 q 0.6114707,0.12508 0.8799193,0.35441 0.2713097,0.22635 0.300422,0.63438 0.033149,0.4646 -0.3287158,0.73563 -0.3587914,0.27102 -1.0228222,0.27102 -0.2766795,0 -0.5817774,-0.0536 -0.3018108,-0.0506 -0.6412646,-0.15488 l -0.040375,-0.56587 q 0.3248324,0.15785 0.6349175,0.23826 0.3098682,0.0774 0.6080672,0.0774 0.3996482,0 0.6054941,-0.13104 0.2056321,-0.13402 0.1884201,-0.37526 -0.015937,-0.22338 -0.1812227,-0.34251 -0.1622107,-0.11913 -0.6957639,-0.22932 l -0.199936,-0.0446 q -0.5333408,-0.10722 -0.7827061,-0.32761 -0.2495781,-0.22338 -0.2772031,-0.61056 -0.033574,-0.47056 0.2924631,-0.72669 0.3260373,-0.25613 0.9593259,-0.25613 0.3135701,0 0.5934356,0.0446 0.2798656,0.0447 0.5198822,0.13402 z"
- style="fill:#b63900;fill-opacity:1;stroke-width:0.15492441"
+ d="m 6.299147,294.20189 0.029365,0.35399 q -0.1971891,-0.0814 -0.4056519,-0.12206 -0.2084634,-0.0407 -0.4282002,-0.0407 -0.3344884,0 -0.4958652,0.0855 -0.1589347,0.0855 -0.1447589,0.25634 0.010803,0.1302 0.1366798,0.20548 0.12571,0.0732 0.4926246,0.14037 l 0.1561771,0.0285 q 0.4856255,0.0855 0.6988256,0.2421 0.2154722,0.15461 0.238593,0.43333 0.026326,0.31737 -0.2610638,0.5025 -0.2849496,0.18514 -0.812318,0.18514 -0.2197369,0 -0.4620435,-0.0366 -0.2396959,-0.0346 -0.5092877,-0.1058 l -0.032066,-0.38655 q 0.2579795,0.10783 0.5042468,0.16276 0.2460951,0.0528 0.4829226,0.0528 0.3173978,0 0.4808791,-0.0895 0.1633116,-0.0915 0.149642,-0.25633 -0.012657,-0.15259 -0.1439258,-0.23397 -0.1288266,-0.0814 -0.5525707,-0.15664 l -0.1587877,-0.0304 q -0.4235755,-0.0732 -0.6216196,-0.22378 -0.1982132,-0.1526 -0.2201528,-0.41707 -0.026664,-0.32144 0.2322722,-0.4964 0.2589365,-0.17496 0.7618896,-0.17496 0.2490352,0 0.4713024,0.0304 0.2222672,0.0305 0.4128867,0.0916 z"
+ style="fill:#000000;fill-opacity:1;stroke-width:0.11410964"
id="path1464"
inkscape:connector-curvature="0" />
<path
- d="m 7.1675079,292.41989 0.1355192,0.91257 1.3146089,0.031 0.060941,0.41037 -1.3146088,-0.031 0.2591037,1.74479 q 0.058385,0.39316 0.2033443,0.5081 0.1484277,0.11502 0.5473191,0.12441 l 0.6555643,0.0154 0.065629,0.44194 -0.6555642,-0.0154 q -0.7388215,-0.0174 -1.0534413,-0.25071 -0.3150515,-0.23619 -0.4045461,-0.83884 l -0.2591058,-1.7448 -0.4682615,-0.011 -0.060941,-0.41037 0.4682617,0.011 -0.1355192,-0.91257 z"
- style="fill:#b63900;fill-opacity:1;stroke-width:0.16125326"
+ d="m 7.3515732,293.89157 0.1076284,0.62337 1.0440529,0.0211 0.048399,0.28032 -1.0440529,-0.0211 0.2057783,1.19185 q 0.046369,0.26856 0.1614946,0.34708 0.1178803,0.0785 0.4346769,0.085 l 0.5206447,0.0106 0.052121,0.30189 -0.5206446,-0.0106 q -0.5867649,-0.0119 -0.8366336,-0.17126 -0.2502117,-0.16134 -0.3212877,-0.573 l -0.2057799,-1.19186 -0.37189,-0.007 -0.048399,-0.28033 0.3718901,0.007 -0.1076284,-0.62337 z"
+ style="fill:#000000;fill-opacity:1;stroke-width:0.11877116"
id="path1466"
inkscape:connector-curvature="0" />
</g>
diff --git a/res/computerscare-rst-text.svg b/res/computerscare-rst-text.svg
@@ -25,9 +25,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="11.2"
- inkscape:cx="31.428572"
- inkscape:cy="16.512059"
+ inkscape:zoom="22.4"
+ inkscape:cx="18.080358"
+ inkscape:cy="6.7659295"
inkscape:document-units="mm"
inkscape:current-layer="text1460"
showgrid="false"
@@ -36,7 +36,8 @@
inkscape:window-height="855"
inkscape:window-x="0"
inkscape:window-y="1"
- inkscape:window-maximized="1" />
+ inkscape:window-maximized="1"
+ inkscape:snap-global="false" />
<metadata
id="metadata887">
<rdf:RDF>
@@ -45,7 +46,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
+ <dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
@@ -58,19 +59,38 @@
aria-label="rst"
style="font-style:normal;font-weight:normal;font-size:6.29599571px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.15739989"
id="text1460">
+ <rect
+ style="fill:#dedede;fill-opacity:1;stroke:#000000;stroke-width:0.03916021;stroke-opacity:1"
+ id="rect2390"
+ width="7.7864323"
+ height="3.7822468"
+ x="0.21136901"
+ y="292.08505" />
<path
- d="m 3.1741321,293.87751 q -0.09872,-0.0559 -0.2142721,-0.084 -0.1126317,-0.0309 -0.2484227,-0.037 -0.4814513,-0.0219 -0.7234135,0.25827 -0.2390457,0.27745 -0.2068562,0.82132 l 0.099956,1.68886 -0.5709549,-0.026 -0.1897489,-3.20597 0.5709551,0.026 0.029479,0.49807 q 0.1617211,-0.28382 0.4404383,-0.41103 0.2785477,-0.13006 0.6890162,-0.11138 0.058653,0.003 0.1301158,0.0143 0.071266,0.008 0.158587,0.0272 z"
- style="fill:#000000;fill-opacity:1;stroke-width:0.15197389"
+ style="fill:#adadad;fill-opacity:1;stroke:#000000;stroke-width:0.13618915;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 7.9731123,292.09119 1.1703757,0.58926 0.058516,4.13739 -1.2288925,-1.00035 z"
+ id="path2394"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#848484;fill-opacity:1;stroke:#000000;stroke-width:0.1530488;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0.3010355,295.89989 0.61376262,0.78031 8.14457738,0.19081 -1.1050461,-1.01734 z"
+ id="path2396"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ d="m 2.360965,292.97654 q -0.082343,-0.0428 -0.1787258,-0.0643 -0.093947,-0.0236 -0.2072111,-0.0283 -0.4015818,-0.0168 -0.6034041,0.19762 -0.1993896,0.2123 -0.1725402,0.62846 l 0.083374,1.29229 -0.47623734,-0.0199 -0.1582709,-2.45315 0.47623754,0.0199 0.024589,0.38111 q 0.1348926,-0.21717 0.3673726,-0.31451 0.2323385,-0.0995 0.5747131,-0.0852 0.048923,0.002 0.1085304,0.0109 0.059443,0.006 0.1322785,0.0208 z"
+ style="fill:#000000;fill-opacity:1;stroke-width:0.12141213"
id="path1462"
inkscape:connector-curvature="0" />
<path
- d="m 5.9131608,293.30639 0.036975,0.51822 q -0.2482889,-0.11913 -0.5107727,-0.17869 -0.2624845,-0.0596 -0.539164,-0.0596 -0.4211677,0 -0.6243636,0.12509 -0.2001212,0.12509 -0.1822718,0.37526 0.013603,0.19061 0.172099,0.30081 0.1582865,0.10721 0.6202832,0.2055 l 0.1966489,0.0417 q 0.6114707,0.12508 0.8799193,0.35441 0.2713097,0.22635 0.300422,0.63438 0.033149,0.4646 -0.3287158,0.73563 -0.3587914,0.27102 -1.0228222,0.27102 -0.2766795,0 -0.5817774,-0.0536 -0.3018108,-0.0506 -0.6412646,-0.15488 l -0.040375,-0.56587 q 0.3248324,0.15785 0.6349175,0.23826 0.3098682,0.0774 0.6080672,0.0774 0.3996482,0 0.6054941,-0.13104 0.2056321,-0.13402 0.1884201,-0.37526 -0.015937,-0.22338 -0.1812227,-0.34251 -0.1622107,-0.11913 -0.6957639,-0.22932 l -0.199936,-0.0446 q -0.5333408,-0.10722 -0.7827061,-0.32761 -0.2495781,-0.22338 -0.2772031,-0.61056 -0.033574,-0.47056 0.2924631,-0.72669 0.3260373,-0.25613 0.9593259,-0.25613 0.3135701,0 0.5934356,0.0446 0.2798656,0.0447 0.5198822,0.13402 z"
- style="fill:#000000;fill-opacity:1;stroke-width:0.15492441"
+ d="m 4.8464073,292.66946 0.030841,0.39653 q -0.2070994,-0.0912 -0.426039,-0.13673 -0.2189401,-0.0456 -0.4497203,-0.0456 -0.3512989,0 -0.520786,0.0957 -0.1669224,0.0957 -0.1520341,0.28714 0.011346,0.14585 0.1435489,0.23018 0.1320279,0.082 0.5173825,0.15724 l 0.1640262,0.0319 q 0.5100318,0.0957 0.7339467,0.27119 0.2263012,0.1732 0.250584,0.48541 0.02765,0.35551 -0.2741841,0.56289 -0.2992704,0.20738 -0.853143,0.20738 -0.2307802,0 -0.4852645,-0.041 -0.2517424,-0.0387 -0.5348831,-0.11851 l -0.033677,-0.433 q 0.2709449,0.12079 0.529589,0.18232 0.2584632,0.0592 0.507193,0.0592 0.3333493,0 0.5050468,-0.10027 0.1715191,-0.10255 0.1571625,-0.28714 -0.013293,-0.17093 -0.1511591,-0.26208 -0.1353011,-0.0912 -0.5803414,-0.17547 l -0.166768,-0.0341 q -0.4448632,-0.082 -0.6528605,-0.25068 -0.2081748,-0.17093 -0.231217,-0.46719 -0.028004,-0.36007 0.2439455,-0.55605 0.2719499,-0.19599 0.8001802,-0.19599 0.261551,0 0.4949887,0.0341 0.2334378,0.0342 0.4336373,0.10255 z"
+ style="fill:#000000;fill-opacity:1;stroke-width:0.12376931"
id="path1464"
inkscape:connector-curvature="0" />
<path
- d="m 7.1675079,292.41989 0.1355192,0.91257 1.3146089,0.031 0.060941,0.41037 -1.3146088,-0.031 0.2591037,1.74479 q 0.058385,0.39316 0.2033443,0.5081 0.1484277,0.11502 0.5473191,0.12441 l 0.6555643,0.0154 0.065629,0.44194 -0.6555642,-0.0154 q -0.7388215,-0.0174 -1.0534413,-0.25071 -0.3150515,-0.23619 -0.4045461,-0.83884 l -0.2591058,-1.7448 -0.4682615,-0.011 -0.060941,-0.41037 0.4682617,0.011 -0.1355192,-0.91257 z"
- style="fill:#000000;fill-opacity:1;stroke-width:0.16125326"
+ d="m 5.9517256,292.32185 0.1130375,0.69828 1.0965242,0.0237 0.050831,0.31401 -1.0965241,-0.0237 0.2161201,1.33508 q 0.048699,0.30084 0.1696109,0.38879 0.1238046,0.088 0.4565226,0.0952 l 0.5468106,0.0118 0.054742,0.33817 -0.5468105,-0.0118 q -0.6162561,-0.0133 -0.8786826,-0.19184 -0.2627866,-0.18073 -0.3374347,-0.64186 l -0.2161219,-1.33509 -0.3905801,-0.008 -0.050831,-0.31401 0.3905803,0.008 -0.1130375,-0.69828 z"
+ style="fill:#000000;fill-opacity:1;stroke-width:0.12882543"
id="path1466"
inkscape:connector-curvature="0" />
</g>
diff --git a/res/debug-clock-selector-4way-template.svg b/res/debug-clock-selector-4way-template.svg
@@ -0,0 +1,215 @@
+<?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="90mm"
+ height="20mm"
+ viewBox="0 0 90 20"
+ version="1.1"
+ id="svg875"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="debug-clock-selector-4way-template.svg">
+ <defs
+ id="defs869" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.979899"
+ inkscape:cx="180.98042"
+ inkscape:cy="19.895486"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="855"
+ inkscape:window-x="0"
+ inkscape:window-y="1"
+ inkscape:window-maximized="1"
+ inkscape:snap-global="false" />
+ <metadata
+ id="metadata872">
+ <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,-277)">
+ <path
+ style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.11972128;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
+ d="M 0.46118526,277.62933 H 28.244261 l -0.170303,2.96926 H 0.29088276 Z"
+ id="rect1439"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#24c9a6;fill-opacity:1;stroke:#000000;stroke-width:0.10233776px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 0.46950006,277.6377 v 3.12328 l 7.68074424,0.17113 -0.2497801,-3.37998 z"
+ id="path1441"
+ inkscape:connector-curvature="0" />
+ <g
+ aria-label="clock
+mode"
+ transform="matrix(0.42567632,0,0,0.24331969,-0.18393281,188.36236)"
+ style="font-style:normal;font-weight:normal;font-size:8.4089632px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.21022408"
+ id="text2004">
+ <path
+ d="m 4.6977589,369.31719 v 0.52261 q -0.2445013,-0.13066 -0.4921373,-0.19446 -0.2445013,-0.0668 -0.495272,-0.0668 -0.5610992,0 -0.8714278,0.34637 -0.3103287,0.34334 -0.3103287,0.96621 0,0.62288 0.3103287,0.96926 0.3103286,0.34334 0.8714278,0.34334 0.2507707,0 0.495272,-0.0638 0.247636,-0.0668 0.4921373,-0.19749 v 0.51653 q -0.2413667,0.10938 -0.5015412,0.16407 -0.2570399,0.0547 -0.5485607,0.0547 -0.7930621,0 -1.2601223,-0.48311 -0.4670604,-0.4831 -0.4670604,-1.30347 0,-0.83253 0.470195,-1.30956 0.4733295,-0.47703 1.2946033,-0.47703 0.2664438,0 0.520349,0.0547 0.2539053,0.0516 0.4921373,0.158 z"
+ style="stroke-width:0.15801062"
+ id="path2008"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 5.7071108,367.86179 h 0.5767723 v 4.72776 H 5.7071108 Z"
+ style="stroke-width:0.15801062"
+ id="path2010"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 8.8480127,369.57849 q -0.463926,0 -0.733504,0.35246 -0.269578,0.34941 -0.269578,0.96013 0,0.61073 0.266444,0.96317 0.269577,0.34943 0.736638,0.34943 0.460791,0 0.730369,-0.35246 0.269579,-0.35246 0.269579,-0.96014 0,-0.60464 -0.269579,-0.9571 -0.269578,-0.35549 -0.730369,-0.35549 z m 0,-0.47399 q 0.752312,0 1.1817563,0.47399 0.429445,0.47399 0.429445,1.31259 0,0.83557 -0.429445,1.3126 -0.4294443,0.47398 -1.1817563,0.47398 -0.755446,0 -1.184891,-0.47398 -0.4263099,-0.47703 -0.4263099,-1.3126 0,-0.8386 0.4263099,-1.31259 0.429445,-0.47399 1.184891,-0.47399 z"
+ style="stroke-width:0.15801062"
+ id="path2012"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 13.938656,369.31719 v 0.52261 q -0.244501,-0.13066 -0.492137,-0.19446 -0.244502,-0.0668 -0.495272,-0.0668 -0.561099,0 -0.871428,0.34637 -0.310329,0.34334 -0.310329,0.96621 0,0.62288 0.310329,0.96926 0.310329,0.34334 0.871428,0.34334 0.25077,0 0.495272,-0.0638 0.247636,-0.0668 0.492137,-0.19749 v 0.51653 q -0.241366,0.10938 -0.501541,0.16407 -0.25704,0.0547 -0.548561,0.0547 -0.793062,0 -1.260122,-0.48311 -0.46706,-0.4831 -0.46706,-1.30347 0,-0.83253 0.470195,-1.30956 0.473329,-0.47703 1.294603,-0.47703 0.266444,0 0.520349,0.0547 0.253906,0.0516 0.492137,0.158 z"
+ style="stroke-width:0.15801062"
+ id="path2014"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 14.926066,367.86179 h 0.579907 v 2.7923 l 1.720913,-1.46755 h 0.736639 l -1.861972,1.59212 1.940337,1.81089 h -0.752311 l -1.783606,-1.66201 v 1.66201 h -0.579907 z"
+ style="stroke-width:0.15801062"
+ id="path2016"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 4.5911814,375.08548 q 0.2162896,-0.37676 0.5172144,-0.55603 0.3009247,-0.17926 0.7084269,-0.17926 0.5485605,0 0.8463512,0.37372 0.29779,0.37069 0.29779,1.05737 v 2.05397 H 6.3810566 v -2.03574 q 0,-0.48918 -0.1786737,-0.72618 -0.1786744,-0.237 -0.5454264,-0.237 -0.4482525,0 -0.708427,0.28866 -0.2601745,0.28864 -0.2601745,0.78695 v 1.92331 H 4.1084479 v -2.03574 q 0,-0.49222 -0.178674,-0.72618 -0.1786741,-0.237 -0.5516954,-0.237 -0.4419832,0 -0.7021577,0.29169 -0.2601746,0.28865 -0.2601746,0.78392 v 1.92331 h -0.579907 v -3.40302 h 0.579907 v 0.52868 q 0.1974819,-0.31295 0.4733296,-0.46183 0.2758477,-0.14889 0.6551383,-0.14889 0.3824251,0 0.6488689,0.18838 0.2695784,0.18838 0.3980984,0.54691 z"
+ style="stroke-width:0.15801062"
+ id="path2018"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 9.4749397,374.82418 q -0.463926,0 -0.733505,0.35246 -0.269578,0.34941 -0.269578,0.96014 0,0.61071 0.266444,0.96317 0.269578,0.34942 0.736639,0.34942 0.460791,0 0.7303693,-0.35246 0.269579,-0.35246 0.269579,-0.96013 0,-0.60465 -0.269579,-0.9571 -0.2695783,-0.3555 -0.7303693,-0.3555 z m 0,-0.47399 q 0.7523123,0 1.1817563,0.47399 0.429445,0.474 0.429445,1.3126 0,0.83556 -0.429445,1.31259 -0.429444,0.47399 -1.1817563,0.47399 -0.755447,0 -1.184892,-0.47399 -0.426309,-0.47703 -0.426309,-1.31259 0,-0.8386 0.426309,-1.3126 0.429445,-0.47399 1.184892,-0.47399 z"
+ style="stroke-width:0.15801062"
+ id="path2020"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 14.349293,374.94875 v -1.84126 h 0.576773 v 4.72776 h -0.576773 v -0.51046 q -0.181808,0.30384 -0.460791,0.45272 -0.275847,0.14585 -0.664542,0.14585 -0.636331,0 -1.037563,-0.49222 -0.398099,-0.49223 -0.398099,-1.29436 0,-0.80214 0.398099,-1.29436 0.401232,-0.49223 1.037563,-0.49223 0.388695,0 0.664542,0.14889 0.278983,0.14584 0.460791,0.44967 z m -1.965415,1.18803 q 0,0.61679 0.260175,0.96925 0.263309,0.34941 0.720965,0.34941 0.457657,0 0.720966,-0.34941 0.263309,-0.35246 0.263309,-0.96925 0,-0.6168 -0.263309,-0.96622 -0.263309,-0.35245 -0.720966,-0.35245 -0.457656,0 -0.720965,0.35245 -0.260175,0.34942 -0.260175,0.96622 z"
+ style="stroke-width:0.15801062"
+ id="path2022"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 19.11707,375.99397 v 0.27346 h -2.6519 q 0.03761,0.57729 0.357349,0.88113 0.322867,0.30081 0.896505,0.30081 0.332271,0 0.642599,-0.079 0.313464,-0.079 0.620658,-0.237 v 0.52869 q -0.310329,0.12761 -0.63633,0.19445 -0.326003,0.0668 -0.661409,0.0668 -0.840081,0 -1.332218,-0.474 -0.489003,-0.47398 -0.489003,-1.2822 0,-0.83557 0.463926,-1.32475 0.46706,-0.49222 1.256987,-0.49222 0.708428,0 1.119065,0.44361 0.413771,0.44056 0.413771,1.20017 z m -0.576772,-0.16407 q -0.0063,-0.4588 -0.266444,-0.73226 -0.25704,-0.27346 -0.68335,-0.27346 -0.482733,0 -0.774255,0.26435 -0.288386,0.26433 -0.33227,0.7444 z"
+ style="stroke-width:0.15801062"
+ id="path2024"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ aria-label="sing"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ id="text2029"
+ transform="matrix(0.24788152,0,0,0.19166054,-0.30011791,231.82204)">
+ <path
+ d="m 9.4979038,260.24587 v 0.89917 q -0.4030761,-0.20671 -0.8371581,-0.31006 -0.4340821,-0.10335 -0.8991699,-0.10335 -0.7079671,0 -1.0645345,0.21704 -0.3513997,0.21704 -0.3513997,0.65112 0,0.33073 0.2532145,0.52193 0.2532145,0.18604 1.0180257,0.35657 l 0.3255615,0.0723 q 1.012858,0.21704 1.4366048,0.61495 0.4289143,0.39274 0.4289143,1.10071 0,0.80615 -0.6407877,1.2764 -0.6356201,0.47026 -1.751831,0.47026 -0.4650879,0 -0.9715169,-0.093 -0.5012614,-0.0879 -1.0593668,-0.26872 v -0.98185 q 0.5270995,0.27389 1.0386962,0.41341 0.5115967,0.13436 1.0128581,0.13436 0.6717936,0 1.0335286,-0.22737 0.361735,-0.23255 0.361735,-0.65113 0,-0.38757 -0.2635498,-0.59428 -0.2583822,-0.2067 -1.1420491,-0.3979 l -0.3307292,-0.0775 q -0.883667,-0.18603 -1.2764078,-0.56844 -0.3927409,-0.38757 -0.3927409,-1.05937 0,-0.81648 0.578776,-1.2609 0.578776,-0.44442 1.6433105,-0.44442 0.5270996,0 0.9921875,0.0775 0.4650879,0.0775 0.8578287,0.23254 z"
+ style="stroke-width:0.26458332"
+ id="path2043"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 11.32725,260.07534 h 0.950846 v 5.78776 H 11.32725 Z m 0,-2.25309 h 0.950846 v 1.20406 H 11.32725 Z"
+ style="stroke-width:0.26458332"
+ id="path2045"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 19.073546,262.36977 v 3.49333 H 18.1227 v -3.46232 q 0,-0.82166 -0.320394,-1.2299 -0.320394,-0.40825 -0.961182,-0.40825 -0.769979,0 -1.214396,0.49093 -0.444417,0.49093 -0.444417,1.33842 v 3.27112 h -0.956014 v -5.78776 h 0.956014 v 0.89917 q 0.341064,-0.52193 0.800985,-0.78032 0.465087,-0.25838 1.069702,-0.25838 0.997355,0 1.508951,0.62012 0.511597,0.61495 0.511597,1.81384 z"
+ style="stroke-width:0.26458332"
+ id="path2047"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 24.78896,262.90204 q 0,-1.03353 -0.428915,-1.60197 -0.423746,-0.56844 -1.193725,-0.56844 -0.764811,0 -1.193726,0.56844 -0.423746,0.56844 -0.423746,1.60197 0,1.02836 0.423746,1.5968 0.428915,0.56844 1.193726,0.56844 0.769979,0 1.193725,-0.56844 0.428915,-0.56844 0.428915,-1.5968 z m 0.950846,2.24276 q 0,1.47794 -0.656291,2.19624 -0.65629,0.72347 -2.010213,0.72347 -0.501261,0 -0.945678,-0.0775 -0.444418,-0.0724 -0.862997,-0.22738 v -0.925 q 0.418579,0.22737 0.826823,0.33589 0.408244,0.10852 0.831991,0.10852 0.935343,0 1.400431,-0.49092 0.465088,-0.48576 0.465088,-1.47278 v -0.47026 q -0.294556,0.5116 -0.754476,0.76481 -0.45992,0.25322 -1.100708,0.25322 -1.064535,0 -1.715658,-0.81132 -0.651123,-0.81132 -0.651123,-2.14974 0,-1.34359 0.651123,-2.15491 0.651123,-0.81132 1.715658,-0.81132 0.640788,0 1.100708,0.25322 0.45992,0.25321 0.754476,0.76481 v -0.8785 h 0.950846 z"
+ style="stroke-width:0.26458332"
+ id="path2049"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ aria-label="int"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ id="text2033"
+ transform="matrix(0.32041122,-0.03020076,0.01966042,0.20858479,-8.1685374,228.88505)">
+ <path
+ d="m 35.876029,258.739 h 0.950846 v 5.78776 h -0.950846 z m 0,-2.25309 h 0.950846 v 1.20406 h -0.950846 z"
+ style="stroke-width:0.26458332"
+ id="path2068"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 43.622326,261.03344 v 3.49332 h -0.950847 v -3.46232 q 0,-0.82165 -0.320394,-1.2299 -0.320394,-0.40824 -0.961181,-0.40824 -0.769979,0 -1.214396,0.49093 -0.444418,0.49092 -0.444418,1.33842 v 3.27111 H 38.775076 V 258.739 h 0.956014 v 0.89917 q 0.341065,-0.52193 0.800985,-0.78031 0.465088,-0.25838 1.069702,-0.25838 0.997355,0 1.508952,0.62011 0.511597,0.61495 0.511597,1.81385 z"
+ style="stroke-width:0.26458332"
+ id="path2070"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 46.469697,257.09569 v 1.64331 h 1.958537 v 0.73898 h -1.958537 v 3.14192 q 0,0.70797 0.191203,0.90951 0.19637,0.20154 0.790649,0.20154 h 0.976685 v 0.79581 h -0.976685 q -1.100708,0 -1.519287,-0.40824 -0.418579,-0.41341 -0.418579,-1.49862 v -3.14192 H 44.816051 V 258.739 h 0.697632 v -1.64331 z"
+ style="stroke-width:0.26458332"
+ id="path2072"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ aria-label="poly"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ id="text2037"
+ transform="matrix(0.25663654,0,0,0.21265583,-0.6642181,226.54879)">
+ <path
+ d="m 59.620352,262.38469 v 3.29869 l -1.234482,-0.29872 v -8.58548 l 1.234482,0.29872 v 0.94407 q 0.387028,-0.46168 0.974241,-0.58614 0.593887,-0.12841 1.414651,0.0702 1.361266,0.3294 2.208721,1.4341 0.854129,1.10634 0.854129,2.57242 0,1.46608 -0.854129,2.15904 -0.847455,0.69458 -2.208721,0.36518 -0.820764,-0.19861 -1.414651,-0.60888 -0.587213,-0.4142 -0.974241,-1.0632 z m 4.177222,-1.16055 q 0,-1.12734 -0.560521,-1.9016 -0.553849,-0.77822 -1.528089,-1.01396 -0.97424,-0.23575 -1.534762,0.27281 -0.55385,0.5046 -0.55385,1.63194 0,1.12733 0.55385,1.90554 0.560522,0.77427 1.534762,1.01002 0.97424,0.23574 1.528089,-0.26887 0.560521,-0.50855 0.560521,-1.63588 z"
+ style="stroke-width:0.31167662"
+ id="path2059"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 68.890982,258.87108 q -0.764811,0 -1.209228,0.59945 -0.444418,0.59428 -0.444418,1.63298 0,1.03869 0.43925,1.63814 0.444417,0.59428 1.214396,0.59428 0.759644,0 1.204061,-0.59945 0.444417,-0.59945 0.444417,-1.63297 0,-1.02837 -0.444417,-1.62781 -0.444417,-0.60462 -1.204061,-0.60462 z m 0,-0.80615 q 1.240234,0 1.948201,0.80615 0.707968,0.80616 0.707968,2.23243 0,1.4211 -0.707968,2.23242 -0.707967,0.80615 -1.948201,0.80615 -1.245402,0 -1.953369,-0.80615 -0.702799,-0.81132 -0.702799,-2.23242 0,-1.42627 0.702799,-2.23243 0.707967,-0.80615 1.953369,-0.80615 z"
+ style="stroke-width:0.26458332"
+ id="path2061"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 73.118114,255.95137 h 0.950846 v 8.04085 h -0.950846 z"
+ style="stroke-width:0.26458332"
+ id="path2063"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 78.461457,264.52965 q -0.403076,1.03353 -0.785481,1.34876 -0.382406,0.31522 -1.023194,0.31522 h -0.759643 v -0.79581 h 0.558105 q 0.392741,0 0.609782,-0.18604 0.217041,-0.18603 0.480591,-0.8785 l 0.170532,-0.43408 -2.340942,-5.69474 h 1.00769 l 1.808675,4.52685 1.808675,-4.52685 h 1.007691 z"
+ style="stroke-width:0.26458332"
+ id="path2065"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ aria-label="off"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ id="text2041"
+ transform="matrix(0.38538639,0,0,0.2273168,-0.53266411,220.80402)">
+ <path
+ d="m 62.306679,267.82461 q -0.764812,0 -1.209229,0.59944 -0.444417,0.59428 -0.444417,1.63298 0,1.03869 0.43925,1.63814 0.444417,0.59428 1.214396,0.59428 0.759643,0 1.204061,-0.59945 0.444417,-0.59944 0.444417,-1.63297 0,-1.02836 -0.444417,-1.62781 -0.444418,-0.60461 -1.204061,-0.60461 z m 0,-0.80616 q 1.240234,0 1.948201,0.80616 0.707967,0.80615 0.707967,2.23242 0,1.4211 -0.707967,2.23242 -0.707967,0.80615 -1.948201,0.80615 -1.245402,0 -1.953369,-0.80615 -0.7028,-0.81132 -0.7028,-2.23242 0,-1.42627 0.7028,-2.23242 0.707967,-0.80616 1.953369,-0.80616 z"
+ style="stroke-width:0.26458332"
+ id="path2052"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 69.463864,264.90489 v 0.79065 h -0.909505 q -0.511596,0 -0.713135,0.2067 -0.19637,0.20671 -0.19637,0.74414 v 0.5116 h 1.565796 v 0.73897 h -1.565796 v 5.04879 H 66.68884 v -5.04879 h -0.909505 v -0.73897 h 0.909505 v -0.40308 q 0,-0.96635 0.449585,-1.4056 0.449585,-0.44441 1.426269,-0.44441 z"
+ style="stroke-width:0.26458332"
+ id="path2054"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 73.184567,264.90489 v 0.79065 h -0.909505 q -0.511597,0 -0.713135,0.2067 -0.19637,0.20671 -0.19637,0.74414 v 0.5116 h 1.565796 v 0.73897 h -1.565796 v 5.04879 h -0.956014 v -5.04879 h -0.909505 v -0.73897 h 0.909505 v -0.40308 q 0,-0.96635 0.449585,-1.4056 0.449585,-0.44441 1.426269,-0.44441 z"
+ style="stroke-width:0.26458332"
+ id="path2056"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/res/iso-3way-1.svg b/res/iso-3way-1.svg
@@ -0,0 +1,148 @@
+<?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="10mm"
+ height="10mm"
+ viewBox="0 0 10 10"
+ version="1.1"
+ id="svg837"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="iso-3way-1.svg">
+ <defs
+ id="defs831">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-15.502741 : -0.68761461 : 1"
+ inkscape:vp_y="0 : 1935.9757 : 0"
+ inkscape:vp_z="25.090656 : 9.2983744 : 1"
+ inkscape:persp3d-origin="19.059341 : -5.6235546 : 1"
+ id="perspective1382" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="15.839192"
+ inkscape:cx="16.408478"
+ inkscape:cy="18.26861"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="855"
+ inkscape:window-x="0"
+ inkscape:window-y="1"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata834">
+ <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="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-287)">
+ <path
+ style="fill:none;fill-opacity:1;stroke:#ed8aab;stroke-width:0.81471747;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 1.413643,288.09371 -0.6863742,0.41182 c 0,0 -0.0617287,-0.001 -0.0623976,0 -0.004902,0.01 0.0031,0.0288 0,0.0412 -0.004385,0.0172 -0.0138662,0.0274 -0.0207994,0.0412 0,0.0274 0.004385,0.0562 0,0.0823 -0.0158337,0.0939 -0.0415984,-0.0254 -0.0415984,0.12352 0,0.0308 0.0277322,0.055 0.0207994,0.0823 -0.006201,0.0247 -0.0353973,-0.0247 -0.0415985,0 -0.006933,0.0274 0.0207994,0.0518 0.0207994,0.0824 0,0.0389 -0.0415985,0.0436 -0.0415985,0.0823 0,0.0197 0.0207994,0.0222 0.0207994,0.0412 0,0.0308 -0.0158965,0.0532 -0.0207994,0.0823 -0.004385,0.0261 0,0.055 0,0.0824 v 0.28828 0.24711 0.0823 c 0,0.0274 -0.004385,0.0565 0,0.0824 0.0031,0.0173 0.0138662,0.0274 0.0207994,0.0412 0.0207994,0.0412 0.0472641,0.0737 0.0623977,0.12352 0.007135,0.0247 0,0.055 0,0.0823 0.0138662,0.0412 0.0239225,0.0885 0.0415984,0.12352 0.0109622,0.0222 0.0296887,0.0222 0.0415984,0.0412 0.0301292,0.0498 0.0499389,0.12352 0.0831969,0.16469 0.0242407,0.0301 0.059412,0.01 0.0831969,0.0412 0.020799,0.0274 0.0204005,0.0974 0.0415984,0.12352 0.0371836,0.0461 0.085576,0.0436 0.1247954,0.0824 0.031006,0.0308 0.052191,0.0929 0.083197,0.12351 0.025568,0.0254 0.056078,0.0222 0.083197,0.0412 0.035421,0.0222 0.069038,0.0565 0.1039965,0.0823 0.020529,0.0148 0.043362,0.0197 0.062398,0.0412 0.030098,0.034 0.049865,0.10478 0.083196,0.12352 0.02108,0.0123 0.040772,-0.0483 0.062398,-0.0412 0.024657,0.007 0.040039,0.0602 0.062398,0.0823 0.01961,0.0197 0.042788,0.0222 0.062398,0.0412 0.00877,0.01 0.010995,0.0412 0.020799,0.0412 0.021924,0 0.040473,-0.0412 0.062398,-0.0412 0.00694,0 -0.0062,0.035 0,0.0412 0.006,0.005 0.1115021,0 0.1247954,0 0.00694,0 -0.015897,0.01 -0.020799,0 -0.00491,-0.01 -0.00491,-0.0316 0,-0.0412 0.010957,-0.0222 0.030637,-0.0197 0.041599,-0.0412 0.00491,-0.01 -0.015897,0.01 -0.020799,0 -0.00491,-0.01 0,-0.0274 0,-0.0412 v -0.0412 c 0,-0.0148 -0.00694,-0.0412 0,-0.0412 0.00694,0 0.00694,0.0412 0,0.0412 -0.00694,0 0.00696,-0.0422 0,-0.0412 l -0.3327882,0.0412"
+ id="path913"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccsccssscsccsccccccccccccccccccsscsccccsssssc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#ed8aab;stroke-width:0.81471747;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 2.0584188,287.22889 c 0.00694,0.0823 0.025941,1.15801 0.041599,1.23547 0.012875,0.0639 0.048319,0.10207 0.062398,0.16469 0.014358,0.0639 0.011493,0.13831 0.0208,0.20586 0.011542,0.0838 0.027732,0.16469 0.041599,0.24711 0.079526,0.47238 2.708e-4,0.0123 0.1039964,0.57656 0.024737,0.13462 0.036414,0.27805 0.062398,0.41183 0.016696,0.086 0.046755,0.16025 0.062398,0.24711 0.019229,0.1065 0.024785,0.22114 0.041599,0.32945 0.010982,0.0708 0.024901,0.13979 0.041599,0.20586 0.018079,0.0715 0.051292,0.12894 0.062398,0.20586 0.00426,0.0296 -0.026556,0.0537 -0.020799,0.0823 0.01092,0.054 0.05081,0.07 0.062398,0.12352 0.01092,0.0505 0,0.10971 0,0.16469 0,0.0966 -0.00491,-0.0197 0.0208,0.0823 0.0031,0.0123 0,0.0274 0,0.0412 0.013866,0.0274 0.027732,0.055 0.041599,0.0824 0.00694,0.0148 -0.016415,-0.0247 -0.020799,-0.0412 -0.0031,-0.0123 0,-0.0274 0,-0.0412 v -0.2471 -0.16469 c 0,-0.0274 0.00195,-0.0552 0,-0.0823 -0.00501,-0.0693 -0.017599,-0.13634 -0.020799,-0.20586 -0.00376,-0.0821 0,-0.16469 0,-0.24709 v -0.2471 c 0,-0.0173 -0.00281,-0.23594 0,-0.24709 0.015928,-0.0631 0.037064,-0.0323 0.062398,-0.0823 0.012426,-0.0247 -0.022481,-0.0823 0.020799,-0.0823 0.0098,0 0.010995,0.0412 0.020799,0.0412 0.027454,0 0.014145,-0.0823 0.041599,-0.0823 0.059526,0 -0.012923,0.0772 0.041599,0.0412 0.014708,-0.01 0.026559,-0.0338 0.041599,-0.0412 0.013453,-0.007 0.027732,0 0.041599,0 0.013866,0 0.028724,-0.01 0.041599,0 0.2753495,0.21794 0.00281,-0.0343 0.083196,0.16469 0.021655,0.0535 0.058685,0.075 0.083196,0.12352 0.010957,0.0222 0.012824,0.056 0.020799,0.0823 0.012861,0.0424 0.027732,0.0824 0.041599,0.12352 0.013866,0.055 0.026215,0.11144 0.041599,0.16469 0.012402,0.0429 0.0266,0.0838 0.041599,0.12352 0.00588,0.0148 0.017158,0.0222 0.020799,0.0412 0.010621,0.0525 0.010185,0.11218 0.020799,0.16469 0.00364,0.0173 0.013866,0.0274 0.020799,0.0412 0.00694,0.0274 0.015897,0.0532 0.020799,0.0824 0.00219,0.0123 -0.00491,0.0315 0,0.0412 0.010957,0.0222 0.034665,0.0148 0.041599,0.0412 0.00438,0.0173 -0.0208,0.0222 -0.0208,0.0412 0,0.0308 0.00984,0.0607 0.0208,0.0824 0.00491,0.01 0,-0.055 0,-0.0412 v 0.0412"
+ id="path915"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccsccccscsccssccsssccscccccccccccccscsc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#ed8aab;stroke-width:0.81471747;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 4.7415179,288.42319 c 0,0.23347 0,0.46673 0,0.7001 0,0.10996 -0.00369,0.21992 0,0.32948 0.00326,0.0969 0.020798,0.19132 0.020798,0.28828 0,0.12426 -0.020798,0.2463 -0.020798,0.37065 0,0.0434 0.017194,0.0806 0.020798,0.12352 0.010322,0.12253 0.013464,0.24718 0.020798,0.37065 0.029459,0.4958 0.00903,0.1573 0.041599,0.57656 0.00746,0.0959 0.00977,0.19379 0.020801,0.28829 0.1148976,0.6825 -0.00768,-0.1324 0.041599,0.45302 0.00162,0.0197 0.018422,0.0222 0.020798,0.0412 0.0084,0.0666 -0.0084,0.13929 0,0.20586 0.00376,0.0298 0.015895,0.0532 0.020801,0.0824 0.00438,0.0261 0,0.055 0,0.0823"
+ id="path917"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#ed8aab;stroke-width:0.81471747;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 4.3879313,292.33558 c 0.090129,0 0.1802599,0 0.2703898,0 0.020798,0 0.041599,0 0.062398,0 0.020801,0 0.041881,0.007 0.062398,0 0.021624,-0.007 0.040899,-0.0328 0.062398,-0.0412 0.013596,-0.005 0.027733,0 0.041599,0 0.055465,0 0.1109294,0 0.1663937,0 0.027733,0 0.055465,0 0.083196,0 0.00694,0 0.020801,-0.0148 0.020801,0 0,0.0148 -0.027733,0 -0.020801,0 0.013866,0 0.027733,0 0.041599,0 0.00694,0 -0.020798,0.0148 -0.020798,0 0,-0.0274 0.031795,0.0197 0.041599,0 0.00491,-0.01 -0.00491,-0.0316 0,-0.0412 0.00491,-0.01 0.027653,-0.002 0.020797,0 -0.096909,0.0296 -0.1941261,0.0547 -0.2911893,0.0823"
+ id="path919"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#ed8aab;stroke-width:0.81471747;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 4.7415179,288.42319 c 0.020798,0.055 0.056699,0.0969 0.062398,0.16469 0.00534,0.0636 -0.069836,0.0971 -0.083198,0.12351 -0.017675,0.035 -0.025984,0.0848 -0.041599,0.12352 -0.012252,0.0303 -0.027733,0.055 -0.041599,0.0824 -0.041599,0.0823 -0.083196,0.16469 -0.1247952,0.24711 -0.00694,0.0148 -0.013866,0.0274 -0.020797,0.0412 -0.00694,0.0148 -0.016416,0.0247 -0.020801,0.0412 -0.0031,0.0123 0.00491,0.0316 0,0.0412 -0.00491,0.01 -0.015895,-0.01 -0.020798,0 -0.00491,0.01 0.00694,0.0412 0,0.0412 -0.015503,0 -0.026096,-0.0412 -0.041599,-0.0412 -0.0098,0 0.025183,0.0247 0.020801,0.0412 -0.00694,0.0274 -0.026096,0.0412 -0.041599,0.0412 -0.0098,0 0.030606,-0.0412 0.020797,-0.0412 -0.015503,0 -0.034665,0.0148 -0.041599,0.0412 -0.00438,0.0173 0.010995,0.0412 0.020798,0.0412 0.00694,0 0.00694,-0.0412 0,-0.0412 -0.015503,0 -0.030635,0.0197 -0.041599,0.0412 -0.00491,0.01 0.027733,0 0.020798,0 -0.013866,0 -0.029195,-0.0123 -0.041599,0 -0.0062,0.005 0.00694,0.0412 0,0.0412 -0.0098,0 -0.013866,-0.055 -0.020797,-0.0412 -0.0098,0.0197 0.0098,0.0629 0,0.0823 -0.00694,0.0148 -0.010995,-0.0412 -0.020801,-0.0412 -0.00694,0 0.0031,0.0289 0,0.0412 -0.04024,0.15926 -0.00134,-0.1181 -0.041599,0.0412 -0.0031,0.0123 0.00694,0.0412 0,0.0412 -0.00694,0 0,-0.0274 0,-0.0412"
+ id="path921"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccccsscsscsscscsccsccsc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.46357131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 7.133428,290.44116 c 0,0.0685 0,0.13732 0,0.20586 0,0.0962 0,0.19206 0,0.28828 0,0.0685 -0.0084,0.1393 0,0.20586 0.00606,0.0481 0.027733,0.0823 0.041599,0.12352 0.013866,0.0962 0.033301,0.18984 0.041599,0.28828 0.0057,0.0678 0,0.13733 0,0.20586 0,0.0274 -0.00515,0.057 0,0.0823 0.00929,0.0459 0.038064,0.0745 0.041599,0.12352 0.00405,0.056 -0.0161,0.10897 -0.020798,0.16469 -0.011841,0.14053 -0.00144,0.0355 0.020798,0.12351 0.0031,0.0123 0.00694,0.0412 0,0.0412 -0.00694,0 0,-0.0274 0,-0.0412"
+ id="path923"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.46357131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 6.9462349,288.75264 c 0,0.23348 0,0.46675 0,0.70011 0,0.0148 0,-0.055 0,-0.0412 0,0.0274 0,0.055 0,0.0824 0,0.0148 -0.00491,-0.0316 0,-0.0412 0.00491,-0.01 0.013866,0 0.020798,0 0.013866,0 0.027733,0 0.041599,0 0.00694,0 -0.0239,0.0123 -0.020798,0 0.00877,-0.0348 0.027733,-0.055 0.041599,-0.0823 0.00694,-0.0148 -0.010995,0.0412 -0.020801,0.0412 -0.00694,0 -0.00491,-0.0315 0,-0.0412 0.0098,-0.0197 0.041599,0.0274 0.041599,0 0,-0.0197 -0.020798,-0.0222 -0.020798,-0.0412 0,-0.0148 0.015895,0.01 0.020798,0 0.04699,-0.0929 -0.1112742,0 0.041599,0 0.0098,0 -0.016413,-0.0247 -0.020798,-0.0412 -0.00316,-0.0123 0,-0.10503 0,-0.12352 0,-0.0148 -0.00694,-0.0412 0,-0.0412 0.00694,0 0,0.055 0,0.0412 0,-0.055 0,-0.10971 0,-0.16469 0,-0.0148 0,-0.0274 0,-0.0412 0,-0.0148 -0.00694,-0.0412 0,-0.0412 0.00694,0 0.00491,0.0508 0,0.0412 -0.010957,-0.0222 -0.00984,-0.0607 -0.020797,-0.0824 -0.00491,-0.01 0.00491,0.0508 0,0.0412 -0.010957,-0.0222 -0.020798,-0.0518 -0.020798,-0.0823 0,-0.0197 0.010995,0.0412 0.020798,0.0412 0.00694,0 0.00491,-0.0316 0,-0.0412 -0.00491,-0.01 -0.01436,0.005 -0.020798,0 -0.028786,-0.0222 -0.097064,-0.0274 -0.083198,-0.0823 0.013866,-0.055 0.055465,0.055 0,0 z"
+ id="path925"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.46357131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 7.5910108,290.52353 c 0,0.12351 0,0.24708 0,0.37065 0,0.11784 0.00459,0.0865 0.020798,0.24708 0.00134,0.0123 -0.0031,0.0289 0,0.0412 0.011181,0.0444 0.036697,0.075 0.041599,0.12352 0.00303,0.0301 -0.027733,0.055 -0.020801,0.0824 0.0062,0.0247 0.031795,-0.0197 0.041599,0 0.00694,0.0148 -0.020797,0.0222 -0.020797,0.0412 0,0.0197 0.012028,0.0325 0.020797,0.0412 0.0062,0.005 0.020798,-0.0148 0.020798,0 0,0.0197 -0.010995,0.0412 -0.020798,0.0412 -0.00694,0 0,-0.0274 0,-0.0412 0,-0.0274 0,-0.055 0,-0.0823 0,-0.1785 0,-0.35692 0,-0.53539 0,-0.10996 0,-0.21967 0,-0.32948 0,-0.055 -0.00877,-0.11267 0,-0.16469 0.0062,-0.0367 0.034316,-0.0464 0.041599,-0.0824 0.00772,-0.0382 -0.011543,-0.0892 0,-0.12351 0.00769,-0.0222 0.033906,0.0222 0.041599,0 0.011542,-0.0343 -0.010696,-0.0883 0,-0.12352 0.012861,-0.0424 0.048532,-0.0412 0.062398,-0.0824 0.00544,-0.0172 -0.027733,-0.0274 -0.020798,-0.0412 0.015503,-0.0308 0.044155,-0.0173 0.062398,-0.0412 0.00576,-0.007 0,-0.0274 0,-0.0412 0,-0.0991 -0.00657,0 0.062398,0 0.00694,0 -0.00657,-0.0367 0,-0.0412 0.019733,-0.0123 0.041599,0 0.062398,0 0.00694,0 -0.027733,0 -0.020798,0 0.013866,0 0.027733,0 0.041599,0 0.00694,0 0.015895,-0.01 0.020797,0 0.00491,0.01 -0.00416,0.0301 0,0.0412 0.017649,0.0466 0.044749,0.0769 0.062398,0.12351 0.00416,0.01 -0.00168,0.0279 0,0.0412 0.00532,0.0422 0.010995,0.0848 0.020798,0.12351 0.036136,0.14324 0.1018983,0.25318 0.1247952,0.41185 0.00572,0.0397 -0.00657,0.0846 0,0.12352 0.014706,0.0873 0.046068,0.16074 0.062398,0.24711 0.00487,0.0256 -0.0062,0.0577 0,0.0823 0.00877,0.0348 0.034316,0.0464 0.041599,0.0824 0.00772,0.0382 -0.00408,0.0831 0,0.12352 0.00303,0.0301 0.017038,0.0525 0.020798,0.0823 0.00336,0.0266 -0.00336,0.0557 0,0.0823 0.020778,0.16469 0.02096,6.5e-4 0.062398,0.16469 0.0031,0.0123 -0.017697,-0.0123 -0.020798,0 -0.0062,0.0247 0,0.055 0,0.0824 0,0.0148 0,-0.0274 0,-0.0412 0,-0.0412 0,-0.0823 0,-0.12352"
+ id="path927"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.46357131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 9.1093538,288.5879 c 0,0.10996 -0.0058,0.22016 0,0.32948 0.00812,0.15261 0.037299,0.29977 0.041599,0.453 0.027733,0.98841 -0.1032992,-0.60669 -0.020801,0.70013 0.00544,0.086 0.03616,0.16099 0.041599,0.24708 0.0086,0.13634 0,0.27457 0,0.41185 0,0.31572 0,0.63147 0,0.94721 0,0.16469 0,0.32946 0,0.4942 0,0.0148 0,-0.055 0,-0.0412 0,0.0412 0,0.0824 0,0.12352 0,0.0148 -0.00491,0.0316 0,0.0412 0.012427,0.0247 0.041599,-0.0446 0.041599,0.0412 0,0.0197 -0.016416,0.0247 -0.020801,0.0412 -0.0094,0.0372 0.017915,0.1065 0.020801,0.12351 0.00391,0.0222 0,0.0964 0,0.12352"
+ id="path929"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.46357131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 8.7349677,290.60587 c 0.027733,0 0.055465,0 0.083196,0 0.00694,0 -0.027733,0 -0.020798,0 0.1363505,0 -0.073953,0 0.062398,0 0.00694,0 -0.027733,0 -0.020798,0 0.027733,0 0.055465,0 0.083196,0 0.00694,0 0.014074,-0.002 0.020798,0 0.021268,0.01 0.040899,0.0328 0.062398,0.0412 0.013596,0.005 0.028148,-0.007 0.041599,0 0.015039,0.007 0.02656,0.0338 0.041599,0.0412 0.013451,0.007 0.027733,0 0.041599,0 0.048532,0 0.097063,0 0.1455946,0 0.013866,0 0.028003,-0.005 0.041599,0 0.0215,0.007 0.041128,0.0306 0.062398,0.0412 0.00672,0.002 0.013866,0 0.020798,0 0.020797,0 0.041599,0 0.062398,0 0.027733,0 0.055465,0 0.083196,0 0.06933,0 0.1386616,0 0.2079921,0 0.00694,0 -0.013866,0 -0.020798,0"
+ id="path931"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.46357131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 2.7655922,294.31238 c 0.027387,0.11366 -0.02191,0.25495 0,0.37063 0.012177,0.0643 0.048054,0.10231 0.062398,0.16469 0.1697538,0.73948 -0.014293,-0.0333 0.020799,0.45302 0.00354,0.0491 0.034731,0.0759 0.041599,0.12352 0.00762,0.0528 -0.00392,0.11045 0,0.16469 0.0031,0.0429 0.017698,0.0806 0.0208,0.12351 0.00392,0.0542 0,0.10996 0,0.16469 0,0.0685 0,0.13733 0,0.20587 0,0.0148 0,-0.0274 0,-0.0412 0,-0.0545 0,-0.0281 0,-0.0823"
+ id="path933"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.46357131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 2.7655922,294.31238 c 0.1002934,0.0444 0.1919562,0.0412 0.2911891,0.0412 0.020799,0 0.042666,0.0123 0.062398,0 0.023715,-0.0148 0.037652,-0.0754 0.062398,-0.0823 0.028298,-0.007 0.054832,0.0343 0.083196,0.0412 0.027518,0.007 0.055465,0 0.083196,0 0.027733,0 0.055465,0 0.083196,0 0.076263,0 0.1525278,0 0.2287916,0 0.077916,0 0.082954,0 0.1247952,0 0.00694,0 -0.027733,0 -0.020798,0 0.013866,0 0.027733,0 0.041599,0 0.00694,0 0.017697,-0.0123 0.020797,0 0.0062,0.0247 -0.00438,0.0565 0,0.0823 0.0031,0.0173 0.016416,0.0247 0.020798,0.0412 0.0062,0.0247 -0.0062,0.0577 0,0.0823 0.00438,0.0173 0.016414,0.0247 0.020798,0.0412 0.0031,0.0123 -0.0031,0.0288 0,0.0412 0.00438,0.0173 0.020798,0.0222 0.020798,0.0412 0,0.0197 -0.020798,0.0222 -0.020798,0.0412 0,0.0197 0.017697,0.0222 0.020798,0.0412 0.00438,0.0261 0,0.055 0,0.0823 0,0.0274 0,0.055 0,0.0824 0,0.0274 0,0.055 0,0.0823 0,0.0148 0.0062,0.035 0,0.0412 -0.012402,0.0123 -0.031795,-0.0197 -0.041599,0 -0.015503,0.0308 -0.00529,0.0929 -0.020798,0.12352 -0.015503,0.0308 -0.043597,0.0197 -0.062398,0.0412 -0.016814,0.0197 -0.027733,0.055 -0.041599,0.0823 -0.013866,0.0274 -0.027733,0.055 -0.041599,0.0823 -0.00694,0.0148 -0.010995,0.0412 -0.020801,0.0412 -0.0098,0 -0.011493,-0.0473 -0.020798,-0.0412 -0.018604,0.0123 -0.027733,0.055 -0.041599,0.0823 -0.00694,0.0148 -0.010995,0.0412 -0.020798,0.0412 -0.021924,0 -0.041599,-0.055 -0.062398,-0.0412 -0.013155,0.01 0.0098,0.0629 0,0.0823 -0.00694,0.0148 -0.010995,-0.0412 -0.020798,-0.0412 -0.021924,0 -0.041128,0.0306 -0.062398,0.0412 -0.00672,0.002 -0.013866,0 -0.020798,0 -0.041599,0 -0.083198,0 -0.1247955,0 -0.013866,0 -0.028444,0.01 -0.041599,0 -0.0093,-0.005 -0.012028,-0.0325 -0.020799,-0.0412 -0.0062,-0.005 -0.013866,0 -0.020799,0 -0.013866,-0.0274 -0.027732,-0.055 -0.041599,-0.0823 -0.00694,-0.0148 -0.010995,-0.0412 -0.0208,-0.0412 -0.0098,0 -0.012028,0.0498 -0.020799,0.0412 -0.013866,-0.0148 -0.00694,-0.0685 -0.020799,-0.0824 -0.00877,-0.01 -0.012028,0.0325 -0.020799,0.0412 -0.0062,0.005 -0.014222,0.005 -0.020799,0 -0.014708,-0.01 -0.034666,-0.0148 -0.041599,-0.0412 -0.00438,-0.0173 0.010995,-0.0412 0.020799,-0.0412 0.00694,0 0.0062,0.035 0,0.0412 -0.012402,0.0123 -0.027732,0 -0.041599,0 -0.00694,0 0.027732,0 0.0208,0 -0.013866,0 -0.027732,0 -0.041599,0 -0.00694,0 0.022077,-0.0123 0.020799,0 -0.021072,0.22238 -0.055465,0.43914 -0.083196,0.65871"
+ id="path935"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.46357131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 4.928711,294.60066 c -0.090129,0 -0.1802599,0 -0.2703899,0 -0.013866,0 -0.028444,0.01 -0.041599,0 -0.0093,-0.005 -0.010995,-0.0412 -0.020801,-0.0412 -0.0098,0 -0.012641,0.0303 -0.020797,0.0412 -0.012897,0.0173 -0.030635,0.0197 -0.041599,0.0412 -0.010957,0.0222 -0.00789,0.0653 -0.020798,0.0823 -0.011542,0.0148 -0.031795,-0.0197 -0.041599,0 -0.015503,0.0308 -0.015481,0.0814 -0.020798,0.12352 -0.00168,0.0123 0.00491,0.0316 0,0.0412 -0.010957,0.0222 -0.036695,0.0123 -0.041599,0.0412 -0.00491,0.0291 0.023838,0.0523 0.020801,0.0823 -0.00491,0.0486 -0.036695,0.075 -0.041599,0.12351 -0.00303,0.0301 0.017761,0.0523 0.020798,0.0824 0.00349,0.0345 0,0.34274 0,0.37065 0,0.0274 -0.0062,0.0579 0,0.0823 0.00877,0.0348 0.032829,0.0476 0.041599,0.0823 0.0062,0.0247 -0.00515,0.057 0,0.0824 0.00929,0.0459 0.023924,0.0885 0.041599,0.12351 0.00491,0.01 0.014598,-0.005 0.020798,0 0.00877,0.01 0.013866,0.0274 0.020798,0.0412 0.00694,0.0148 0.016416,0.0247 0.020801,0.0412 0.0031,0.0123 -0.00491,0.0316 0,0.0412 0.029565,0.1785 0.043794,-0.0173 0.062398,0 0.013866,0.0148 0.00609,0.0727 0.020797,0.0824 0.014706,0.01 0.02656,-0.0338 0.041599,-0.0412 0.014078,-0.007 0.13221,0 0.1455947,0 0.057837,0 0.1795419,0.0247 0.2287914,-0.0412 0.00577,-0.007 -0.00576,-0.0335 0,-0.0412 0.00407,-0.005 0.094429,-0.054 0.1039952,-0.0824 0.00769,-0.0222 -0.0098,-0.0629 0,-0.0823 0.015503,-0.0308 0.042042,-0.0251 0.062398,-0.0412 0.014394,-0.0123 0.029195,-0.0222 0.041599,-0.0412 0.015689,-0.0222 0.025911,-0.0592 0.041599,-0.0823 0.012402,-0.0173 0.032999,-0.0148 0.041599,-0.0412 0.0077,-0.0222 -0.0098,-0.0629 0,-0.0823 0.015503,-0.0308 0.042788,-0.0222 0.062398,-0.0412 0.00877,-0.01 0.013866,-0.0274 0.020798,-0.0412 0.013866,-0.0274 0.032829,-0.0476 0.041599,-0.0823 0.0062,-0.0247 -0.00769,-0.0594 0,-0.0823 0.0086,-0.0256 0.034666,-0.0148 0.041599,-0.0412 0.00438,-0.0172 -0.025183,-0.0246 -0.020797,-0.0412 0.00694,-0.0274 0.036697,-0.0123 0.041599,-0.0412 0.00491,-0.0291 -0.020797,-0.0518 -0.020797,-0.0823 0,-0.0148 0.017697,0.0123 0.020797,0 0.0062,-0.0247 0,-0.055 0,-0.0823 0,-0.0274 0,-0.055 0,-0.0823 0,-0.0274 0.0098,-0.0629 0,-0.0823 -0.0098,-0.0197 -0.029709,0.0148 -0.041599,0 -0.017216,-0.0197 -0.099582,-0.19723 -0.1247952,-0.24711 -0.00694,-0.0148 -0.012028,-0.0325 -0.020798,-0.0412 -0.020798,-0.0148 -0.041599,-0.0274 -0.062398,-0.0412 0,0.0148 0.00694,0.0412 0,0.0412 -0.0098,0 -0.012028,-0.0325 -0.020801,-0.0412 -0.019608,-0.0197 -0.040473,-0.0412 -0.062398,-0.0412 -0.00694,0 0.00694,0.0412 0,0.0412 -0.043849,0 -0.080946,-0.0823 -0.1247955,-0.0823 -0.00694,0 0.00491,0.0316 0,0.0412 -0.00491,0.01 -0.014133,-0.005 -0.020798,0 -0.042162,0.0247 -0.083196,0.055 -0.1247952,0.0823 z"
+ id="path937"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.46357131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 6.1974631,294.64184 c 0,0.23347 0,0.46675 0,0.7001 0,0.0685 -0.00345,0.13757 0,0.20586 0.00352,0.0695 0.017863,0.13609 0.020798,0.20586 0.00403,0.0957 0,0.19206 0,0.28829 0,0.20586 0,0.41182 0,0.61773 0,0.0148 -0.0062,-0.035 0,-0.0412 0.012402,-0.0123 0.035397,0.0247 0.041599,0 0.00694,-0.0274 -0.031761,-0.0607 -0.020801,-0.0824 0.01097,-0.0222 0.026893,0.0508 0.041599,0.0412 4.613e-4,-3e-4 0.025483,-0.12352 0.041599,-0.12352 0.0098,0 0.011281,0.0459 0.020798,0.0412 0.079298,0.22214 0.05931,-0.11957 0.062398,-0.12352 0.018241,-0.0247 0.041317,-0.0293 0.062398,-0.0412 0.027485,-0.0148 0.055711,-0.0256 0.083196,-0.0412 0.021081,-0.0123 0.040772,-0.034 0.062398,-0.0412 0.020515,-0.007 0.042219,0.01 0.062398,0 0.00951,-0.005 0.010995,-0.0412 0.020798,-0.0412 0.055465,0 -0.024164,0.12697 0.062398,0.0412 0.0062,-0.005 -0.00491,-0.0316 0,-0.0412 0.010957,-0.0222 0.026096,-0.0412 0.041599,-0.0412 0.0098,0 -0.027733,0.0274 -0.020798,0.0412 0.0098,0.0197 0.031795,0.0197 0.041599,0 0.00694,-0.0148 -0.020798,-0.0222 -0.020798,-0.0412 0,-0.0148 0.013866,0 0.020798,0 0.00694,0 0.020798,-0.0148 0.020798,0 0,0.0148 -0.020798,0.0148 -0.020798,0 0,-0.0197 0.010995,-0.0412 0.020798,-0.0412 0.00694,0 0,0.0274 0,0.0412"
+ id="path939"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.46357131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 7.1958257,294.60066 c 0.034665,0.0412 0.069331,0.0824 0.1039965,0.12352 0.00694,0.0274 0.00869,0.0631 0.020797,0.0824 0.02421,0.0382 0.05661,0.0508 0.083196,0.0823 0.0084,0.01 0.012641,0.0303 0.020798,0.0412 0.012897,0.0173 0.028698,0.0247 0.041599,0.0412 0.038056,0.0503 0.00208,0.0525 0.062398,0.0823 0.013451,0.007 0.030061,-0.0148 0.041599,0 0.012901,0.0173 0.00694,0.0685 0.020798,0.0823 0.016245,0.0173 0.017681,-0.0885 0.041599,-0.0412 0.00491,0.01 -0.0062,0.035 0,0.0412 0.012402,0.0123 0.027733,0 0.041599,0 0.00694,0 -0.027733,0 -0.020797,0 0.013866,0 0.027733,0 0.041599,0 0.00694,0 -0.027733,0 -0.020798,0 0.1363505,0 -0.073952,0 0.062398,0 0.00694,0 -0.027733,0 -0.020798,0 0.013866,0 0.027733,0 0.041599,0 0.027733,0 -0.076263,0.0148 -0.020797,-0.0412 0.012402,-0.0123 0.031795,0.0197 0.041599,0 0.00694,-0.0148 -0.016413,-0.0247 -0.020798,-0.0412 -0.0031,-0.0123 -0.0031,-0.0288 0,-0.0412 0.015833,-0.0626 0.041599,-0.0247 0.041599,-0.12352 0,-0.0148 -0.020798,0.0148 -0.020798,0 0,-0.0434 0.015481,-0.0814 0.020798,-0.12352 0.00168,-0.0123 -0.0031,-0.0288 0,-0.0412 0.022359,-0.0885 0.064629,-0.15507 0.083196,-0.24708 0.00515,-0.0254 -0.00438,-0.0565 0,-0.0824 0.0098,-0.0582 0.029387,-0.10823 0.041599,-0.16469 0.050003,-0.23101 -0.016439,-0.0148 0.062398,-0.28828 0.012402,-0.0429 0.031751,-0.0781 0.041599,-0.12352 0.011256,-0.052 0.010185,-0.11217 0.020798,-0.16469 0.00364,-0.0173 0.015363,-0.0251 0.020797,-0.0412 0.0172,-0.051 0.024399,-0.11366 0.041599,-0.16469 0.00544,-0.0173 0.016413,-0.0246 0.020798,-0.0412 0.0031,-0.0123 -0.0062,-0.035 0,-0.0412 0.034269,-0.034 0.063519,0.0434 0.020798,-0.0412"
+ id="path941"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.46357131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 7.2998219,294.72418 c 0.1178623,0.13732 0.2387826,0.26476 0.3535868,0.41185 0.00583,0.007 0,0.0274 0,0.0412 0,0.0412 -0.00772,0.0853 0,0.12352 0.00929,0.0458 0.028738,0.0811 0.041599,0.12352 0.00798,0.0264 0.011493,0.0579 0.020797,0.0823 0.011767,0.0311 0.031508,0.0491 0.041599,0.0824 0.063419,0.0291 0.00802,0.11414 0.020798,0.16469 0.047595,0.1886 -0.00862,-0.1748 0.041599,0.12351 0.0022,0.0123 -0.0031,0.0288 0,0.0412 0.00438,0.0172 0.016412,0.0247 0.020798,0.0412 0.0031,0.0123 -0.00491,0.0316 0,0.0412 0.00491,0.01 0.015895,-0.01 0.020801,0 0.00491,0.01 -0.00491,0.0316 0,0.0412 0.0098,0.0197 0.041599,-0.0274 0.041599,0 0,0.0197 -0.027733,0.0274 -0.020801,0.0412 0.0098,0.0197 0.027733,0 0.041599,0 0.00694,0 -0.027733,0 -0.020798,0 0.013866,0 0.027733,0 0.041599,0 0.00694,0 -0.015895,-0.01 -0.020797,0 -0.00491,0.01 -0.00491,0.0315 0,0.0412 0.00491,0.01 0.014598,-0.005 0.020797,0 0.00877,0.01 0.013866,0.0274 0.020801,0.0412 0.00694,0.0148 0.016412,0.0247 0.020797,0.0412 0.0031,0.0123 -0.00491,0.0316 0,0.0412 0.00491,0.01 0.015896,-0.01 0.020798,0 0.010397,0.0197 -0.010397,0.10305 0,0.12351 0.027733,0.055 0.020797,-0.0685 0.020797,0.0412"
+ id="path943"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/res/iso-3way-2.svg b/res/iso-3way-2.svg
@@ -0,0 +1,172 @@
+<?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="10mm"
+ height="10mm"
+ viewBox="0 0 10 10"
+ version="1.1"
+ id="svg837"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="iso-3way-2.svg">
+ <defs
+ id="defs831">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-15.502741 : -0.68761461 : 1"
+ inkscape:vp_y="0 : 1935.9757 : 0"
+ inkscape:vp_z="25.090656 : 9.2983744 : 1"
+ inkscape:persp3d-origin="19.059341 : -5.6235546 : 1"
+ id="perspective1382" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="15.839192"
+ inkscape:cx="17.49466"
+ inkscape:cy="18.522341"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="855"
+ inkscape:window-x="0"
+ inkscape:window-y="1"
+ inkscape:window-maximized="1"
+ inkscape:snap-global="false" />
+ <metadata
+ id="metadata834">
+ <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="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-287)">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.41766325px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 0.76094934,287.95497 c -0.0771761,0 -0.15435228,0 -0.2315284,0 -0.004011,0 -0.0490813,-10e-4 -0.0496132,0 -0.003898,0.0102 0.002465,0.0294 0,0.0421 -0.003487,0.0176 -0.0110253,0.028 -0.0165379,0.0421 0,0.028 0.003487,0.0574 0,0.084 -0.0125895,0.0959 -0.0330755,-0.0259 -0.0330755,0.12611 0,0.0315 0.0220502,0.0562 0.0165379,0.084 -0.004931,0.0251 -0.0281449,-0.0252 -0.0330755,0 -0.005512,0.028 0.0165379,0.0528 0.0165379,0.084 0,0.0397 -0.0330755,0.0445 -0.0330755,0.084 0,0.0201 0.0165379,0.0227 0.0165379,0.0421 0,0.0315 -0.0126396,0.0543 -0.0165379,0.084 -0.003487,0.0267 0,0.0562 0,0.084 0,0.0981 0,0.19608 0,0.29431 0,0.084 0,0.16814 0,0.25228 0,0.028 0,0.0562 0,0.084 0,0.028 -0.003487,0.0576 0,0.084 0.002465,0.0176 0.0110253,0.028 0.0165379,0.0421 0.0165379,0.0421 0.0375803,0.0753 0.0496133,0.1261 0.005672,0.0251 0,0.0562 0,0.084 0.0110253,0.0421 0.0190211,0.0904 0.0330755,0.1261 0.008717,0.0227 0.0236059,0.0227 0.0330755,0.0421 0.0239562,0.0509 0.0397071,0.1261 0.066151,0.16812 0.0192741,0.0307 0.0472392,0.0102 0.066151,0.0421 0.0165376,0.028 0.0162207,0.0995 0.0330755,0.1261 0.0295652,0.0471 0.0680426,0.0445 0.0992265,0.084 0.024653,0.0315 0.041498,0.0949 0.066151,0.1261 0.0203295,0.0259 0.0445884,0.0227 0.066151,0.0421 0.0281628,0.0227 0.0548927,0.0576 0.0826886,0.084 0.016322,0.0151 0.034478,0.0201 0.049613,0.0421 0.023931,0.0347 0.039649,0.10697 0.06615,0.1261 0.016761,0.0126 0.032419,-0.0493 0.049613,-0.0421 0.019606,0.007 0.031835,0.0614 0.049613,0.084 0.015592,0.0201 0.034021,0.0227 0.049613,0.0421 0.00697,0.0102 0.00874,0.0421 0.016537,0.0421 0.017432,0 0.032181,-0.0421 0.049613,-0.0421 0.00552,0 -0.00493,0.0357 0,0.0421 0.00477,0.005 0.088657,0 0.099227,0 0.00552,0 -0.012639,0.0102 -0.016537,0 -0.0039,-0.0102 -0.0039,-0.0322 0,-0.0421 0.00871,-0.0227 0.024359,-0.0201 0.033076,-0.0421 0.0039,-0.0102 -0.012639,0.0102 -0.016537,0 -0.0039,-0.0102 0,-0.028 0,-0.0421 0,-0.0151 0,-0.028 0,-0.0421 0,-0.0151 -0.00552,-0.0421 0,-0.0421 0.00552,0 0.00552,0.0421 0,0.0421 -0.00552,0 0,-0.028 0,-0.0421 0,-0.0151 0,-0.028 0,-0.0421"
+ id="path913"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.41766325px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 1.5547609,288.16522 c 0.00552,0.084 0.00409,0.17317 0.016538,0.25225 0.010237,0.0652 0.038419,0.1042 0.049613,0.16814 0.011416,0.0652 0.00914,0.1412 0.016538,0.21016 0.00918,0.0856 0.02205,0.16814 0.033076,0.25229 0.063232,0.48225 2.153e-4,0.0126 0.08269,0.58862 0.019668,0.13743 0.028954,0.28386 0.049613,0.42043 0.013275,0.0878 0.037176,0.1636 0.049613,0.25228 0.015289,0.10873 0.019706,0.22577 0.033076,0.33634 0.00873,0.0722 0.019799,0.14272 0.033076,0.21017 0.014375,0.073 0.040783,0.13164 0.049613,0.21018 0.00339,0.0302 -0.021115,0.0548 -0.016537,0.084 0.00868,0.0551 0.0404,0.0715 0.049613,0.1261 0.00869,0.0516 0,0.112 0,0.16813 0,0.0987 -0.0039,-0.0201 0.016538,0.084 0.00247,0.0126 0,0.028 0,0.0421 0.011025,0.028 0.02205,0.0562 0.033076,0.084 0.00552,0.0151 -0.013051,-0.0252 -0.016537,-0.0421 -0.00247,-0.0126 0,-0.028 0,-0.0421 0,-0.0841 0,-0.16813 0,-0.25227 0,-0.0562 0,-0.11201 0,-0.16814 0,-0.028 0.00155,-0.0564 0,-0.0841 -0.00398,-0.0708 -0.013993,-0.13918 -0.016537,-0.21017 -0.00299,-0.0838 0,-0.16813 0,-0.25224 0,-0.084 0,-0.16814 0,-0.25228 0,-0.0177 -0.00224,-0.24088 0,-0.25226 0.012664,-0.0644 0.029471,-0.033 0.049613,-0.084 0.00988,-0.0251 -0.017875,-0.084 0.016537,-0.084 0.00779,0 0.00874,0.0421 0.016537,0.0421 0.021829,0 0.011247,-0.084 0.033076,-0.084 0.047331,0 -0.010276,0.0788 0.033076,0.0421 0.011695,-0.0102 0.021117,-0.0345 0.033076,-0.0421 0.010696,-0.007 0.02205,0 0.033075,0 0.011025,0 0.022839,-0.0102 0.033076,0 0.2189341,0.22251 0.00224,-0.035 0.06615,0.16814 0.017218,0.0546 0.046661,0.0765 0.06615,0.1261 0.00871,0.0227 0.010196,0.0571 0.016537,0.084 0.010226,0.0433 0.02205,0.084 0.033076,0.1261 0.011025,0.0562 0.020844,0.11377 0.033075,0.16814 0.00986,0.0438 0.02115,0.0856 0.033076,0.12609 0.00467,0.0151 0.013642,0.0227 0.016537,0.0421 0.00845,0.0536 0.0081,0.11452 0.016537,0.16813 0.00289,0.0176 0.011025,0.028 0.016537,0.0421 0.00552,0.028 0.012639,0.0543 0.016537,0.084 0.00174,0.0126 -0.0039,0.0322 0,0.0421 0.00871,0.0227 0.027562,0.0151 0.033076,0.0421 0.00349,0.0177 -0.016538,0.0227 -0.016538,0.0421 0,0.0315 0.00782,0.0619 0.016538,0.084 0.0039,0.0102 0,-0.0562 0,-0.0421 0,0.0796 0,0.12157 0,0.0421"
+ id="path915"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.41766325px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.671592,288.37544 c 0,0.23836 0,0.47649 0,0.71474 0,0.11227 -0.00293,0.22452 0,0.33638 0.00259,0.099 0.016536,0.19531 0.016536,0.29431 0,0.12686 -0.016536,0.25145 -0.016536,0.3784 0,0.0443 0.013671,0.0823 0.016536,0.1261 0.00821,0.12509 0.010705,0.25236 0.016536,0.37841 0.023423,0.50616 0.00718,0.16058 0.033076,0.58862 0.00593,0.0979 0.00777,0.19784 0.016539,0.29431 0.091357,0.69677 -0.00611,-0.13516 0.033076,0.46249 0.00129,0.0201 0.014648,0.0227 0.016536,0.0421 0.00668,0.068 -0.00668,0.14221 0,0.21017 0.00299,0.0304 0.012638,0.0543 0.016539,0.084 0.00349,0.0267 0,0.0562 0,0.084"
+ id="path917"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.41766325px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.3904505,292.36967 c 0.071663,0 0.1433271,0 0.2149906,0 0.016536,0 0.033076,0 0.049613,0 0.016539,0 0.033301,0.007 0.049613,0 0.017194,-0.007 0.03252,-0.0335 0.049613,-0.0421 0.01081,-0.005 0.022051,0 0.033076,0 0.0441,0 0.088202,0 0.1323018,0 0.022051,0 0.0441,0 0.06615,0 0.00552,0 0.016539,-0.0151 0.016539,0 0,0.0151 -0.022051,0 -0.016539,0 0.011025,0 0.022051,0 0.033076,0 0.00552,0 -0.016536,0.0151 -0.016536,0 0,-0.0279 0.025281,0.0201 0.033075,0 0.0039,-0.0102 -0.0039,-0.0322 0,-0.0421 0.0039,-0.0102 0.021988,-0.002 0.016536,0 -0.077054,0.0302 -0.1543523,0.0559 -0.2315286,0.084"
+ id="path919"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.41766325px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.671592,288.37544 c 0.016536,0.0562 0.045082,0.099 0.049613,0.16814 0.00425,0.0649 -0.055528,0.0992 -0.066152,0.1261 -0.014053,0.0357 -0.02066,0.0866 -0.033076,0.12609 -0.00974,0.0309 -0.022051,0.0562 -0.033076,0.084 -0.033075,0.084 -0.06615,0.16814 -0.099227,0.25227 -0.00552,0.0151 -0.011025,0.028 -0.016536,0.0421 -0.00552,0.0151 -0.013052,0.0252 -0.016539,0.0421 -0.00247,0.0126 0.0039,0.0323 0,0.0421 -0.0039,0.0102 -0.012638,-0.0102 -0.016536,0 -0.0039,0.0102 0.00552,0.0421 0,0.0421 -0.012326,0 -0.020749,-0.0421 -0.033076,-0.0421 -0.00779,0 0.020023,0.0251 0.016539,0.0421 -0.00552,0.028 -0.020749,0.0421 -0.033076,0.0421 -0.00779,0 0.024335,-0.0421 0.016536,-0.0421 -0.012326,0 -0.027562,0.0151 -0.033076,0.0421 -0.00349,0.0176 0.00874,0.0421 0.016536,0.0421 0.00552,0 0.00552,-0.0421 0,-0.0421 -0.012326,0 -0.024359,0.0201 -0.033076,0.0421 -0.0039,0.0102 0.022051,0 0.016536,0 -0.011025,0 -0.023213,-0.0126 -0.033075,0 -0.00493,0.005 0.00552,0.0421 0,0.0421 -0.00779,0 -0.011025,-0.0562 -0.016536,-0.0421 -0.00779,0.0201 0.00779,0.0642 0,0.084 -0.00552,0.0151 -0.00874,-0.0421 -0.016539,-0.0421 -0.00552,0 0.00247,0.0294 0,0.0421 -0.031996,0.1626 -0.00107,-0.12056 -0.033076,0.0421 -0.00247,0.0126 0.00552,0.0421 0,0.0421 -0.00552,0 0,-0.028 0,-0.0421"
+ id="path921"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#68b9a5;stroke-width:0.16502094;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
+ d="m 5.0630632,289.73852 c 0,0.0876 0,0.17568 0,0.26334 0,0.12308 0,0.24566 0,0.36886 0,0.0876 -0.0098,0.17821 0,0.26336 0.00707,0.0617 0.032352,0.10546 0.048527,0.15807 0.016175,0.12308 0.038848,0.24289 0.048527,0.36884 0.00665,0.0868 0,0.17568 0,0.26338 0,0.035 -0.00601,0.073 0,0.1052 0.010833,0.0586 0.044402,0.0952 0.048527,0.15807 0.00473,0.0715 -0.01878,0.13944 -0.02426,0.21067 -0.013814,0.17972 -0.00167,0.0454 0.02426,0.15807 0.00361,0.0151 0.00809,0.0526 0,0.0526 -0.00809,0 0,-0.035 0,-0.0526"
+ id="path923"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#68b9a5;stroke-width:0.16502094;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
+ d="m 4.845328,288.27537 c 0,0.25683 0,0.51346 0,0.77016 0,0.0151 0,-0.0603 0,-0.0453 0,0.0302 0,0.0604 0,0.0906 0,0.0151 -0.00526,-0.0347 0,-0.0453 0.00526,-0.0102 0.014858,0 0.022284,0 0.014858,0 0.029714,0 0.044571,0 0.00744,0 -0.025608,0.0126 -0.022284,0 0.0094,-0.0383 0.029715,-0.0604 0.044571,-0.0906 0.00744,-0.0151 -0.011781,0.0453 -0.022288,0.0453 -0.00744,0 -0.00526,-0.0347 0,-0.0453 0.010494,-0.0227 0.04457,0.0302 0.04457,0 0,-0.0227 -0.022284,-0.0251 -0.022284,-0.0453 0,-0.0151 0.01703,0.0102 0.022284,0 0.050348,-0.10219 -0.1192242,0 0.044571,0 0.010494,0 -0.017586,-0.0272 -0.022284,-0.0453 -0.00339,-0.0126 0,-0.11553 0,-0.13591 0,-0.0151 -0.00743,-0.0453 0,-0.0453 0.00744,0 0,0.0604 0,0.0453 0,-0.0605 0,-0.12083 0,-0.18123 0,-0.0151 0,-0.0302 0,-0.0453 0,-0.0151 -0.00743,-0.0453 0,-0.0453 0.00744,0 0.00526,0.0559 0,0.0453 -0.011741,-0.0252 -0.010538,-0.0667 -0.022284,-0.0906 -0.00526,-0.0102 0.00526,0.0559 0,0.0453 -0.011741,-0.0251 -0.022284,-0.0569 -0.022284,-0.0906 0,-0.0227 0.011781,0.0453 0.022284,0.0453 0.00743,0 0.00526,-0.0347 0,-0.0453 -0.00526,-0.0102 -0.015386,0.005 -0.022284,0 -0.030842,-0.0252 -0.1039982,-0.0302 -0.089142,-0.0906 0.014858,-0.0604 0.059426,0.0604 0,0 z"
+ id="path925"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#68b9a5;stroke-width:0.51303518;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
+ d="m 5.6033849,289.77873 c 0,0.24566 0,0.49104 0,0.7366 0,0.23408 0.00493,0.17216 0.022281,0.49106 0.00146,0.0252 -0.00332,0.0574 0,0.0818 0.011982,0.0881 0.039315,0.14875 0.044567,0.24565 0.00326,0.06 -0.029712,0.10924 -0.022286,0.16361 0.00664,0.0491 0.034062,-0.039 0.044567,0 0.00743,0.0315 -0.022281,0.0443 -0.022281,0.0818 0,0.039 0.012885,0.0646 0.022281,0.0818 0.00664,0.0102 0.02228,-0.0315 0.02228,0 0,0.039 -0.011776,0.0818 -0.02228,0.0818 -0.00743,0 0,-0.0543 0,-0.0818 0,-0.0543 0,-0.10923 0,-0.16335 0,-0.35462 0,-0.70931 0,-1.06399 0,-0.21847 0,-0.43656 0,-0.65481 0,-0.10924 -0.00939,-0.22376 0,-0.32723 0.00664,-0.0732 0.036765,-0.0921 0.044567,-0.16336 0.00827,-0.076 -0.012366,-0.17745 0,-0.24565 0.00825,-0.0443 0.036325,0.0443 0.044567,0 0.012366,-0.0684 -0.011456,-0.17519 0,-0.24566 0.013778,-0.084 0.051993,-0.0815 0.066849,-0.16361 0.00583,-0.035 -0.029712,-0.0543 -0.022281,-0.0816 0.016609,-0.0612 0.047305,-0.035 0.066849,-0.0818 0.00617,-0.0126 0,-0.0541 0,-0.0816 0,-0.19658 -0.00704,0 0.066849,0 0.00743,0 -0.00704,-0.073 0,-0.0818 0.02114,-0.0252 0.044566,0 0.066849,0 0.00743,0 -0.029712,0 -0.022281,0 0.014856,0 0.029712,0 0.044567,0 0.00743,0 0.017029,-0.0176 0.022281,0 0.00526,0.0176 -0.00446,0.0599 0,0.0818 0.018908,0.0926 0.047941,0.15278 0.066849,0.24566 0.00446,0.0176 -0.0018,0.0551 0,0.0818 0.00569,0.0838 0.011775,0.16839 0.02228,0.24566 0.038715,0.28462 0.1091675,0.50314 0.1336972,0.81852 0.00613,0.079 -0.00704,0.16814 0,0.24566 0.015756,0.17367 0.049354,0.31943 0.066848,0.49114 0.00521,0.0509 -0.00664,0.11452 0,0.16335 0.00939,0.0692 0.036764,0.0923 0.044566,0.16336 0.00827,0.076 -0.00437,0.16486 0,0.24565 0.00326,0.0599 0.018253,0.10446 0.022281,0.16361 0.0036,0.0531 -0.0036,0.11074 0,0.16335 0.02226,0.32723 0.022455,10e-4 0.066848,0.32723 0.00332,0.0252 -0.01896,-0.0252 -0.02228,0 -0.00665,0.0491 0,0.10924 0,0.16335 0,0.0312 0,-0.0543 0,-0.0818 0,-0.0818 0,-0.16385 0,-0.24566"
+ id="path927"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#68b9a5;stroke-width:0.16502094;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
+ d="m 7.3680402,287.36728 c 0,0.14071 -0.00676,0.2817 0,0.42157 0.00947,0.19532 0.043512,0.38355 0.048527,0.57959 0.032352,1.26466 -0.1205009,-0.77626 -0.024266,0.89582 0.00636,0.10999 0.042181,0.2059 0.048527,0.31614 0.010032,0.17443 0,0.35129 0,0.52693 0,0.404 0,0.80797 0,1.21195 0,0.21067 0,0.42152 0,0.63232 0,0.0201 0,-0.0703 0,-0.0526 0,0.0526 0,0.10521 0,0.15805 0,0.0201 -0.00572,0.0405 0,0.0526 0.014497,0.0315 0.048527,-0.0571 0.048527,0.0526 0,0.0251 -0.019151,0.0315 -0.024265,0.0526 -0.010967,0.0478 0.020898,0.13616 0.024265,0.15806 0.00457,0.0285 0,0.12333 0,0.15807"
+ id="path929"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#68b9a5;stroke-width:0.16502094;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
+ d="m 6.9313078,289.94924 c 0.032352,0 0.064701,0 0.097052,0 0.00809,0 -0.032352,0 -0.02426,0 0.159057,0 -0.086269,0 0.072788,0 0.00809,0 -0.032352,0 -0.024259,0 0.032352,0 0.064702,0 0.097052,0 0.00809,0 0.016417,-0.002 0.02426,0 0.024811,0.0126 0.047709,0.042 0.072788,0.0526 0.01586,0.005 0.032835,-0.007 0.048527,0 0.017544,0.007 0.030983,0.043 0.048527,0.0526 0.015693,0.007 0.032352,0 0.048527,0 0.056614,0 0.1132276,0 0.1698406,0 0.016175,0 0.032667,-0.005 0.048527,0 0.02508,0.007 0.047976,0.039 0.072788,0.0526 0.00784,0.002 0.016175,0 0.02426,0 0.02426,0 0.048527,0 0.072788,0 0.032352,0 0.064702,0 0.097052,0 0.080876,0 0.161753,0 0.2426291,0 0.00809,0 -0.016175,0 -0.024259,0"
+ id="path931"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.41766325px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 2.2493461,294.26168 c 0.021776,0.11604 -0.01742,0.26029 0,0.37838 0.00969,0.0657 0.038208,0.10446 0.049613,0.16814 0.1349736,0.75495 -0.011365,-0.034 0.016537,0.4625 0.00281,0.0501 0.027615,0.0775 0.033076,0.1261 0.00606,0.0538 -0.00312,0.11275 0,0.16814 0.00247,0.0438 0.014072,0.0823 0.016538,0.12609 0.00312,0.0553 0,0.11226 0,0.16814 0,0.07 0,0.14019 0,0.21017 0,0.0151 0,-0.028 0,-0.0421 0,-0.0557 0,-0.0287 0,-0.084"
+ id="path933"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.41766325px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 2.2493461,294.26168 c 0.079744,0.0453 0.1526271,0.0421 0.2315285,0.0421 0.016537,0 0.033924,0.0126 0.049613,0 0.018856,-0.0151 0.029937,-0.077 0.049613,-0.084 0.022501,-0.007 0.043598,0.035 0.06615,0.0421 0.02188,0.007 0.0441,0 0.06615,0 0.022051,0 0.044101,0 0.06615,0 0.060638,0 0.121277,0 0.1819152,0 0.061952,0 0.065957,0 0.099227,0 0.00552,0 -0.022051,0 -0.016536,0 0.011025,0 0.022051,0 0.033076,0 0.00552,0 0.014071,-0.0126 0.016536,0 0.00493,0.0252 -0.00349,0.0576 0,0.084 0.00247,0.0177 0.013052,0.0252 0.016536,0.0421 0.00493,0.0252 -0.00493,0.0589 0,0.0841 0.00349,0.0176 0.01305,0.0251 0.016536,0.0421 0.00247,0.0126 -0.00247,0.0294 0,0.0421 0.00349,0.0176 0.016536,0.0227 0.016536,0.0421 0,0.0201 -0.016536,0.0227 -0.016536,0.0421 0,0.0201 0.014071,0.0227 0.016536,0.0421 0.00349,0.0267 0,0.0562 0,0.0841 0,0.028 0,0.0562 0,0.084 0,0.028 0,0.0562 0,0.084 0,0.0151 0.00493,0.0358 0,0.0421 -0.00986,0.0126 -0.025281,-0.0201 -0.033076,0 -0.012326,0.0315 -0.00421,0.0949 -0.016536,0.12609 -0.012326,0.0315 -0.034665,0.0201 -0.049613,0.0421 -0.013369,0.0201 -0.022051,0.0562 -0.033076,0.084 -0.011025,0.028 -0.022051,0.0562 -0.033076,0.084 -0.00552,0.0151 -0.00874,0.0421 -0.016539,0.0421 -0.00779,0 -0.00914,-0.0483 -0.016536,-0.0421 -0.014792,0.0126 -0.022051,0.0562 -0.033076,0.084 -0.00552,0.0151 -0.00874,0.0421 -0.016536,0.0421 -0.017432,0 -0.033076,-0.0562 -0.049613,-0.0421 -0.01046,0.0102 0.00779,0.0641 0,0.084 -0.00552,0.0151 -0.00874,-0.0421 -0.016536,-0.0421 -0.017432,0 -0.032702,0.0312 -0.049613,0.0421 -0.00535,0.002 -0.011025,0 -0.016536,0 -0.033076,0 -0.066151,0 -0.099227,0 -0.011025,0 -0.022617,0.0102 -0.033076,0 -0.0074,-0.005 -0.00957,-0.0332 -0.016537,-0.0421 -0.00493,-0.005 -0.011025,0 -0.016537,0 -0.011025,-0.028 -0.02205,-0.0562 -0.033076,-0.084 -0.00552,-0.0151 -0.00874,-0.0421 -0.016538,-0.0421 -0.00779,0 -0.00957,0.0509 -0.016537,0.0421 -0.011025,-0.0151 -0.00552,-0.07 -0.016537,-0.084 -0.00697,-0.0102 -0.00957,0.0332 -0.016537,0.0421 -0.00493,0.005 -0.011308,0.005 -0.016537,0 -0.011695,-0.0102 -0.027563,-0.0151 -0.033076,-0.0421 -0.00349,-0.0176 0.00874,-0.0421 0.016537,-0.0421 0.00552,0 0.00493,0.0358 0,0.0421 -0.00986,0.0126 -0.02205,0 -0.033075,0 -0.00552,0 0.02205,0 0.016538,0 -0.011025,0 -0.02205,0 -0.033076,0 -0.00552,0 0.017554,-0.0126 0.016537,0 -0.016754,0.22703 -0.044101,0.44832 -0.06615,0.67248"
+ id="path935"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.41766325px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.9692715,294.55599 c -0.071663,0 -0.1433271,0 -0.2149906,0 -0.011025,0 -0.022617,0.0102 -0.033076,0 -0.0074,-0.005 -0.00874,-0.0421 -0.016539,-0.0421 -0.00779,0 -0.010051,0.0309 -0.016536,0.0421 -0.010255,0.0177 -0.024359,0.0201 -0.033076,0.0421 -0.00871,0.0227 -0.00628,0.0667 -0.016536,0.084 -0.00918,0.0151 -0.02528,-0.0201 -0.033076,0 -0.012327,0.0315 -0.012309,0.083 -0.016536,0.1261 -0.00134,0.0126 0.0039,0.0322 0,0.0421 -0.00871,0.0227 -0.029177,0.0126 -0.033075,0.0421 -0.0039,0.0297 0.018954,0.0534 0.016539,0.084 -0.0039,0.0495 -0.029177,0.0765 -0.033076,0.1261 -0.00241,0.0307 0.014122,0.0534 0.016536,0.084 0.00277,0.0352 0,0.3499 0,0.3784 0,0.028 -0.00493,0.0591 0,0.084 0.00697,0.0355 0.026104,0.0486 0.033075,0.0841 0.00493,0.0251 -0.0041,0.0581 0,0.084 0.00739,0.0468 0.019023,0.0904 0.033076,0.1261 0.0039,0.0102 0.011607,-0.005 0.016536,0 0.00697,0.0102 0.011025,0.028 0.016536,0.0421 0.00552,0.0151 0.013052,0.0251 0.016539,0.0421 0.00247,0.0126 -0.0039,0.0322 0,0.0421 0.023507,0.18223 0.034821,-0.0177 0.049613,0 0.011025,0.0151 0.00484,0.0742 0.016536,0.084 0.011693,0.0102 0.021118,-0.0345 0.033076,-0.0421 0.011193,-0.007 0.1051219,0 0.1157642,0 0.045987,0 0.1427563,0.0251 0.1819152,-0.0421 0.00459,-0.007 -0.00459,-0.0342 0,-0.0421 0.00324,-0.005 0.075082,-0.0552 0.082689,-0.084 0.00612,-0.0227 -0.00779,-0.0641 0,-0.084 0.012326,-0.0315 0.033428,-0.0256 0.049613,-0.0421 0.011445,-0.0126 0.023213,-0.0227 0.033076,-0.0421 0.012474,-0.0227 0.020602,-0.0605 0.033075,-0.084 0.00986,-0.0176 0.026238,-0.0151 0.033076,-0.0421 0.00612,-0.0227 -0.00779,-0.0641 0,-0.084 0.012327,-0.0315 0.034021,-0.0227 0.049613,-0.0421 0.00697,-0.0102 0.011025,-0.028 0.016536,-0.0421 0.011025,-0.028 0.026103,-0.0486 0.033076,-0.084 0.00493,-0.0251 -0.00612,-0.0607 0,-0.0841 0.00684,-0.0261 0.027563,-0.0151 0.033076,-0.0421 0.00349,-0.0176 -0.020023,-0.0251 -0.016536,-0.0421 0.00552,-0.028 0.029178,-0.0126 0.033076,-0.0421 0.0039,-0.0297 -0.016536,-0.0529 -0.016536,-0.084 0,-0.0151 0.014071,0.0126 0.016536,0 0.00493,-0.0252 0,-0.0562 0,-0.084 0,-0.028 0,-0.0562 0,-0.084 0,-0.028 0.00779,-0.0642 0,-0.084 -0.00779,-0.0201 -0.023622,0.0151 -0.033076,0 -0.013689,-0.0201 -0.079179,-0.20136 -0.099227,-0.25227 -0.00552,-0.0151 -0.00957,-0.0332 -0.016536,-0.0421 -0.016536,-0.0151 -0.033076,-0.028 -0.049613,-0.0421 0,0.0151 0.00552,0.0421 0,0.0421 -0.00779,0 -0.00957,-0.0332 -0.016539,-0.0421 -0.015591,-0.0201 -0.032181,-0.0421 -0.049613,-0.0421 -0.00552,0 0.00552,0.0421 0,0.0421 -0.034865,0 -0.064362,-0.084 -0.099227,-0.084 -0.00552,0 0.0039,0.0322 0,0.0421 -0.0039,0.0102 -0.011238,-0.005 -0.016536,0 -0.033523,0.0252 -0.06615,0.0562 -0.099227,0.084 z"
+ id="path937"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.41766325px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 4.9780736,294.59803 c 0,0.23837 0,0.47652 0,0.71475 0,0.07 -0.00274,0.14044 0,0.21017 0.0028,0.071 0.014203,0.13893 0.016536,0.21016 0.00321,0.0976 0,0.19608 0,0.29431 0,0.21018 0,0.42045 0,0.63066 0,0.0151 -0.00493,-0.0357 0,-0.0421 0.00986,-0.0126 0.028144,0.0252 0.033076,0 0.00552,-0.0279 -0.025254,-0.0619 -0.016539,-0.084 0.00872,-0.0227 0.021383,0.0519 0.033076,0.0421 3.668e-4,-3e-4 0.020262,-0.1261 0.033076,-0.1261 0.00779,0 0.00897,0.0468 0.016536,0.0421 0.063051,0.22678 0.047158,-0.12207 0.049613,-0.1261 0.014504,-0.0252 0.032852,-0.0299 0.049613,-0.0421 0.021854,-0.0151 0.044296,-0.0261 0.06615,-0.0421 0.016762,-0.0126 0.032419,-0.0347 0.049613,-0.0421 0.016311,-0.007 0.033568,0.0102 0.049613,0 0.00757,-0.005 0.00874,-0.0421 0.016536,-0.0421 0.0441,0 -0.019214,0.12963 0.049613,0.0421 0.00493,-0.005 -0.0039,-0.0322 0,-0.0421 0.00871,-0.0227 0.020749,-0.0421 0.033076,-0.0421 0.00779,0 -0.022051,0.028 -0.016536,0.0421 0.00779,0.0201 0.025281,0.0201 0.033076,0 0.00552,-0.0151 -0.016536,-0.0227 -0.016536,-0.0421 0,-0.0151 0.011025,0 0.016536,0 0.00552,0 0.016536,-0.0151 0.016536,0 0,0.0151 -0.016536,0.0151 -0.016536,0 0,-0.0201 0.00874,-0.0421 0.016536,-0.0421 0.00552,0 0,0.028 0,0.0421"
+ id="path939"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.41766325px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 5.7718855,294.55599 c 0.027562,0.0421 0.055125,0.084 0.082689,0.12611 0.00552,0.028 0.00691,0.0644 0.016536,0.084 0.019251,0.039 0.045011,0.0519 0.06615,0.084 0.00668,0.0102 0.010051,0.031 0.016536,0.0421 0.010255,0.0176 0.022818,0.0252 0.033076,0.0421 0.030259,0.0514 0.00165,0.0536 0.049613,0.084 0.010695,0.007 0.023902,-0.0151 0.033076,0 0.010258,0.0176 0.00552,0.07 0.016536,0.084 0.012916,0.0176 0.014058,-0.0904 0.033076,-0.0421 0.0039,0.0102 -0.00493,0.0358 0,0.0421 0.00986,0.0126 0.022051,0 0.033076,0 0.00552,0 -0.022051,0 -0.016536,0 0.011025,0 0.022051,0 0.033076,0 0.00552,0 -0.022051,0 -0.016536,0 0.1084141,0 -0.0588,0 0.049613,0 0.00552,0 -0.022051,0 -0.016536,0 0.011025,0 0.022051,0 0.033076,0 0.022051,0 -0.060638,0.0151 -0.016536,-0.0421 0.00986,-0.0126 0.025281,0.0201 0.033076,0 0.00552,-0.0151 -0.01305,-0.0252 -0.016536,-0.0421 -0.00247,-0.0126 -0.00247,-0.0294 0,-0.0421 0.012589,-0.0639 0.033076,-0.0252 0.033076,-0.1261 0,-0.0151 -0.016536,0.0151 -0.016536,0 0,-0.0443 0.012309,-0.083 0.016536,-0.1261 0.00134,-0.0126 -0.00247,-0.0294 0,-0.0421 0.017778,-0.0904 0.051387,-0.15831 0.06615,-0.25224 0.0041,-0.0259 -0.00349,-0.0576 0,-0.084 0.00779,-0.0594 0.023365,-0.1105 0.033076,-0.16814 0.039759,-0.23584 -0.013071,-0.0151 0.049613,-0.29431 0.00986,-0.0438 0.025246,-0.0798 0.033076,-0.1261 0.00895,-0.0531 0.0081,-0.11452 0.016536,-0.16814 0.00289,-0.0176 0.012215,-0.0256 0.016536,-0.0421 0.013676,-0.0521 0.019399,-0.11604 0.033076,-0.16814 0.00433,-0.0177 0.01305,-0.0251 0.016536,-0.0421 0.00247,-0.0126 -0.00493,-0.0358 0,-0.0421 0.027247,-0.0347 0.050506,0.0443 0.016536,-0.0421"
+ id="path941"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.41766325px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 5.8545742,294.6821 c 0.093714,0.14019 0.1898593,0.2703 0.2811417,0.42046 0.00463,0.007 0,0.028 0,0.0421 0,0.0421 -0.00614,0.0871 0,0.1261 0.00739,0.0468 0.022849,0.0828 0.033076,0.1261 0.00635,0.027 0.00914,0.0591 0.016536,0.084 0.00936,0.0317 0.025053,0.05 0.033076,0.084 0.050425,0.0297 0.00638,0.11653 0.016536,0.16812 0.037844,0.19256 -0.00685,-0.17845 0.033076,0.12611 0.00175,0.0126 -0.00247,0.0294 0,0.0421 0.00349,0.0176 0.013049,0.0252 0.016536,0.0421 0.00247,0.0126 -0.0039,0.0323 0,0.0421 0.0039,0.0102 0.012638,-0.0102 0.016539,0 0.0039,0.0102 -0.0039,0.0323 0,0.0421 0.00779,0.0201 0.033076,-0.028 0.033076,0 0,0.0201 -0.022051,0.028 -0.016539,0.0421 0.00779,0.0201 0.022051,0 0.033076,0 0.00552,0 -0.022051,0 -0.016536,0 0.011025,0 0.022051,0 0.033076,0 0.00552,0 -0.012638,-0.0102 -0.016536,0 -0.0039,0.0102 -0.0039,0.0322 0,0.0421 0.0039,0.0102 0.011607,-0.005 0.016536,0 0.00697,0.0102 0.011025,0.028 0.016539,0.0421 0.00552,0.0151 0.013049,0.0252 0.016536,0.0421 0.00247,0.0126 -0.0039,0.0323 0,0.0421 0.0039,0.0102 0.012638,-0.0102 0.016536,0 0.00827,0.0201 -0.00827,0.10521 0,0.1261 0.022051,0.0562 0.016536,-0.07 0.016536,0.0421"
+ id="path943"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#68b9a5;stroke-width:0.10260703;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 7.7894901,287.61863 c 0.0441,0 0.088202,0 0.1323018,0 0.00552,0 -0.021469,0.005 -0.016536,0 0.015591,-0.0201 0.034021,-0.0227 0.049613,-0.0421 0.00493,-0.005 -0.020437,0.0102 -0.016536,0 0.021469,-0.0546 0.039951,-0.0421 0.06615,-0.0421 0.00552,0 -0.020437,0.0102 -0.016536,0 0.00871,-0.0227 0.021118,-0.0345 0.033076,-0.0421 0.010695,-0.007 0.02528,0.0201 0.033076,0 0.00552,-0.0151 -0.01305,-0.0251 -0.016536,-0.0421 -0.00247,-0.0126 0,-0.0279 0,-0.0421 0,-0.0102 0.00273,-0.12256 0,-0.1261 -0.00986,-0.0126 -0.02528,0.0201 -0.033076,0 -0.00552,-0.0151 0.022051,-0.028 0.016536,-0.0421 -0.00518,-0.0126 -0.077529,0.0126 -0.08269,0 -0.0039,-0.0102 0.00493,-0.0357 0,-0.0421 -0.014792,-0.0177 -0.034821,0.0176 -0.049613,0 -0.00697,-0.0102 -0.00957,-0.0332 -0.016536,-0.0421 -0.00503,-0.007 -0.042165,0 -0.049613,0 -0.062475,0 0.073502,0 -0.033076,0 -0.00552,0 0.022051,0 0.016536,0 -0.011025,0 -0.022051,0 -0.033076,0 -0.00552,0 0.016536,-0.0151 0.016536,0 0,0.0151 -0.011607,-0.005 -0.016536,0 -0.00697,0.0102 -0.00957,0.0332 -0.016536,0.0421 -0.00493,0.005 -0.012638,-0.0102 -0.016536,0 -0.0039,0.0102 0.0039,0.0322 0,0.0421 -0.0039,0.0102 -0.012638,-0.0102 -0.016536,0 -0.0039,0.0102 0.0039,0.0322 0,0.0421 -0.0039,0.0102 -0.012638,-0.0102 -0.016536,0 -0.0039,0.0102 0.00247,0.0294 0,0.0421 -0.00349,0.0177 -0.013052,0.0252 -0.016536,0.0421 -0.00299,0.0151 0,0.18098 0,0.21017 0,0.0227 -0.00218,0.15707 0,0.16814 0.034413,0.17493 -0.00115,-0.045 0.033076,0.0421 0.0039,0.0102 -0.0039,0.0322 0,0.0421 0.0039,0.0102 0.011607,-0.005 0.016536,0 0.013945,0.0176 0.01913,0.0665 0.033076,0.084 0.00492,0.005 0.09227,0 0.099227,0 0.00552,0 -0.011025,0 -0.016536,0"
+ id="path2324"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#68b9a5;stroke-width:0.16306625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 7.8860091,288.2182 c 0.424086,1.04015 0.2584225,0.35321 0.1972476,1.12223 l 0.00487,-0.0612 -0.00975,0.12257 c -0.00176,0.0227 -0.00432,-0.066 0.00487,-0.0612 0.00918,0.005 -0.00652,0.0818 -0.00487,0.0612 l 0.034131,-0.42905 0.00975,-0.12258 c 0.00324,-0.0407 -0.00138,-0.0901 0.00975,-0.12257 0.00548,-0.0151 0.019859,0.0256 0.027524,0.0151 0.00767,-0.0126 -6.898e-4,-0.045 0.00487,-0.0612 0.00784,-0.0227 0.030154,-0.0201 0.032391,-0.0471 0.00176,-0.0227 -0.018351,-0.0102 -0.027524,-0.0151 0.014047,-0.0564 0.018017,-0.13491 0.042145,-0.16965 0.010946,-0.0176 0.020341,0.10446 0.022657,0.0753 0.00365,-0.0457 -0.027717,-0.0966 -0.01777,-0.13667 0.00993,-0.0397 0.039403,-0.0435 0.05992,-0.033 0.00918,0.005 -0.012497,0.0722 -0.00487,0.0612 0.017131,-0.0256 0.024867,-0.0725 0.037277,-0.10848 0.029295,-0.007 0.060478,0.005 0.087446,-0.0176 0.00842,-0.005 -0.00432,-0.066 0.00487,-0.0612 0.012969,0.007 0.00969,0.0687 0.022657,0.0753 0.012968,0.007 0.02032,-0.0365 0.032391,-0.0471 0.019111,-0.0177 0.039403,-0.0433 0.05992,-0.033 0.012969,0.007 0.00969,0.0687 0.022657,0.0753 0.012968,0.007 0.019764,-0.0402 0.032391,-0.0471 0.0088,-0.002 0.018351,0.0102 0.027529,0.0151 0.00918,0.005 0.02929,-0.007 0.027524,0.0151 -0.00176,0.0227 -0.02929,0.007 -0.027524,-0.0151 0.00176,-0.0227 0.018351,0.0102 0.027524,0.0151 l 0.027529,0.0151"
+ id="path2326"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccssscssccsccssscccsscsscssssc" />
+ <path
+ style="fill:none;stroke:#68b9a5;stroke-width:0.10260703;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 8.3683109,289.25837 c 0,0.22426 0,0.44848 0,0.67272 0,0.0421 0,0.084 0,0.12609 0,0.0151 0,0.0562 0,0.0421 0,-0.0421 0,-0.084 0,-0.1261 0.00552,-0.0151 0.014071,-0.0227 0.016536,-0.0421 0.00349,-0.0267 -0.00567,-0.0602 0,-0.084 0.012034,-0.0511 0.035002,-0.0798 0.049613,-0.1261 0.0077,-0.0252 0.010195,-0.0572 0.016539,-0.084 0.010226,-0.0433 0.022849,-0.0828 0.033076,-0.1261 0.00635,-0.027 0.00667,-0.0652 0.016536,-0.084 0.013946,-0.0267 0.037286,-0.0102 0.049613,-0.0421 0.00779,-0.0201 0,-0.0562 0,-0.084 0.022051,-0.0421 0.04056,-0.10018 0.06615,-0.1261 0.00724,-0.007 0.00957,0.0509 0.016536,0.0421 2.367e-4,-2.9e-4 0.020337,-0.12609 0.033076,-0.12609 0.00779,0 0.00874,0.042 0.016536,0.042 0.00779,0 0.00914,-0.0357 0.016539,-0.042 0.01046,-0.0102 0.022051,0 0.033076,0 0.00552,0 -0.022051,0 -0.016539,0 0.011025,0 0.022051,0 0.033076,0 0.00552,0 -0.016536,-0.0151 -0.016536,0 0,0.0315 0.012638,0.0543 0.016536,0.084 0.00331,0.0252 0,0.17669 0,0.21017 0,0.14019 0,0.28029 0,0.42044 0,0.0421 0.00401,0.0854 0,0.12609 -0.00189,0.0201 -0.011025,0.028 -0.016536,0.0421 -0.00552,0.0562 -0.013323,0.111 -0.016539,0.16814 -0.00233,0.0416 0.00523,0.0863 0,0.1261 -0.00629,0.0478 -0.025695,0.0793 -0.033076,0.1261 -0.0041,0.0259 0.00267,0.0569 0,0.084 -0.00299,0.0304 -0.013547,0.0536 -0.016536,0.084 -0.00535,0.0543 0.00433,0.11326 0,0.16812 -0.00342,0.0435 -0.01231,0.083 -0.016539,0.12611 -0.00134,0.0126 0.0039,0.0323 0,0.0421 -0.027562,0.07 -0.016536,-0.15429 -0.016536,0.084"
+ id="path2328"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#68b9a5;stroke-width:0.10260703;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 9.0298207,290.30949 c -0.038588,0 -0.077176,0 -0.1157642,0 -0.00552,0 0.022051,0 0.016536,0 -0.011025,0 -0.022051,0 -0.033076,0 -0.00552,0 -0.016536,0.0151 -0.016536,0 0,-0.0151 0.018281,-0.0126 0.016536,0 -0.00629,0.0478 -0.02679,0.0782 -0.033076,0.1261 -0.00175,0.0126 0.019005,-0.0126 0.016539,0 -0.00697,0.0355 -0.030018,0.0453 -0.033076,0.084 -0.00342,0.0435 0.016536,0.0818 0.016536,0.1261 0,0.0885 -0.033076,0.16361 -0.033076,0.25225 0,0.11653 0.03574,0.0461 0.016539,0.16814 -0.00739,0.0468 -0.029177,0.0765 -0.033076,0.1261 -0.00241,0.0307 0.013547,0.0536 0.016536,0.084 0.00267,0.0272 0,0.0562 0,0.084 0,0.0562 0,0.11226 0,0.16813 0,0.028 -0.00493,0.0591 0,0.084 0.00247,0.0126 0.011607,-0.005 0.016539,0 0.00697,0.0102 0.00897,0.0373 0.016536,0.0421 0.016044,0.0102 0.033924,-0.0126 0.049613,0 0.00523,0.005 -0.00493,0.0358 0,0.0421 0.00986,0.0126 0.022051,0 0.033076,0 0.038588,0 0.077176,0 0.1157642,0 0.00162,0 0.09752,0.002 0.099227,0 0.00493,-0.005 -0.0039,-0.0322 0,-0.0421 0.00871,-0.0227 0.027563,-0.0151 0.033075,-0.0421 0.033354,-0.16964 -0.054571,0.061 -0.016536,-0.084 0.011025,-0.028 0.022051,-0.0562 0.033076,-0.0841 -0.00552,-0.0151 -0.020023,-0.0252 -0.016536,-0.0421 0.00552,-0.028 0.027562,-0.0151 0.033076,-0.0421 0.00349,-0.0177 -0.014071,-0.0227 -0.016536,-0.0421 -0.00349,-0.0267 0,-0.0562 0,-0.084 0,-0.0102 -5.238e-4,-0.12485 0,-0.1261 0.0039,-0.0102 0.012638,0.0102 0.016536,0 0.0039,-0.0102 0,-0.028 0,-0.0421 0,-0.0337 0.00347,-0.1417 0,-0.16813 -0.0039,-0.0297 -0.012638,-0.0543 -0.016536,-0.0841 -0.00523,-0.04 0.00523,-0.0863 0,-0.1261 -0.00247,-0.0176 -0.013049,-0.0251 -0.016536,-0.0421 -0.00513,-0.0261 0.00507,-0.18449 0,-0.21016 -0.00247,-0.0126 -0.012638,0.0102 -0.016536,0 -0.0039,-0.0102 0.0039,-0.0323 0,-0.0421 -0.0039,-0.0102 -0.016536,0.0151 -0.016536,0 0,-0.0201 0.022051,-0.028 0.016536,-0.0421 -0.00779,-0.0201 -0.02528,0.0201 -0.033076,0 -0.00552,-0.0151 0.016539,-0.0227 0.016539,-0.0421 0,-0.028 -0.033076,0.028 -0.033076,0 0,-0.0201 0.022051,-0.028 0.016536,-0.0421 -0.00779,-0.0201 -0.022051,0 -0.033076,0 -0.00552,0 0.022051,0 0.016539,0 -0.011025,0 -0.022051,0 -0.033076,0 -0.00552,0 0.016536,-0.0151 0.016536,0 0,0.0151 -0.014071,-0.0126 -0.016536,0 -0.021273,0.10823 0.046515,0.17745 0.06615,0.25226 0.075606,0.28833 -0.07463,-0.18979 0.06615,0.16812 0.0039,0.0102 -0.00247,0.0294 0,0.0421 0.00349,0.0177 0.012215,0.0256 0.016539,0.0421 0.00684,0.0262 0.00782,0.0619 0.016536,0.084 0.00872,0.0227 0.022822,0.0252 0.033076,0.0421 0.00649,0.0102 0.011025,0.028 0.016539,0.0421 0.00552,0.0151 0.01305,0.0252 0.016536,0.0421 0.00493,0.0252 -0.00493,0.0589 0,0.084 0.012665,0.0644 0.029471,0.033 0.049613,0.084 0.00871,0.0227 0.00971,0.0581 0.016536,0.084 0.00433,0.0177 0.01305,0.0251 0.016539,0.0421 0.00247,0.0126 -0.0039,0.0322 0,0.0421 0.00871,0.0227 0.024359,0.0201 0.033076,0.0421 0.00779,0.0201 -0.00779,0.0641 0,0.084 0.0039,0.0102 0.012638,-0.0102 0.016536,0 0.0039,0.0102 -0.0039,0.0322 0,0.0421 0.022051,0.0562 0.016536,-0.07 0.016536,0.0421"
+ id="path2330"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#68b9a5;stroke-width:0.10260703;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 9.1290472,294.00941 c 0.033076,0 0.066483,0.0126 0.099227,0 0.00771,-0.002 0.011025,-0.028 0.016536,-0.0421 0.011025,-0.0279 0.020602,-0.0604 0.033076,-0.084 0.00986,-0.0176 0.02436,-0.0201 0.033076,-0.0421 0.00871,-0.0227 0.00971,-0.0579 0.016536,-0.084 0.049727,-0.18953 -0.036777,0.30226 0.049613,-0.21017 0.044975,-0.036 0.0081,-0.11452 0.016536,-0.16814 0.00916,-0.0581 0.020392,-0.11452 0.033075,-0.16813 0.00401,-0.0176 0.014071,-0.0227 0.016539,-0.0421 0.00349,-0.0266 0,-0.0562 0,-0.084 0,-0.0368 -0.00218,-0.23559 0,-0.25227 0.00175,-0.0126 0.012638,0.0102 0.016536,0 0.0039,-0.0102 0,-0.0279 0,-0.0421 0,-0.0201 0.00267,-0.27395 0,-0.29431 -0.0039,-0.0297 -0.00782,-0.0619 -0.016536,-0.084 -0.0039,-0.0102 0,0.0562 0,0.0421 0,-0.028 0.00986,-0.0715 0,-0.084 -0.011025,-0.0151 -0.022051,0.0562 -0.033076,0.0421 -0.00986,-0.0126 0.00779,-0.0641 0,-0.084 -0.00552,-0.0151 -0.00957,0.0332 -0.016539,0.0421 -0.00503,0.007 -0.042165,0 -0.049613,0 -0.00401,0 -0.049082,-0.001 -0.049613,0 -0.00872,0.0227 -0.00552,0.07 -0.016539,0.0841 -0.00697,0.0102 -0.00957,-0.0509 -0.016536,-0.0421 -0.011025,0.0151 -0.00971,0.0581 -0.016539,0.084 -0.00433,0.0177 -0.016536,0.0227 -0.016536,0.0421 0,0.0201 0.022051,0.028 0.016536,0.0421 -0.012589,0.032 -0.033076,-0.21192 -0.033076,0.0421 0,0.0201 0.016539,-0.0619 0.016539,-0.0421 0,0.0315 -0.00782,0.0619 -0.016539,0.084 -0.0039,0.0102 0.0039,-0.0519 0,-0.0421 -0.00871,0.0227 -0.016536,0.0529 -0.016536,0.084 0,0.0201 0.011025,-0.0562 0.016536,-0.0421 0.00779,0.0201 0,0.0562 0,0.084 0,0.0151 0.00247,0.0294 0,0.0421 -0.00349,0.0176 -0.00874,0.0421 -0.016536,0.0421 -0.00552,0 0,-0.0562 0,-0.0421 0,0.0227 -0.00202,0.28749 0,0.29431 -0.026315,0.17795 0.052067,0.0601 0.06615,0.084 0.012974,0.0227 0.022051,0.0562 0.033076,0.084 0.025309,0.0644 0.047918,0.13289 0.08269,0.16814 0.010237,0.0102 0.023902,-0.0151 0.033076,0 0.010255,0.0176 0.00628,0.0667 0.016536,0.084 0.00918,0.0151 0.023213,-0.0126 0.033076,0 0.013946,0.0177 0.020602,0.0605 0.033076,0.084 0.019721,0.0375 0.045638,0.0493 0.066151,0.084 0.00649,0.0102 0.00957,0.0332 0.016536,0.0421 0.00986,0.0126 0.023213,-0.0126 0.033076,0 0.017778,0.0227 0.031835,0.0614 0.049613,0.084 0.00697,0.0102 -0.016539,-0.0619 -0.016539,-0.0421 0,0.20337 0.020486,0.0421 0.033075,0.0421 0.011025,0 -0.011025,0.084 0,0.084 0.00779,0 0.00874,-0.0421 0.016539,-0.0421 0.011025,0 -0.011025,0.084 0,0.084 0.00779,0 0.011025,-0.028 0.016536,-0.0421"
+ id="path2332"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/res/iso-3way-3.svg b/res/iso-3way-3.svg
@@ -0,0 +1,146 @@
+<?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="10mm"
+ height="10mm"
+ viewBox="0 0 10 10"
+ version="1.1"
+ id="svg837"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="iso-3way-3.svg">
+ <defs
+ id="defs831">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-15.502741 : -0.68761461 : 1"
+ inkscape:vp_y="0 : 1935.9757 : 0"
+ inkscape:vp_z="25.090656 : 9.2983744 : 1"
+ inkscape:persp3d-origin="19.059341 : -5.6235546 : 1"
+ id="perspective1382" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="15.839192"
+ inkscape:cx="12.557272"
+ inkscape:cy="24.060133"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="855"
+ inkscape:window-x="0"
+ inkscape:window-y="1"
+ inkscape:window-maximized="1"
+ inkscape:snap-global="false" />
+ <metadata
+ id="metadata834">
+ <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,-287)">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.4250713px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 0.80159682,287.69162 c -0.0763161,0 -0.15263226,0 -0.22894836,0 -0.003966,0 -0.0485344,-10e-4 -0.0490603,0 -0.003854,0.0106 0.002438,0.0308 0,0.044 -0.003448,0.0185 -0.0109024,0.0293 -0.0163536,0.044 0,0.0293 0.003448,0.0601 0,0.0881 -0.0124493,0.10044 -0.0327069,-0.0272 -0.0327069,0.13208 0,0.033 0.0218045,0.0588 0.0163536,0.0881 -0.004875,0.0264 -0.0278312,-0.0264 -0.0327069,0 -0.005451,0.0293 0.0163536,0.0554 0.0163536,0.0881 0,0.0416 -0.0327069,0.0467 -0.0327069,0.088 0,0.0211 0.0163536,0.0237 0.0163536,0.044 0,0.033 -0.0124987,0.057 -0.0163536,0.0881 -0.003448,0.028 0,0.0588 0,0.0881 0,0.10282 0,0.20538 0,0.30828 0,0.0881 0,0.17611 0,0.26425 0,0.0293 0,0.0588 0,0.0881 0,0.0293 -0.003448,0.0604 0,0.0881 0.002438,0.0185 0.0109024,0.0293 0.0163536,0.044 0.0163536,0.044 0.0371615,0.0788 0.0490604,0.13209 0.00561,0.0264 0,0.0588 0,0.0881 0.0109024,0.044 0.0188091,0.0947 0.0327069,0.13209 0.008619,0.0237 0.0233428,0.0237 0.0327069,0.044 0.0236892,0.0532 0.0392646,0.13208 0.0654138,0.17611 0.0190594,0.0322 0.0467129,0.0106 0.0654138,0.044 0.0163533,0.0293 0.0160399,0.10414 0.0327069,0.13209 0.0292357,0.0493 0.0672844,0.0467 0.0981207,0.0881 0.0243782,0.033 0.0410355,0.0994 0.0654138,0.13209 0.020103,0.0272 0.0440915,0.0237 0.0654138,0.044 0.0278489,0.0237 0.054281,0.0604 0.0817673,0.0881 0.01614,0.0158 0.034093,0.0211 0.04906,0.044 0.023664,0.0364 0.039207,0.11205 0.065413,0.13209 0.016574,0.0132 0.032057,-0.0517 0.04906,-0.044 0.019387,0.008 0.031481,0.0643 0.04906,0.0881 0.015418,0.0211 0.033642,0.0237 0.04906,0.044 0.00689,0.0105 0.00864,0.044 0.016353,0.044 0.017238,0 0.031822,-0.044 0.04906,-0.044 0.00545,0 -0.00488,0.0374 0,0.044 0.00472,0.005 0.087669,0 0.098121,0 0.00545,0 -0.012499,0.0105 -0.016353,0 -0.00386,-0.0105 -0.00386,-0.0337 0,-0.044 0.00862,-0.0237 0.024088,-0.0211 0.032707,-0.044 0.00386,-0.0105 -0.012499,0.0105 -0.016353,0 -0.00386,-0.0105 0,-0.0293 0,-0.044 0,-0.0158 0,-0.0293 0,-0.044 0,-0.0158 -0.00545,-0.044 0,-0.044 0.00545,0 0.00545,0.044 0,0.044 -0.00545,0 0,-0.0293 0,-0.044 0,-0.0158 0,-0.0293 0,-0.044"
+ id="path913"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.4250713px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 1.5865626,287.91184 c 0.00545,0.0881 0.00404,0.18139 0.016354,0.26423 0.010123,0.0683 0.037991,0.10915 0.04906,0.17611 0.011289,0.0683 0.00904,0.14791 0.016354,0.22015 0.00908,0.0896 0.021804,0.17611 0.032707,0.26425 0.062527,0.50514 2.129e-4,0.0132 0.081768,0.61656 0.01945,0.14395 0.028631,0.29733 0.04906,0.44039 0.013127,0.092 0.036761,0.17137 0.04906,0.26425 0.015119,0.11389 0.019487,0.23649 0.032707,0.35231 0.00863,0.0757 0.019579,0.14948 0.032707,0.22014 0.014215,0.0765 0.040329,0.13789 0.04906,0.22014 0.00335,0.0316 -0.02088,0.0575 -0.016353,0.0881 0.00859,0.0577 0.03995,0.0749 0.04906,0.13209 0.00859,0.054 0,0.11732 0,0.17611 0,0.10335 -0.00386,-0.0211 0.016354,0.0881 0.00244,0.0132 0,0.0293 0,0.044 0.010902,0.0293 0.021804,0.0588 0.032707,0.0881 0.00545,0.0158 -0.012906,-0.0264 -0.016353,-0.044 -0.00244,-0.0132 0,-0.0293 0,-0.044 0,-0.0881 0,-0.17612 0,-0.26425 0,-0.0588 0,-0.11733 0,-0.17612 0,-0.0293 0.00154,-0.0591 0,-0.0881 -0.00394,-0.0741 -0.013837,-0.14579 -0.016353,-0.22014 -0.00296,-0.0878 0,-0.17611 0,-0.26422 0,-0.0881 0,-0.17612 0,-0.26425 0,-0.0185 -0.00221,-0.25231 0,-0.26423 0.012523,-0.0675 0.029142,-0.0345 0.04906,-0.0881 0.00977,-0.0264 -0.017676,-0.0881 0.016353,-0.0881 0.0077,0 0.00864,0.044 0.016353,0.044 0.021586,0 0.011121,-0.0881 0.032707,-0.0881 0.046803,0 -0.010161,0.0825 0.032707,0.044 0.011564,-0.0106 0.020882,-0.0361 0.032707,-0.044 0.010577,-0.008 0.021804,0 0.032707,0 0.010902,0 0.022584,-0.0106 0.032707,0 0.2164945,0.23306 0.00221,-0.0367 0.065414,0.17611 0.017027,0.0572 0.046141,0.0802 0.065413,0.13209 0.00862,0.0237 0.010083,0.0598 0.016353,0.0881 0.010112,0.0453 0.021804,0.0881 0.032707,0.13208 0.010902,0.0588 0.020612,0.11917 0.032707,0.17612 0.00975,0.0459 0.020914,0.0896 0.032707,0.13208 0.00462,0.0158 0.01349,0.0237 0.016353,0.044 0.00835,0.0562 0.00801,0.11996 0.016353,0.17611 0.00286,0.0185 0.010902,0.0293 0.016353,0.044 0.00545,0.0293 0.012499,0.057 0.016353,0.0881 0.00172,0.0132 -0.00386,0.0337 0,0.044 0.00862,0.0237 0.027255,0.0158 0.032707,0.044 0.00345,0.0184 -0.016354,0.0237 -0.016354,0.044 0,0.033 0.00773,0.0649 0.016354,0.0881 0.00386,0.0106 0,-0.0588 0,-0.044 0,0.0833 0,0.12735 0,0.044"
+ id="path915"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.4250713px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.6798047,288.13204 c 0,0.24967 0,0.49911 0,0.74867 0,0.11759 -0.0029,0.23517 0,0.35234 0.00257,0.10361 0.016352,0.20458 0.016352,0.30827 0,0.13288 -0.016352,0.26339 -0.016352,0.39637 0,0.0464 0.013519,0.0862 0.016352,0.13208 0.00812,0.13104 0.010586,0.26433 0.016352,0.39637 0.023162,0.53019 0.0071,0.1682 0.032707,0.61656 0.00586,0.10255 0.00769,0.20722 0.016355,0.30828 0.090339,0.72984 -0.00604,-0.14158 0.032707,0.48444 0.00127,0.0211 0.014484,0.0237 0.016352,0.044 0.00661,0.0712 -0.00661,0.14896 0,0.22014 0.00296,0.0319 0.012498,0.057 0.016355,0.0881 0.00345,0.028 0,0.0588 0,0.0881"
+ id="path917"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.4250713px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.401796,292.31584 c 0.070864,0 0.14173,0 0.212595,0 0.016352,0 0.032707,0 0.04906,0 0.016355,0 0.032929,0.008 0.04906,0 0.017002,-0.008 0.032157,-0.0351 0.04906,-0.044 0.01069,-0.005 0.021805,0 0.032707,0 0.043609,0 0.087219,0 0.1308276,0 0.021805,0 0.043609,0 0.065414,0 0.00545,0 0.016355,-0.0158 0.016355,0 0,0.0158 -0.021805,0 -0.016355,0 0.010902,0 0.021805,0 0.032707,0 0.00545,0 -0.016352,0.0158 -0.016352,0 0,-0.0293 0.024999,0.0211 0.032707,0 0.00386,-0.0105 -0.00386,-0.0337 0,-0.044 0.00386,-0.0105 0.021743,-0.002 0.016352,0 -0.076195,0.0316 -0.1526323,0.0585 -0.2289485,0.0881"
+ id="path919"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.4250713px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.6798047,288.13204 c 0.016352,0.0588 0.044579,0.10361 0.04906,0.17611 0.0042,0.068 -0.054909,0.10388 -0.065414,0.13209 -0.013897,0.0374 -0.02043,0.0907 -0.032707,0.13209 -0.00963,0.0324 -0.021805,0.0588 -0.032707,0.088 -0.032707,0.0881 -0.065414,0.17612 -0.098121,0.26425 -0.00545,0.0158 -0.010902,0.0293 -0.016352,0.044 -0.00545,0.0158 -0.012907,0.0264 -0.016355,0.044 -0.00244,0.0132 0.00386,0.0337 0,0.044 -0.00386,0.0106 -0.012498,-0.0105 -0.016352,0 -0.00386,0.0106 0.00545,0.044 0,0.044 -0.012189,0 -0.020518,-0.044 -0.032707,-0.044 -0.0077,0 0.0198,0.0264 0.016355,0.044 -0.00545,0.0293 -0.020518,0.044 -0.032707,0.044 -0.0077,0 0.024064,-0.044 0.016352,-0.044 -0.01219,0 -0.027255,0.0158 -0.032707,0.044 -0.00345,0.0184 0.00864,0.044 0.016352,0.044 0.00545,0 0.00545,-0.044 0,-0.044 -0.012189,0 -0.024087,0.0211 -0.032707,0.044 -0.00386,0.0105 0.021805,0 0.016352,0 -0.010902,0 -0.022954,-0.0132 -0.032707,0 -0.00488,0.005 0.00545,0.044 0,0.044 -0.0077,0 -0.010902,-0.0588 -0.016352,-0.044 -0.0077,0.0211 0.0077,0.0672 0,0.0881 -0.00545,0.0158 -0.00864,-0.044 -0.016355,-0.044 -0.00545,0 0.00244,0.0309 0,0.044 -0.031639,0.17032 -0.00106,-0.12628 -0.032707,0.044 -0.00244,0.0132 0.00545,0.044 0,0.044 -0.00545,0 0,-0.0293 0,-0.044"
+ id="path921"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.372;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="m 5.9067434,289.5764 c 0,0.0758 0,0.15193 0,0.22776 0,0.10638 0,0.21248 0,0.31894 0,0.0758 -0.011556,0.15411 0,0.22776 0.00834,0.0532 0.038121,0.0911 0.057181,0.13665 0.01906,0.10638 0.045775,0.21002 0.057181,0.31893 0.00783,0.075 0,0.15193 0,0.22777 0,0.0303 -0.00708,0.063 0,0.0912 0.012763,0.0507 0.052323,0.0824 0.057181,0.13664 0.00556,0.0619 -0.02213,0.12056 -0.028588,0.18221 -0.016277,0.15547 -0.00199,0.0393 0.028588,0.13665 0.00427,0.0137 0.00953,0.0455 0,0.0455 -0.00953,0 0,-0.0303 0,-0.0455"
+ id="path923"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.372;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="m 5.649429,287.70831 c 0,0.25831 0,0.51639 0,0.77456 0,0.0163 0,-0.0608 0,-0.0455 0,0.0303 0,0.0608 0,0.0912 0,0.0163 -0.00675,-0.0349 0,-0.0455 0.00675,-0.011 0.01906,0 0.028588,0 0.01906,0 0.038121,0 0.057181,0 0.00953,0 -0.032854,0.0136 -0.028588,0 0.012046,-0.0385 0.038121,-0.0608 0.057181,-0.0911 0.00953,-0.0164 -0.015105,0.0455 -0.028593,0.0455 -0.00953,0 -0.00675,-0.0349 0,-0.0455 0.013462,-0.0218 0.057181,0.0303 0.057181,0 0,-0.0218 -0.028588,-0.0245 -0.028588,-0.0455 0,-0.0163 0.02185,0.011 0.028588,0 0.064592,-0.10284 -0.1529573,0 0.057181,0 0.013462,0 -0.022562,-0.0273 -0.028588,-0.0455 -0.00435,-0.0137 0,-0.1162 0,-0.13665 0,-0.0163 -0.00953,-0.0455 0,-0.0455 0.00953,0 0,0.0608 0,0.0455 0,-0.0608 0,-0.12139 0,-0.18221 0,-0.0163 0,-0.0303 0,-0.0455 0,-0.0164 -0.00953,-0.0455 0,-0.0455 0.00953,0 0.00675,0.0562 0,0.0455 -0.01507,-0.0245 -0.013514,-0.0672 -0.028588,-0.0912 -0.00675,-0.011 0.00675,0.0562 0,0.0455 -0.01507,-0.0245 -0.028588,-0.0573 -0.028588,-0.0912 0,-0.0218 0.015105,0.0455 0.028588,0.0455 0.00953,0 0.00675,-0.0349 0,-0.0455 -0.00675,-0.0109 -0.01974,0.005 -0.028588,0 -0.039569,-0.0245 -0.1334237,-0.0303 -0.1143639,-0.0911 0.01906,-0.0608 0.076241,0.0608 0,0 z"
+ id="path925"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.372;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="m 6.5357338,289.66753 c 0,0.13665 0,0.27336 0,0.41007 0,0.13038 0.00631,0.0957 0.028588,0.27336 0.00185,0.0137 -0.00427,0.032 0,0.0455 0.015367,0.0491 0.050443,0.083 0.057181,0.13666 0.00416,0.0333 -0.038121,0.0608 -0.028593,0.0911 0.00853,0.0273 0.043705,-0.0218 0.057181,0 0.00953,0.0163 -0.028588,0.0245 -0.028588,0.0455 0,0.0218 0.016539,0.036 0.028588,0.0455 0.00853,0.005 0.028588,-0.0163 0.028588,0 0,0.0218 -0.015105,0.0455 -0.028588,0.0455 -0.00953,0 0,-0.0303 0,-0.0455 0,-0.0303 0,-0.0608 0,-0.0911 0,-0.19748 0,-0.39488 0,-0.59233 0,-0.12165 0,-0.24303 0,-0.36452 0,-0.0608 -0.012046,-0.12465 0,-0.1822 0.00853,-0.0407 0.047171,-0.0513 0.057181,-0.0912 0.010612,-0.0423 -0.015874,-0.0987 0,-0.13666 0.010577,-0.0245 0.046608,0.0245 0.057181,0 0.015874,-0.0379 -0.014703,-0.0977 0,-0.13665 0.017679,-0.0469 0.066711,-0.0455 0.085771,-0.0911 0.00748,-0.019 -0.038121,-0.0303 -0.028588,-0.0455 0.02131,-0.034 0.060695,-0.019 0.085771,-0.0455 0.00792,-0.008 0,-0.0303 0,-0.0455 0,-0.10965 -0.00904,0 0.085771,0 0.00953,0 -0.00904,-0.0407 0,-0.0455 0.027125,-0.0137 0.057181,0 0.085771,0 0.00953,0 -0.038121,0 -0.028588,0 0.01906,0 0.038121,0 0.057181,0 0.00953,0 0.02185,-0.011 0.028588,0 0.00675,0.0109 -0.00572,0.0333 0,0.0455 0.024259,0.0515 0.061512,0.085 0.085771,0.13665 0.00572,0.011 -0.00231,0.0308 0,0.0455 0.00731,0.0467 0.015105,0.0938 0.028588,0.13666 0.049672,0.15847 0.140069,0.28009 0.1715433,0.45564 0.00785,0.0439 -0.00904,0.0935 0,0.13666 0.020215,0.0965 0.063325,0.17784 0.085771,0.27339 0.0067,0.0283 -0.00853,0.0638 0,0.0911 0.012046,0.0385 0.04717,0.0513 0.057181,0.0912 0.010612,0.0423 -0.00561,0.0919 0,0.13666 0.00416,0.0333 0.023422,0.0581 0.028588,0.0911 0.00462,0.0295 -0.00462,0.0617 0,0.0911 0.02856,0.1822 0.02881,7.1e-4 0.085771,0.1822 0.00427,0.0137 -0.024327,-0.0136 -0.028588,0 -0.00853,0.0273 0,0.0608 0,0.0912 0,0.0163 0,-0.0303 0,-0.0455 0,-0.0455 0,-0.0912 0,-0.13666"
+ id="path927"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.372;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="m 8.622838,287.52605 c 0,0.12165 -0.00797,0.24357 0,0.36451 0.011154,0.16885 0.051272,0.33166 0.057181,0.50118 0.038121,1.09353 -0.1419938,-0.67121 -0.028593,0.77459 0.00748,0.0952 0.049705,0.17811 0.057181,0.27337 0.011818,0.15083 0,0.30377 0,0.45564 0,0.34931 0,0.69863 0,1.04796 0,0.1822 0,0.36448 0,0.54675 0,0.0163 0,-0.0608 0,-0.0455 0,0.0455 0,0.0911 0,0.13666 0,0.0163 -0.00675,0.0349 0,0.0455 0.017081,0.0273 0.057181,-0.0494 0.057181,0.0455 0,0.0218 -0.022565,0.0273 -0.028593,0.0455 -0.01292,0.0412 0.024626,0.11784 0.028593,0.13666 0.00537,0.0245 0,0.10664 0,0.13665"
+ id="path929"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.372;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="m 8.1082095,289.75863 c 0.038121,0 0.076241,0 0.1143604,0 0.00953,0 -0.038121,0 -0.028588,0 0.1874265,0 -0.1016539,0 0.085771,0 0.00953,0 -0.038121,0 -0.028588,0 0.038121,0 0.076241,0 0.1143622,0 0.00953,0 0.019347,-0.003 0.028588,0 0.029235,0.0109 0.05622,0.0363 0.085771,0.0455 0.018689,0.005 0.038691,-0.008 0.057181,0 0.020672,0.008 0.036509,0.0374 0.057181,0.0455 0.01849,0.008 0.038121,0 0.057181,0 0.066711,0 0.1334219,0 0.2001333,0 0.01906,0 0.038494,-0.005 0.057181,0 0.029553,0.008 0.056534,0.0338 0.085771,0.0455 0.00925,0.003 0.01906,0 0.028588,0 0.028588,0 0.057181,0 0.085771,0 0.038121,0 0.076241,0 0.1143622,0 0.095301,0 0.1906032,0 0.2859046,0 0.00953,0 -0.01906,0 -0.028588,0"
+ id="path931"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#274f9d;stroke-width:0.49161002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
+ d="m 0.88714177,293.64595 c 0.0406351,0.14527 -0.0325083,0.32605 0,0.47417 0.0180676,0.0825 0.0712991,0.13076 0.0925813,0.21065 0.25187023,0.94606 -0.0212076,-0.0424 0.03086,0.57957 0.00525,0.0627 0.051531,0.097 0.061721,0.15818 0.01131,0.0675 -0.00582,0.14132 0,0.21066 0.00461,0.0548 0.02626,0.10335 0.030861,0.15792 0.00582,0.0693 0,0.14052 0,0.21065 0,0.0878 0,0.17559 0,0.26312 0,0.0211 0,-0.0351 0,-0.0527 0,-0.0699 0,-0.0361 0,-0.10546"
+ id="path933"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#274f9d;stroke-width:0.49161002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
+ d="m 0.88714177,293.64595 c 0.14880913,0.0564 0.28481283,0.0527 0.43204843,0.0527 0.030859,0 0.063306,0.0158 0.09258,0 0.035186,-0.0211 0.055865,-0.0965 0.092581,-0.10546 0.041987,-0.0105 0.081356,0.0435 0.1234412,0.0527 0.040829,0.0105 0.082295,0 0.1234413,0 0.041149,0 0.082295,0 0.1234412,0 0.1131553,0 0.2263113,0 0.3394667,0 0.1156068,0 0.1230821,0 0.1851634,0 0.01028,0 -0.041149,0 -0.030858,0 0.020574,0 0.041149,0 0.061722,0 0.01028,0 0.026258,-0.0158 0.030857,0 0.0092,0.0335 -0.0065,0.0725 0,0.10546 0.0046,0.0237 0.024355,0.0335 0.030859,0.0527 0.0092,0.0332 -0.0092,0.0738 0,0.10546 0.0065,0.0237 0.024353,0.0332 0.030857,0.0527 0.0046,0.0158 -0.0046,0.0369 0,0.0527 0.0065,0.0237 0.030858,0.0301 0.030858,0.0527 0,0.0266 -0.030858,0.0301 -0.030858,0.0527 0,0.0266 0.026259,0.0301 0.030858,0.0527 0.0065,0.0337 0,0.0704 0,0.10546 0,0.0351 0,0.0704 0,0.10546 0,0.0348 0,0.0704 0,0.10545 0,0.0211 0.0092,0.0446 0,0.0527 -0.0184,0.0158 -0.047175,-0.0266 -0.061722,0 -0.023003,0.0395 -0.00785,0.11891 -0.030858,0.15819 -0.023003,0.0395 -0.064686,0.0266 -0.09258,0.0527 -0.024948,0.0266 -0.041149,0.0704 -0.061722,0.10546 -0.020574,0.0348 -0.041149,0.0704 -0.061722,0.10545 -0.01028,0.0211 -0.016314,0.0527 -0.030865,0.0527 -0.01454,0 -0.017051,-0.0604 -0.030857,-0.0527 -0.027602,0.0158 -0.041149,0.0704 -0.061722,0.10546 -0.01028,0.0211 -0.016314,0.0527 -0.030858,0.0527 -0.03253,0 -0.061722,-0.0704 -0.092581,-0.0527 -0.019518,0.0132 0.01454,0.0804 0,0.10546 -0.01028,0.0211 -0.016313,-0.0527 -0.030857,-0.0527 -0.03253,0 -0.061023,0.039 -0.09258,0.0527 -0.00998,0.003 -0.020574,0 -0.030857,0 -0.061722,0 -0.1234439,0 -0.1851639,0 -0.020574,0 -0.042204,0.0132 -0.061722,0 -0.0138,-0.008 -0.017847,-0.0414 -0.03086,-0.0527 -0.0092,-0.008 -0.020574,0 -0.03086,0 -0.020574,-0.0353 -0.041146,-0.0704 -0.061722,-0.10546 -0.01028,-0.0211 -0.016313,-0.0527 -0.030862,-0.0527 -0.014539,0 -0.017847,0.0638 -0.030859,0.0527 -0.020574,-0.0211 -0.01028,-0.0878 -0.030859,-0.10545 -0.013007,-0.0132 -0.017847,0.0417 -0.030859,0.0527 -0.0092,0.008 -0.021101,0.008 -0.030859,0 -0.021823,-0.0132 -0.051434,-0.0211 -0.061722,-0.0527 -0.0065,-0.0237 0.016313,-0.0527 0.030859,-0.0527 0.01028,0 0.0092,0.0443 0,0.0527 -0.0184,0.0158 -0.041146,0 -0.061722,0 -0.01028,0 0.041146,0 0.030862,0 -0.020574,0 -0.041146,0 -0.061722,0 -0.01028,0 0.032758,-0.0158 0.030859,0 -0.031265,0.28449 -0.082295,0.5618 -0.1234412,0.84271"
+ id="path935"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#274f9d;stroke-width:0.49161002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
+ d="m 4.0966432,294.01476 c -0.1337284,0 -0.2674586,0 -0.4011877,0 -0.020574,0 -0.042204,0.0132 -0.061722,0 -0.013801,-0.008 -0.016313,-0.0527 -0.030865,-0.0527 -0.014539,0 -0.018755,0.039 -0.030858,0.0527 -0.019136,0.0237 -0.045456,0.0266 -0.061722,0.0527 -0.016258,0.0301 -0.011715,0.0833 -0.030858,0.10546 -0.017126,0.0211 -0.047174,-0.0266 -0.061722,0 -0.023003,0.0395 -0.02297,0.10414 -0.030858,0.15819 -0.00249,0.0158 0.00728,0.0406 0,0.0527 -0.016258,0.0301 -0.054446,0.0158 -0.061722,0.0527 -0.00728,0.0374 0.035371,0.0667 0.030864,0.10545 -0.00728,0.062 -0.054446,0.0957 -0.061722,0.15819 -0.00449,0.0388 0.026353,0.0667 0.030857,0.10546 0.00518,0.0443 0,0.43846 0,0.47416 0,0.0351 -0.0092,0.0738 0,0.10546 0.013007,0.044 0.04871,0.0606 0.061722,0.10546 0.0092,0.0335 -0.00765,0.073 0,0.10546 0.013781,0.0588 0.035497,0.11284 0.061722,0.15818 0.00728,0.0132 0.021659,-0.008 0.030858,0 0.013007,0.0132 0.020573,0.0348 0.030858,0.0527 0.01028,0.0211 0.024356,0.0335 0.030863,0.0527 0.0046,0.0158 -0.00728,0.0403 0,0.0527 0.043866,0.22832 0.064979,-0.0237 0.092581,0 0.020574,0.0211 0.00904,0.0931 0.030858,0.10546 0.02182,0.0132 0.039408,-0.0432 0.061722,-0.0527 0.020888,-0.0106 0.1961652,0 0.2160243,0 0.085815,0 0.2663932,0.0335 0.3394664,-0.0527 0.00855,-0.0105 -0.00855,-0.043 0,-0.0527 0.00605,-0.008 0.1401078,-0.0691 0.1543017,-0.10546 0.011424,-0.03 -0.01454,-0.0804 0,-0.10546 0.023003,-0.0398 0.06238,-0.0335 0.092581,-0.0527 0.021357,-0.0158 0.043318,-0.0301 0.061722,-0.0527 0.023277,-0.0301 0.038444,-0.0754 0.061722,-0.10546 0.0184,-0.0237 0.048961,-0.0211 0.061722,-0.0527 0.011424,-0.0301 -0.014539,-0.0804 0,-0.10546 0.023003,-0.0398 0.063486,-0.03 0.092581,-0.0527 0.013007,-0.0132 0.020574,-0.0353 0.030857,-0.0527 0.020574,-0.0351 0.048711,-0.0606 0.061722,-0.10545 0.0092,-0.033 -0.011424,-0.0757 0,-0.10546 0.012766,-0.0335 0.051434,-0.0211 0.061722,-0.0527 0.0065,-0.0237 -0.037364,-0.0335 -0.030858,-0.0527 0.01028,-0.0353 0.054449,-0.0158 0.061722,-0.0527 0.00728,-0.0374 -0.030858,-0.0662 -0.030858,-0.10546 0,-0.0211 0.026259,0.0158 0.030858,0 0.0092,-0.0329 0,-0.0704 0,-0.10545 0,-0.0351 0,-0.0704 0,-0.10546 0,-0.0353 0.014539,-0.0804 0,-0.10546 -0.01454,-0.0266 -0.04408,0.0211 -0.061722,0 -0.025545,-0.0266 -0.1477543,-0.25231 -0.1851635,-0.31608 -0.010281,-0.0211 -0.017846,-0.0414 -0.030857,-0.0527 -0.030858,-0.0211 -0.061722,-0.0351 -0.092581,-0.0527 0,0.0211 0.01028,0.0527 0,0.0527 -0.014539,0 -0.017846,-0.0414 -0.030864,-0.0527 -0.029095,-0.0266 -0.060053,-0.0527 -0.092581,-0.0527 -0.01028,0 0.01028,0.0527 0,0.0527 -0.065061,0 -0.1201028,-0.10546 -0.1851638,-0.10546 -0.01028,0 0.00728,0.0403 0,0.0527 -0.00728,0.0132 -0.020971,-0.008 -0.030857,0 -0.062558,0.0335 -0.1234413,0.0704 -0.1851632,0.10546 z"
+ id="path937"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#994f9d;stroke-width:0.58393598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1"
+ d="m 5.7355182,292.7552 c 0.053824,0.4381 0.1075613,0.87549 0.161334,1.31316 0.015807,0.12866 0.026754,0.25785 0.047391,0.38574 0.021098,0.13077 0.056892,0.25547 0.077091,0.38577 0.02788,0.18007 0.044259,0.36024 0.066421,0.54063 0.047395,0.38576 0.094907,0.77247 0.1423529,1.15866 0.00379,0.0309 -0.016828,-0.0649 -0.00949,-0.0772 0.014792,-0.0237 0.056533,0.0488 0.059397,0 0.00357,-0.0514 -0.059309,-0.11363 -0.048715,-0.15476 0.010255,-0.044 0.050092,0.0952 0.068887,0.0773 5.939e-4,-5.3e-4 0.00795,-0.23148 0.030958,-0.23148 0.013993,0 0.026667,0.086 0.039186,0.0772 0.1644139,0.41664 0.057153,-0.2241 0.060589,-0.23201 0.02002,-0.049 0.052258,-0.0548 0.079603,-0.0772 0.035455,-0.0308 0.073523,-0.049 0.1093016,-0.0772 0.027185,-0.0237 0.050378,-0.0638 0.079603,-0.0772 0.027348,-0.0158 0.062551,0.0185 0.089093,0 0.012288,-0.0105 0.00621,-0.0772 0.020205,-0.0772 0.079196,0 -0.00526,0.23807 0.098584,0.0772 0.00757,-0.0105 -0.01433,-0.0596 -0.00949,-0.0772 0.010236,-0.044 0.02777,-0.0772 0.049906,-0.0772 0.013993,0 -0.033283,0.0514 -0.020205,0.0772 0.018787,0.039 0.050193,0.039 0.059397,0 0.0061,-0.0308 -0.035106,-0.044 -0.039187,-0.0772 -0.00379,-0.0308 0.019799,0 0.029697,0 0.00989,0 0.025906,-0.0308 0.029696,0 0.00379,0.0308 -0.025906,0.0308 -0.029696,0 -0.0048,-0.039 0.00621,-0.0772 0.020206,-0.0772 0.00989,0 0.00626,0.0509 0.00949,0.0772"
+ id="path939"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#274f9d;stroke-width:0.49161002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1"
+ d="m 7.4604468,294.01476 c 0.051433,0.0527 0.1028683,0.10546 0.1543034,0.15819 0.01028,0.0351 0.012894,0.0807 0.030858,0.10546 0.035921,0.0488 0.083994,0.0649 0.1234415,0.10546 0.012473,0.0132 0.018756,0.0387 0.030858,0.0527 0.019135,0.0237 0.042579,0.0335 0.061722,0.0527 0.056466,0.0641 0.00309,0.067 0.092581,0.10546 0.019957,0.0105 0.044604,-0.0211 0.061722,0 0.019142,0.0237 0.01028,0.0878 0.030858,0.10546 0.024104,0.0237 0.026233,-0.11337 0.061722,-0.0527 0.00728,0.0132 -0.0092,0.0443 0,0.0527 0.0184,0.0158 0.041149,0 0.061722,0 0.01028,0 -0.041149,0 -0.030858,0 0.020574,0 0.041149,0 0.061722,0 0.01028,0 -0.041149,0 -0.030857,0 0.2023085,0 -0.1097267,0 0.092581,0 0.01028,0 -0.041149,0 -0.030857,0 0.020573,0 0.041149,0 0.061722,0 0.041149,0 -0.1131549,0.0211 -0.030857,-0.0527 0.0184,-0.0158 0.047174,0.0266 0.061722,0 0.01028,-0.0211 -0.024351,-0.0335 -0.030857,-0.0527 -0.0046,-0.0158 -0.0046,-0.0369 0,-0.0527 0.023493,-0.0801 0.061722,-0.0335 0.061722,-0.15818 0,-0.0211 -0.030857,0.0211 -0.030857,0 0,-0.0554 0.02297,-0.10414 0.030857,-0.15819 0.00249,-0.0158 -0.0046,-0.0369 0,-0.0527 0.033176,-0.1131 0.095892,-0.19852 0.1234413,-0.31606 0.00765,-0.0335 -0.0065,-0.0725 0,-0.10545 0.01454,-0.0741 0.043602,-0.13842 0.061722,-0.21066 0.074192,-0.29546 -0.024391,-0.0211 0.092581,-0.36878 0.0184,-0.0548 0.04711,-0.10019 0.061722,-0.15819 0.016702,-0.0664 0.015113,-0.14342 0.030857,-0.21065 0.00539,-0.0237 0.022795,-0.0335 0.030858,-0.0527 0.02552,-0.0651 0.036202,-0.14527 0.061722,-0.21065 0.00807,-0.0237 0.024353,-0.0332 0.030858,-0.0527 0.0046,-0.0158 -0.0092,-0.0448 0,-0.0527 0.050846,-0.0435 0.094247,0.0554 0.030857,-0.0527"
+ id="path941"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#274f9d;stroke-width:0.49161002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
+ d="m 7.6147502,294.17279 c 0.1748767,0.17559 0.3542906,0.33871 0.5246301,0.52684 0.00864,0.0105 0,0.0351 0,0.0527 0,0.0527 -0.011448,0.10915 0,0.15819 0.013781,0.0588 0.042639,0.10414 0.061722,0.15819 0.011841,0.034 0.017051,0.0741 0.030858,0.10545 0.017457,0.0401 0.046751,0.0627 0.061722,0.10546 0.094096,0.0374 0.011892,0.1458 0.030858,0.21065 0.07062,0.24097 -0.012785,-0.22357 0.061722,0.15793 0.00326,0.0158 -0.0046,0.0369 0,0.0527 0.0065,0.0237 0.024351,0.0335 0.030858,0.0527 0.0046,0.0158 -0.00728,0.0406 0,0.0527 0.00728,0.0132 0.023585,-0.0132 0.030864,0 0.00728,0.0132 -0.00728,0.0403 0,0.0527 0.014539,0.0266 0.061722,-0.0353 0.061722,0 0,0.0266 -0.041149,0.0348 -0.030864,0.0527 0.01454,0.0266 0.041149,0 0.061722,0 0.010281,0 -0.041149,0 -0.030857,0 0.020574,0 0.041149,0 0.061722,0 0.01028,0 -0.023585,-0.0132 -0.030858,0 -0.00728,0.0132 -0.00728,0.0406 0,0.0527 0.00728,0.0132 0.021659,-0.008 0.030858,0 0.013006,0.0132 0.020573,0.0351 0.030864,0.0527 0.01028,0.0211 0.02435,0.0335 0.030858,0.0527 0.0046,0.0158 -0.00728,0.0401 0,0.0527 0.00728,0.0132 0.023585,-0.0132 0.030858,0 0.015427,0.0266 -0.015426,0.13182 0,0.15818 0.041149,0.0704 0.030857,-0.0878 0.030857,0.0527"
+ id="path943"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/res/iso-3way-template.svg b/res/iso-3way-template.svg
@@ -0,0 +1,210 @@
+<?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="10mm"
+ height="10mm"
+ viewBox="0 0 10 10"
+ version="1.1"
+ id="svg837"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="iso-3way-template.svg">
+ <defs
+ id="defs831">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-15.502741 : -0.68761461 : 1"
+ inkscape:vp_y="0 : 1935.9757 : 0"
+ inkscape:vp_z="25.090656 : 9.2983744 : 1"
+ inkscape:persp3d-origin="19.059341 : -5.6235546 : 1"
+ id="perspective1382" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="15.839192"
+ inkscape:cx="16.282209"
+ inkscape:cy="18.522341"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="855"
+ inkscape:window-x="0"
+ inkscape:window-y="1"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata834">
+ <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,-287)">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 0.918739,287.56204 c -0.0835217,0 -0.16704347,0 -0.25056518,0 -0.0111363,0 -0.0222724,0 -0.0334087,0 -0.0111363,0 -0.023069,-0.004 -0.0334087,0 -0.0186402,0.007 -0.0304268,0.0295 -0.050113,0.0334 -0.0122089,0.002 -0.0213296,-0.0197 -0.0334087,-0.0167 -0.0152789,0.004 -0.01813,0.0296 -0.0334087,0.0334 -0.012079,0.003 -0.0213297,-0.0197 -0.0334087,-0.0167 -0.0152789,0.004 -0.0184679,0.0284 -0.0334087,0.0334 -0.007471,0.002 -0.009234,-0.0192 -0.0167045,-0.0167 -0.050113,0.0167 -0.0167045,0.0334 -0.050113,0.0501 -0.00996,0.005 -0.0255341,-0.008 -0.0334087,0 -0.0668174,0.0668 0.0222724,0 0,0.0668 -0.0222724,0.0668 -0.050113,-0.039 -0.050113,0.0501 0,0.006 0.018465,-0.005 0.0167045,0 -0.006349,0.019 -0.0259526,0.0315 -0.0334087,0.0501 -0.004136,0.0103 0.001831,0.0224 0,0.0334 -0.003774,0.0226 -0.0129301,0.0442 -0.0167043,0.0668 -0.001831,0.011 0,0.0223 0,0.0334 0,0.0334 0,0.0668 0,0.10023 0,0.0223 -0.004368,0.045 0,0.0668 0.001544,0.008 0.0119797,0.0104 0.0167043,0.0167 0.0120457,0.0161 0.0244304,0.0322 0.0334087,0.0501 0.00249,0.005 -0.003341,0.0122 0,0.0167 0.014174,0.0189 0.0359389,0.0312 0.050113,0.0501 0.003341,0.004 -0.00249,0.0117 0,0.0167 0.003522,0.007 0.0111363,0.0111 0.0167042,0.0167 0.0111363,0.0111 0.0253058,0.0199 0.0334087,0.0334 0.009059,0.0151 0.00614,0.036 0.0167045,0.0501 0.007471,0.01 0.0230492,0.01 0.0334087,0.0167 0.0222258,0.0148 0.034452,0.0512 0.050113,0.0668 0.008804,0.009 0.0230492,0.01 0.0334087,0.0167 0.006552,0.004 0.0111363,0.0111 0.0167042,0.0167 0.0167045,0.0111 0.0328979,0.0231 0.050113,0.0334 0.0391747,0.0235 0.0357151,0.0143 0.0835217,0.0334 0.0321033,0.0128 0.0541081,0.0305 0.0835217,0.0501 0.0167045,0.0111 0.0310672,0.0271 0.050113,0.0334 0.0158472,0.005 0.033636,-0.003 0.050113,0 0.0583833,0.01 0.0560769,0.0298 0.11693043,0.0501 0.0105648,0.004 0.0224888,-0.002 0.0334086,0 0.017266,0.003 0.033183,0.0119 0.050113,0.0167 0.022075,0.006 0.046283,0.006 0.066817,0.0167 0.014086,0.007 0.01813,0.0296 0.033409,0.0334 0.012079,0.003 0.020958,-0.0167 0.033409,-0.0167 0.012451,0 0.0212,0.0143 0.033409,0.0167 0.019532,0.004 0.074461,0 0.1002259,0 0.00752,0 0.045029,0.003 0.050113,0 0.058383,-0.0292 -0.031102,-0.002 0.016704,-0.0501 0.00557,-0.006 0.00883,0.0167 0.016705,0.0167 0.011136,0 -0.011136,-0.0334 0,-0.0334 0.020641,0 0.016704,0.0392 0.016704,0"
+ id="path887"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 2.0713388,287.52864 c 0.010432,0.0699 -0.00799,0.16195 0,0.23386 0.00314,0.0282 0.013879,0.0553 0.016704,0.0835 0.00277,0.0277 -0.00277,0.0558 0,0.0835 0.00282,0.0283 0.012037,0.0555 0.016704,0.0835 0.00647,0.0388 0.010718,0.078 0.016704,0.11693 0.0103,0.0669 0.027276,0.13299 0.033409,0.20045 0.00252,0.0277 0,0.0557 0,0.0835 0,0.039 0,0.0779 0,0.11693 0,0.078 0,0.1559 0,0.23386 0,0.0105 -8.995e-4,0.0993 0,0.10022 0.00557,0.006 0.011136,-0.0223 0.016704,-0.0167 0.00787,0.008 0,0.0223 0,0.0334 0,0.006 0,-0.0223 0,-0.0167 0,0.0111 0,0.0223 0,0.0334"
+ id="path889"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.2740518,288.49749 c -0.066817,0 -0.133635,0 -0.2004523,0 -0.00557,0 -0.013615,-0.005 -0.016703,0 -0.00977,0.0146 -0.00694,0.0355 -0.016706,0.0501 -0.00618,0.009 -0.023447,-0.005 -0.033409,0 -0.06952,0.0348 0.017857,-0.001 -0.016703,0.0334 -0.00394,0.004 -0.014213,-0.005 -0.016703,0 -0.00498,0.01 0.00498,0.0235 0,0.0334 -0.00249,0.005 -0.014213,-0.005 -0.016703,0 -0.00276,0.006 0,0.0707 0,0.0835 0,0.039 0,0.0779 0,0.11693 0,0.0111 0,0.0223 0,0.0334 0,0.006 -0.00177,0.0114 0,0.0167 0.020185,0.0606 0.00792,0.0119 0.033409,0.0501 0.00691,0.0104 0.0079,0.0246 0.016703,0.0334 0.0088,0.009 0.024604,0.008 0.033409,0.0167 0.0088,0.009 0.0079,0.0246 0.016706,0.0334 0.00394,0.004 0.011303,-10e-4 0.016703,0 0.017081,0.004 0.033765,0.0102 0.050113,0.0167 0.0023,9.3e-4 0.066029,0.0333 0.066817,0.0334 0.01638,0.003 0.033636,-0.003 0.050113,0 0.017367,0.003 0.032745,0.0138 0.050113,0.0167 0.016478,0.003 0.033409,0 0.050113,0 0.016703,0 0.033409,0 0.050113,0 0.050113,0 0.1002262,0 0.1503391,0 0.017373,0 0.087086,0.003 0.100226,0 0.012078,-0.003 0.022273,-0.0111 0.033409,-0.0167 0.011136,-0.006 0.023048,-0.01 0.033409,-0.0167 0.00655,-0.004 0.010152,-0.0123 0.016703,-0.0167 0.010358,-0.007 0.02784,-0.006 0.033409,-0.0167 0.00352,-0.007 -0.020225,-0.01 -0.016703,-0.0167 0.00557,-0.0111 0.026502,-0.006 0.033409,-0.0167 0.00618,-0.009 -0.0027,-0.0226 0,-0.0334 0.00302,-0.0121 0.012766,-0.0216 0.016703,-0.0334 0.00177,-0.005 0,-0.0111 0,-0.0167 0,-0.0334 0,-0.0668 0,-0.10023 0,-0.0111 0,-0.0223 0,-0.0334 0,-0.0111 0.00498,-0.0234 0,-0.0334 -9.26e-4,-0.002 -0.075138,-0.0793 -0.083521,-0.0835 -0.00498,-0.002 -0.011724,0.002 -0.016706,0 -0.00704,-0.004 -0.00966,-0.0132 -0.016703,-0.0167 -0.00498,-0.002 -0.011724,0.002 -0.016703,0 -0.00704,-0.004 -0.00966,-0.0132 -0.016706,-0.0167 -0.00498,-0.002 -0.011724,0.002 -0.016703,0 -0.057032,-0.0285 0.051662,-0.0167 -0.066817,-0.0167 -0.00557,0 0.022273,0 0.016703,0 -0.011136,0 -0.022273,0 -0.033409,0 -0.00557,0 -0.011724,0.002 -0.016703,0 -0.00704,-0.004 -0.00966,-0.0132 -0.016703,-0.0167 -0.00996,-0.005 -0.022844,0.004 -0.033409,0 -0.011811,-0.004 -0.021331,-0.0137 -0.033409,-0.0167 -0.010803,-0.003 -0.022273,0 -0.033409,0 -0.038977,0 -0.077954,0 -0.1169305,0 -0.00557,0 0.022273,0 0.016706,0 -0.031553,0 -0.048257,0 -0.016706,0"
+ id="path891"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 4.7440341,288.36385 c -0.038977,0 -0.077954,0 -0.1169304,0 -0.016703,0 -0.035172,-0.007 -0.050113,0 -0.011136,0.006 -0.0098,0.0231 -0.016703,0.0334 -0.00437,0.007 -0.010152,0.0123 -0.016706,0.0167 -0.010359,0.007 -0.023048,0.01 -0.033409,0.0167 -0.00655,0.004 -0.010152,0.0123 -0.016703,0.0167 -0.010361,0.007 -0.026502,0.006 -0.033409,0.0167 -0.023998,0.036 0.031812,0.0345 -0.016703,0.0668 -0.00927,0.006 -0.029887,-0.0106 -0.033409,0 -0.00557,0.0167 0.016703,0.0325 0.016703,0.0501 0,0.008 -0.014795,0.009 -0.016703,0.0167 -0.00329,0.0131 0,0.11654 0,0.13364 0,0.0334 0,0.0668 0,0.10023 0,0.0111 -0.00573,0.0239 0,0.0334 0.012155,0.0203 0.035355,0.0317 0.050113,0.0501 0.00778,0.01 0.00634,0.0265 0.016703,0.0334 0.00927,0.006 0.0245,-0.007 0.033409,0 0.051306,0.0385 0.00723,0.0668 0.083522,0.0668 0.017608,0 0.032847,-0.0202 0.050113,-0.0167 0.015444,0.003 0.018267,0.0291 0.033409,0.0334 0.026769,0.008 0.055896,-0.003 0.083522,0 0.017473,0.002 0.032745,0.0138 0.050113,0.0167 0.016476,0.003 0.033409,0 0.050113,0 0.027841,0 0.055681,0 0.083522,0 0.050113,0 0.1002261,0 0.1503392,0 0.02784,0 0.055681,0 0.083522,0 0.016703,0 0.033409,0 0.050113,0 0.00557,0 0.011724,0.002 0.016703,0 0.00704,-0.004 0.011136,-0.0111 0.016703,-0.0167 0.00557,-0.006 0.013184,-0.01 0.016706,-0.0167 0.00249,-0.005 0,-0.0111 0,-0.0167 0,-0.0111 0.00498,-0.0235 0,-0.0334 -0.00249,-0.005 -0.011136,0 -0.016706,0"
+ id="path893"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 5.5792512,287.54534 c 0,0.0779 0,0.15591 0,0.23386 0,0.039 -0.00299,0.0781 0,0.11693 0.015356,0.19962 0.00982,9.5e-4 0.066818,0.20045 0.046928,0.16425 -0.019272,0.10537 0.050113,0.26727 0.1563894,0.36491 -0.032193,-0.25785 0.1336347,0.26727 0.01546,0.049 0.012166,0.10361 0.033409,0.15034 0.00831,0.0183 0.0405,0.0158 0.050113,0.0334 0.025294,0.0464 0.033409,0.10023 0.050113,0.15034 0.011136,0.0334 0.024868,0.0661 0.033409,0.10023 0.0027,0.0108 -0.00414,0.0231 0,0.0334 0.00675,0.0169 0.045249,0.0592 0.050113,0.0835 0.00328,0.0164 -0.00528,0.0343 0,0.0501 0.00177,0.005 0.014213,-0.005 0.016706,0 0.00498,0.01 -0.00498,0.0234 0,0.0334 0.00249,0.005 0.016703,-0.006 0.016703,0 0,0.0554 -0.0313,0 -0.016703,0 0.00557,0 0.00557,0.0167 0,0.0167 -0.00557,0 0,-0.0111 0,-0.0167 0,-0.006 0,-0.0111 0,-0.0167"
+ id="path895"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 6.2808339,287.82931 c -0.00681,0.0422 0.018063,0.11558 -0.016703,0.15034 -0.00394,0.004 -0.014213,-0.005 -0.016703,0 -0.010266,0.0205 -0.00397,0.0477 -0.016703,0.0668 -0.011136,0.0167 -0.039784,0.0162 -0.050113,0.0334 -0.00859,0.0143 0.00859,0.0358 0,0.0501 -0.010329,0.0172 -0.035917,0.0192 -0.050113,0.0334 -0.0088,0.009 -0.010298,0.0227 -0.016703,0.0334 -0.010329,0.0172 -0.019211,0.0359 -0.033409,0.0501 -0.0088,0.009 -0.028785,0.005 -0.033409,0.0167 -0.00827,0.0207 0,0.0445 0,0.0668 0,0.0111 0.00573,0.0239 0,0.0334 -0.012155,0.0203 -0.037009,0.0305 -0.050113,0.0501 -0.00977,0.0147 -0.010165,0.0338 -0.016703,0.0501 -0.00462,0.0116 -0.011136,0.0223 -0.016703,0.0334 -0.00557,0.0111 -0.0079,0.0246 -0.016703,0.0334 -0.00394,0.004 -0.016703,-0.006 -0.016703,0 0,0.008 0.020225,0.01 0.016703,0.0167 -0.00557,0.0111 -0.029471,0.005 -0.033409,0.0167 -0.00394,0.0118 0.022273,0.0223 0.016703,0.0334 -0.00498,0.01 -0.022273,0 -0.033409,0 -0.00557,0 0.019196,-0.005 0.016703,0 -0.00704,0.0141 -0.022273,0.0223 -0.033409,0.0334 -0.00557,0.006 0.016706,-0.0246 0.016706,-0.0167 0,0.0125 -0.0079,0.0246 -0.016706,0.0334 -0.00394,0.004 0.00557,-0.0167 0,-0.0167 -0.00787,0 -0.016703,0.009 -0.016703,0.0167 0,0.008 0.00883,0.0167 0.016703,0.0167 0.00557,0 -0.00394,-0.0128 0,-0.0167 0.00394,-0.004 0.011724,0.002 0.016706,0 0.078436,-0.0392 0.021016,-0.0251 0.083521,-0.0501 0.016349,-0.007 0.032682,-0.0142 0.050113,-0.0167 0.022048,-0.003 0.044545,0 0.066817,0 0.050113,0 0.100226,0 0.1503392,0 0.044545,0 0.08909,0 0.1336347,0 0.02784,0 0.056752,-0.008 0.083522,0 0.015142,0.004 0.022273,0.0223 0.033409,0.0334 0.011136,0.0111 0.022273,0.0223 0.033409,0.0334 0.033409,0.0334 0.066817,0.0668 0.100226,0.10022 0.011136,0.0111 0.026366,0.0193 0.033409,0.0334 0.00498,0.01 -0.00498,0.0235 0,0.0334 0.00249,0.005 0.014944,-0.005 0.016703,0 0.00528,0.0159 -0.00747,0.0352 0,0.0501 0.00557,0.0111 0.02784,0.006 0.033409,0.0167 0.00352,0.007 -0.020225,0.01 -0.016703,0.0167 0.00557,0.0111 0.024604,0.008 0.033409,0.0167 0.00394,0.004 -0.012766,-0.004 -0.016703,0 -0.00394,0.004 -0.00394,0.0128 0,0.0167 0.0088,0.009 0.022273,0.0111 0.033409,0.0167 0.022273,0.0111 0.049209,0.0158 0.066817,0.0334 0.012451,0.0125 0.00614,0.036 0.016703,0.0501 0.00747,0.01 0.024606,0.008 0.033409,0.0167 0.019685,0.0197 0.030427,0.0471 0.050113,0.0668 0.040571,0.0406 0.024529,-0.005 0.050113,0.0334 0.00691,0.0104 0.00674,0.0259 0.016703,0.0334 0.014086,0.0106 0.034364,0.009 0.050113,0.0167 0.00498,0.002 -0.019196,-0.005 -0.016703,0 0.00704,0.0141 0.028428,0.0185 0.033409,0.0334 0.00249,0.007 -0.02458,0.0167 -0.016703,0.0167 0.012451,0 0.024604,-0.0255 0.033409,-0.0167 0.042194,0.0422 -0.044158,0.0442 -0.016706,0.0167 0.012806,-0.0128 0.033409,0.0133 0.033409,0.0334 0,0.008 -0.011136,-0.0111 -0.016703,-0.0167"
+ id="path897"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 1.0356694,289.54986 c 0,0.15034 0,0.30068 0,0.45102 0,0.41761 0,0.83522 0,1.25283 0,0.12249 0,0.24499 0,0.36749 0,0.0334 0,0.0668 0,0.10023 0,0.006 0,-0.0111 0,-0.0167"
+ id="path899"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 1.0356694,289.54986 c 0.072385,0.1225 0.1317843,0.25367 0.2171565,0.3675 0.033409,0.0445 0.092832,0.0623 0.1336347,0.10022 0.037618,0.0349 0.065199,0.0794 0.1002261,0.11693 0.042983,0.0461 0.090906,0.0874 0.1336348,0.13364 0.024183,0.0262 0.042725,0.0572 0.066817,0.0835 0.05321,0.058 0.1147281,0.10819 0.1670434,0.16704 0.028892,0.0325 0.054268,0.0681 0.083522,0.10023 0.026485,0.0291 0.055681,0.0557 0.083522,0.0835 0.00557,0.006 0.011785,0.0106 0.016704,0.0167 0.017392,0.0217 0.032721,0.0451 0.050113,0.0668 0.051168,0.064 -0.03091,-0.0476 0.050113,0.0334 0.00394,0.004 -0.00394,0.0128 0,0.0167 0.00394,0.004 0.012767,-0.004 0.016704,0 0.0088,0.009 0.0079,0.0246 0.016704,0.0334 0.00394,0.004 0,-0.0111 0,-0.0167 0,-0.0278 0,-0.0557 0,-0.0835 0,-0.0278 0,-0.0557 0,-0.0835 0,-0.0167 0.00236,-0.0336 0,-0.0501 -0.024807,-0.17365 -0.016704,0.0644 -0.016704,-0.16704 0,-0.0947 0,-0.18932 0,-0.28397 0,-0.0279 -0.00604,-0.0564 0,-0.0835 -0.039107,-0.0627 0.039846,-0.0527 0.050113,-0.0835 0.00898,-0.0269 0.00773,-0.0566 0.016705,-0.0835 0.00249,-0.007 0.01378,-0.009 0.016704,-0.0167 0.00853,-0.0213 0.00944,-0.045 0.016704,-0.0668 0.00394,-0.0118 0.011136,-0.0223 0.016704,-0.0334 0.011136,-0.0223 0.022272,-0.0446 0.033409,-0.0668 0.00557,-0.0111 0.013685,-0.0213 0.016704,-0.0334 0.0027,-0.0108 -0.00787,-0.0255 0,-0.0334 0.00557,-0.006 0.011136,0.0223 0.016705,0.0167 0.00787,-0.008 -0.00498,-0.0234 0,-0.0334 0.00138,-0.003 0.045669,0 0.050113,0 0.00557,0 0.012767,-0.004 0.016705,0 0.01421,0.0142 0.044421,0.0999 0.050113,0.11693 0.011136,0.0334 0.023734,0.0664 0.033409,0.10023 0.00631,0.0221 0.010664,0.0447 0.016704,0.0668 0.021332,0.0782 0.042975,0.15638 0.066817,0.23386 0.010357,0.0337 0.024143,0.0663 0.033409,0.10023 0.00747,0.0274 0.00773,0.0566 0.016704,0.0835 0.01341,0.0402 0.037642,0.0764 0.050113,0.11693 0.00996,0.0324 0.012504,0.0666 0.016703,0.10023 0.00138,0.0111 -0.0038,0.0229 0,0.0334 0.018741,0.0515 0.048076,0.0988 0.066817,0.15034 0.0038,0.0105 -0.00183,0.0224 0,0.0334 0.00377,0.0226 0.013457,0.0441 0.016703,0.0668 0.00235,0.0165 -0.00275,0.0336 0,0.0501 0.00289,0.0174 0.01325,0.0328 0.016703,0.0501 0.0022,0.0109 -0.0027,0.0226 0,0.0334 0.00302,0.0121 0.013684,0.0213 0.016706,0.0334 0.00355,0.0142 -0.00479,0.0739 0,0.0835 0.00352,0.007 0.013181,0.01 0.016703,0.0167 0.00225,0.005 0,0.093 0,0.10023 0,0.011 -0.00332,0.0952 0,0.10022 0.00691,0.0104 0.030389,0.005 0.033409,0.0167 0.00427,0.0171 -0.016703,0.0325 -0.016703,0.0501 0,0.008 0.013182,0.01 0.016703,0.0167 0.00249,0.005 0,0.0111 0,0.0167 0,0.0111 -0.00352,0.0229 0,0.0334 0.00249,0.007 0.00966,0.0132 0.016706,0.0167 0.00498,0.002 0.016703,-0.006 0.016703,0 0,0.0125 -0.016703,0.021 -0.016703,0.0334 0,0.0125 0.012766,0.0216 0.016703,0.0334 0.00352,0.0106 -0.00352,0.0229 0,0.0334 0.00394,0.0118 0.012766,0.0216 0.016706,0.0334 0.00177,0.005 -0.00249,0.0117 0,0.0167 0.00352,0.007 0.013184,0.01 0.016703,0.0167 0.00525,0.0105 -0.00525,0.0563 0,0.0668 0.00352,0.007 0.014213,0.009 0.016703,0.0167 0.00704,0.0211 -0.00437,0.045 0,0.0668 0.00345,0.0173 0.01325,0.0328 0.016706,0.0501 0.00464,0.0232 -0.00696,0.0626 0,0.0835 0.00635,0.019 0.029471,0.0304 0.033409,0.0501 0.00243,0.0122 -0.012766,0.0216 -0.016703,0.0334 -0.00352,0.0106 0,0.0223 0,0.0334"
+ id="path901"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.6582516,290.86951 c -0.038977,0 -0.077954,0 -0.1169305,0 -0.00557,0 -0.011136,0 -0.016703,0 -0.00557,0 -0.011724,-0.002 -0.016703,0 -0.028516,0.0143 -0.016703,0.0391 -0.016703,0.0668 0,0.0111 0,0.0223 0,0.0334 0,0.0557 0,0.11136 0,0.16704 0,0.0501 0,0.10023 0,0.15034 0,0.0278 -0.00307,0.0559 0,0.0835 0.00903,0.0812 0.021315,0.0568 0.050113,0.13363 0.00806,0.0215 0.00864,0.0453 0.016706,0.0668 0.026424,0.0705 0.047432,0.0735 0.083522,0.13363 0.040904,0.0682 -0.017968,-0.001 0.066818,0.0835 0.00557,0.006 0.00966,0.0132 0.016703,0.0167 0.015748,0.008 0.034364,0.009 0.050113,0.0167 0.011245,0.006 0.062686,0.046 0.083522,0.0501 0.01638,0.003 0.033636,-0.003 0.050113,0 0.017367,0.003 0.032505,0.0167 0.050113,0.0167 0.00787,0 0.00883,-0.0167 0.016703,-0.0167 0.017608,0 0.032847,0.0133 0.050113,0.0167 0.021839,0.004 0.044545,0 0.066817,0 0.022918,0 0.081204,0.009 0.100226,-0.0167 0.033032,-0.044 0.0086,-0.043 0.016703,-0.0835 0.00691,-0.0345 0.027619,-0.0655 0.033409,-0.10022 0.00275,-0.0165 0,-0.0334 0,-0.0501 0,-0.039 0,-0.0779 0,-0.11693 0,-0.0724 0,-0.14477 0,-0.21715 0,-0.0278 0.01034,-0.0577 0,-0.0835 -0.00414,-0.0103 -0.026727,0.009 -0.033409,0 -0.013774,-0.0184 -0.00945,-0.045 -0.016703,-0.0668 -0.00394,-0.0118 -0.011136,-0.0223 -0.016703,-0.0334 -0.011136,-0.0223 -0.024162,-0.0437 -0.033409,-0.0668 -0.00206,-0.005 0.00309,-0.0121 0,-0.0167 -0.00874,-0.0131 -0.024672,-0.0203 -0.033409,-0.0334 -0.00309,-0.005 0.00249,-0.0117 0,-0.0167 -0.00352,-0.007 -0.011136,-0.0111 -0.016703,-0.0167 -0.00557,-0.006 -0.00966,-0.0132 -0.016706,-0.0167 -0.00498,-0.002 -0.012766,0.004 -0.016703,0 -0.0088,-0.009 -0.00557,-0.0278 -0.016706,-0.0334 -0.00704,-0.004 -0.00966,0.0202 -0.016703,0.0167 -0.011136,-0.006 -0.00557,-0.0278 -0.016703,-0.0334 -0.00704,-0.004 -0.00883,0.0167 -0.016703,0.0167 -0.012451,0 -0.021598,-0.0128 -0.033409,-0.0167 -0.00904,-0.003 -0.061127,0 -0.066818,0 -0.00557,0 0.022273,0 0.016706,0 -0.1095062,0 0.059393,0 -0.050113,0 -0.00873,0 -0.062425,-0.002 -0.066817,0 -0.00704,0.004 -0.00966,0.0132 -0.016703,0.0167 -0.00498,0.002 -0.012766,-0.004 -0.016703,0 -0.00394,0.004 0.00557,0.0167 0,0.0167 -0.122776,0 0.00433,-0.0377 -0.033409,0 -0.00394,0.004 -0.011136,0 -0.016703,0 -0.011136,0 -0.022273,0 -0.033409,0 -0.00557,0 0.020643,-0.004 0.016703,0 -0.0088,0.009 -0.020958,0.0167 -0.033409,0.0167 -0.00787,0 0.022273,-0.0111 0.016703,-0.0167 -0.00787,-0.008 -0.022273,0 -0.033409,0 -0.00557,0 0.011136,0 0.016706,0"
+ id="path903"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 4.9110775,290.38508 c 0.045134,0.079 0.061896,0.11954 0.1169305,0.18375 0.015375,0.0179 0.037959,0.0299 0.050113,0.0501 0.1500846,0.25014 -0.053092,-0.01 0.1169305,0.21716 0.026093,0.0348 0.062904,0.0619 0.083522,0.10022 0.019219,0.0357 0.013996,0.0813 0.033409,0.11693 0.015084,0.0276 0.052731,0.0387 0.066817,0.0668 0.015147,0.0303 0.00849,0.0674 0.016703,0.10023 0.00739,0.0295 0.057906,0.0877 0.066818,0.10022 0.011668,0.0163 0.029471,0.0304 0.033409,0.0501 0.00243,0.0122 -0.019145,0.0212 -0.016703,0.0334 0.00394,0.0197 0.025953,0.0315 0.033409,0.0501 0.00414,0.0103 -0.00352,0.0228 0,0.0334 0.00249,0.007 0.016703,0.009 0.016703,0.0167 0,0.008 -0.016703,0.009 -0.016703,0.0167 0,0.006 0.011724,-0.002 0.016703,0 0.00704,0.004 0.016703,0.009 0.016703,0.0167 0,0.006 -0.012766,-0.004 -0.016703,0 -0.00394,0.004 0.00557,0.0167 0,0.0167 -0.00557,0 -0.00394,-0.0128 0,-0.0167 0.00394,-0.004 0.012766,-0.004 0.016703,0 0.00787,0.008 -0.011136,0.0334 0,0.0334 0.00787,0 0.016706,-0.0246 0.016706,-0.0167 0,0.0125 -0.016706,0.0209 -0.016706,0.0334 0,0.008 0.00966,-0.0202 0.016706,-0.0167 0.022273,0.0111 0.011136,0.0557 0.033409,0.0668 0.00704,0.004 0.016703,-0.0246 0.016703,-0.0167 0,0.0125 -0.016703,0.021 -0.016703,0.0334 0,0.008 0.00883,0.0167 0.016703,0.0167 0.00787,0 0.016703,-0.0246 0.016703,-0.0167 0,0.0125 -0.016703,0.021 -0.016703,0.0334 0,0.008 0.00883,-0.0167 0.016703,-0.0167 0.00557,0 0,0.0111 0,0.0167"
+ id="path905"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 5.2785732,291.13677 c -0.1224987,0 -0.2449971,0 -0.3674957,0 -0.00557,0 0.022273,0 0.016703,0 -0.016703,0 -0.033409,0 -0.050113,0 -0.00557,0 -0.012766,0.004 -0.016703,0 -0.00394,-0.004 0.00557,-0.0167 0,-0.0167 -0.012451,0 -0.021598,0.0128 -0.033409,0.0167 -0.00528,0.002 -0.016703,-0.006 -0.016703,0 0,0.0125 0.02064,0.0216 0.016703,0.0334 -0.00394,0.0118 -0.024604,0.008 -0.033409,0.0167 -0.00394,0.004 0.019196,-0.005 0.016706,0 -0.00704,0.0141 -0.029589,0.0181 -0.033409,0.0334 -0.00302,0.0121 0.016703,0.0209 0.016703,0.0334 0,0.008 -0.012335,0.0102 -0.016703,0.0167 -0.00691,0.0104 -0.016706,0.0209 -0.016706,0.0334 0,0.0125 0.013684,0.0213 0.016706,0.0334 0.0027,0.0108 0,0.0223 0,0.0334 0,0.0111 0,0.0223 0,0.0334 0,0.0334 0,0.0668 0,0.10023 0,0.0167 -0.011811,0.0383 0,0.0501 0.0088,0.009 0.023048,-0.0236 0.033409,-0.0167 0.01465,0.01 0.00883,0.0344 0.016703,0.0501 0.00249,0.005 -0.00463,-0.0198 0,-0.0167 0.019656,0.0131 0.028983,0.0395 0.050113,0.0501 0.00704,0.004 0.011136,-0.0223 0.016703,-0.0167 0.00787,0.008 -0.00787,0.0255 0,0.0334 0.012451,0.0125 0.035462,0.007 0.050113,0.0167 0.00463,0.003 -0.00463,0.0136 0,0.0167 0.01465,0.01 0.033765,0.0102 0.050113,0.0167 0.011136,0.006 0.022273,0.0111 0.033409,0.0167 0,0.006 -0.00463,0.0136 0,0.0167 0.1085048,0.0723 0.015711,-3.4e-4 0.066817,0.0167 0.011811,0.004 0.021598,0.0128 0.033409,0.0167 0.062641,0.0209 -0.083522,-0.0835 0.083522,0 0.00996,0.005 -0.010565,0.0299 0,0.0334 0.016703,0.006 0.032847,-0.0132 0.050113,-0.0167 0.014277,-0.003 0.131172,0 0.1336347,0 0.00557,0 0.011303,10e-4 0.016703,0 0.145914,-0.0365 -0.034661,0.009 0.083522,-0.0501 0.016703,-0.008 -0.038977,0.0891 0.033409,0.0167 0.012716,-0.0127 -0.084186,-0.0334 0.016703,-0.0334 0.00787,0 -0.022273,0.0111 -0.016703,0.0167 0.00787,0.008 0.025535,0.008 0.033409,0 0.00557,-0.006 -0.013184,-0.01 -0.016706,-0.0167 -0.00249,-0.005 -0.00557,-0.0167 0,-0.0167 0.00787,0 0.00966,0.0132 0.016706,0.0167 0.00498,0.002 0.016703,-0.006 0.016703,0 0,0.006 -0.014213,0.005 -0.016703,0 -0.00498,-0.01 -0.00787,-0.0255 0,-0.0334 0.00557,-0.006 0.00966,0.0132 0.016703,0.0167 0.00498,0.002 0.016703,0.006 0.016703,0 0,-0.008 -0.013182,-0.01 -0.016703,-0.0167 -0.00249,-0.005 -0.00557,-0.0167 0,-0.0167 0.00787,0 0.00966,0.0132 0.016703,0.0167 0.00498,0.002 0.016703,0.006 0.016703,0 0,-0.008 -0.022273,-0.0111 -0.016703,-0.0167 0.00787,-0.008 0.025535,0.008 0.033409,0 0.00557,-0.006 -0.00883,-0.0167 -0.016703,-0.0167 -0.00557,0 -0.00177,0.0114 0,0.0167 0.00393,0.0118 0.011136,0.0222 0.016703,0.0333"
+ id="path907"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 6.2975381,291.40404 c 0.144771,0 0.289542,0 0.434313,0 0.1113623,0 0.2227246,0 0.334087,0 0.013933,0 0.079961,0.002 0.083522,0 0.013105,-0.009 0.028428,-0.0185 0.033409,-0.0334 0.00249,-0.007 -0.014795,-0.009 -0.016703,-0.0167 -0.00405,-0.0162 0,-0.0334 0,-0.0501 0,-0.0167 0,-0.0334 0,-0.0501 0,-0.0613 0,-0.1225 0,-0.18375 0,-0.0278 0.00394,-0.056 0,-0.0835 -0.0027,-0.0189 -0.046852,-0.0754 -0.050113,-0.0835 -0.028225,-0.0706 0.036537,0.004 -0.016703,-0.0668 -0.00945,-0.0126 -0.02756,-0.0188 -0.033409,-0.0334 -0.0062,-0.0155 0.00927,-0.0362 0,-0.0501 -0.00618,-0.009 -0.024143,0.006 -0.033409,0 -0.047035,-10e-4 -0.00425,-0.0377 -0.016703,-0.0501 -0.026665,-0.0267 -0.068657,-0.0167 -0.100226,-0.0167 -0.022273,0 -0.044545,0 -0.066817,0 -0.011136,0 -0.022606,0.003 -0.033409,0 -0.012078,-0.003 -0.021331,-0.0137 -0.033409,-0.0167 -0.010803,-0.003 -0.022273,0 -0.033409,0 -0.02784,0 -0.055681,0 -0.083522,0 -0.011136,0 -0.022273,0 -0.033409,0 -0.016703,0 -0.034266,-0.005 -0.050113,0 -0.1363305,0.0454 0.00591,0.0123 -0.066817,0.0668 -0.014086,0.0106 -0.036586,0.005 -0.050113,0.0167 -0.021389,0.0178 -0.030427,0.0471 -0.050113,0.0668 -0.0088,0.009 -0.024604,0.008 -0.033409,0.0167 -0.014195,0.0142 -0.021741,0.0338 -0.033409,0.0501 -0.035358,0.0495 -0.053996,0.0677 -0.083522,0.11693 -0.07237,0.0237 0.00747,0.0352 0,0.0501 -0.00557,0.0111 -0.027841,0.006 -0.033409,0.0167 -0.00747,0.0149 0,0.0334 0,0.0501 0,0.0111 0,0.0223 0,0.0334 0,0.0501 0,0.10022 0,0.15034 0,0.0334 0,0.0668 0,0.10022 0,0.006 -0.00557,0.0167 0,0.0167 0.022958,0 0.053043,-0.0351 0.066817,-0.0167 0.017037,0.0227 -0.016703,0.0551 -0.016703,0.0835 0,0.0202 0.020693,0.0374 0.033409,0.0501 0.016703,0.0167 0.033409,0.0334 0.050113,0.0501 0.00557,0.006 0.010152,0.0123 0.016703,0.0167 0.010358,0.007 0.022733,0.0103 0.033409,0.0167 0.017216,0.0103 0.031067,0.0271 0.050113,0.0334 0.031694,0.0106 0.069207,-0.0124 0.100226,0 0.014623,0.006 0.017965,0.0303 0.033409,0.0334 0.017267,0.003 0.032505,-0.0167 0.050113,-0.0167 0.022958,0 0.044305,0.0122 0.066817,0.0167 0.029681,0.006 0.071721,-0.007 0.100226,0 0.00764,0.002 0.013182,0.01 0.016703,0.0167 0.00249,0.005 -0.00557,0.0167 0,0.0167 0.017608,0 0.034364,-0.009 0.050113,-0.0167 0.00498,-0.002 -0.016703,0.006 -0.016703,0 0,-0.006 0.011136,0 0.016703,0 0.00557,0 0.011136,0 0.016706,0 0.096231,0 0.1117288,0 0.1503389,0 0.00557,0 -0.011136,0 -0.016703,0"
+ id="path909"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 1.2862346,292.15574 c 0.100226,0 0.2004521,0 0.3006782,0 0.050113,0 0.1004518,-0.005 0.1503391,0 0.067434,0.006 0.1334775,0.0233 0.2004521,0.0334 0.1167847,0.0177 0.2346282,0.0287 0.3507913,0.0501 0.095634,0.0176 0.1878617,0.052 0.2839739,0.0668 0.04953,0.008 0.1006329,-0.006 0.1503391,0 0.1679728,0.0215 0.3339097,0.0568 0.5011303,0.0835 0.1111938,0.0178 0.223011,0.0316 0.334087,0.0501 0.4780153,0.0797 -0.2868242,-0.0229 0.5011304,0.0835 0.094452,0.0128 0.1895692,0.0203 0.2839738,0.0334 0.1060865,0.0147 0.2109703,0.038 0.3173825,0.0501 0.088687,0.0101 0.1787398,0.005 0.2672697,0.0167 0.084475,0.0109 0.1663316,0.0375 0.2505651,0.0501 0.027533,0.004 0.05588,-0.003 0.083522,0 0.111806,0.0134 0.2224048,0.0357 0.334087,0.0501 0.060996,0.008 0.1227209,0.009 0.1837478,0.0167 0.028173,0.004 0.05546,0.0124 0.083522,0.0167 0.414797,0.0638 -0.1947582,-0.0428 0.3006783,0.0501 0.033289,0.006 0.066618,0.0125 0.100226,0.0167 0.09184,0.0115 -0.050526,-0.0264 0.100226,0.0167 0.016931,0.005 0.032745,0.0138 0.050113,0.0167 0.027462,0.005 0.055681,0 0.083522,0 0.011136,0 0.02386,0.006 0.033409,0 0.020256,-0.0122 0.028984,-0.0396 0.050113,-0.0501 0.014941,-0.007 0.034759,0.007 0.050113,0 0.02559,-0.011 0.040406,-0.0413 0.066817,-0.0501 0.026411,-0.009 0.05613,0.005 0.083522,0 0.2034826,-0.037 -0.00292,-0.0345 0.2004521,-0.0501 0.038862,-0.003 0.077954,0 0.1169304,0 0.033409,0 0.066817,0 0.1002261,0 0.1113623,0 0.2227246,0 0.3340869,0 0.00405,0 0.049576,5.3e-4 0.050113,0 0.00394,-0.004 0,-0.0111 0,-0.0167"
+ id="path911"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 0.71828686,293.32504 c -0.0779536,0 -0.15590724,0 -0.23386084,0 -0.004051,0 -0.0495758,-5.3e-4 -0.050113,0 -0.003937,0.004 0.00249,0.0117 0,0.0167 -0.003522,0.007 -0.0111363,0.0111 -0.0167045,0.0167 0,0.0111 0.003522,0.0228 0,0.0334 -0.0127164,0.0381 -0.0334087,-0.0103 -0.0334087,0.0501 0,0.0125 0.0222724,0.0223 0.0167045,0.0334 -0.00498,0.01 -0.0284284,-0.01 -0.0334087,0 -0.005568,0.0111 0.0167045,0.021 0.0167045,0.0334 0,0.0158 -0.0334087,0.0177 -0.0334087,0.0334 0,0.008 0.0167045,0.009 0.0167045,0.0167 0,0.0125 -0.0127669,0.0216 -0.0167045,0.0334 -0.003522,0.0106 0,0.0223 0,0.0334 0,0.039 0,0.0779 0,0.11693 0,0.0334 0,0.0668 0,0.10023 0,0.0111 0,0.0223 0,0.0334 0,0.0111 -0.003522,0.0229 0,0.0334 0.00249,0.007 0.0111363,0.0111 0.0167045,0.0167 0.0167045,0.0167 0.0379589,0.0299 0.0501131,0.0501 0.00573,0.01 0,0.0223 0,0.0334 0.0111363,0.0167 0.0192127,0.0359 0.0334087,0.0501 0.008804,0.009 0.0238437,0.009 0.0334087,0.0167 0.0241975,0.0202 0.0401071,0.0501 0.0668174,0.0668 0.0194683,0.0122 0.0477152,0.004 0.0668174,0.0167 0.0167042,0.0111 0.0163841,0.0395 0.0334087,0.0501 0.029863,0.0187 0.0687281,0.0177 0.10022607,0.0334 0.0249013,0.0125 0.041916,0.0377 0.0668174,0.0501 0.0205343,0.0103 0.0450376,0.009 0.0668174,0.0167 0.0284465,0.009 0.0554457,0.0229 0.0835217,0.0334 0.0164867,0.006 0.034825,0.008 0.050113,0.0167 0.024172,0.0138 0.040048,0.0425 0.066817,0.0501 0.01693,0.005 0.032745,-0.0196 0.050113,-0.0167 0.019803,0.003 0.032156,0.0244 0.050113,0.0334 0.015749,0.008 0.034364,0.009 0.050113,0.0167 0.00704,0.004 0.00883,0.0167 0.016704,0.0167 0.017608,0 0.032505,-0.0167 0.050113,-0.0167 0.00557,0 -0.00498,0.0142 0,0.0167 0.00482,0.002 0.08955,0 0.1002261,0 0.00557,0 -0.012767,0.004 -0.016704,0 -0.00394,-0.004 -0.00394,-0.0128 0,-0.0167 0.0088,-0.009 0.024605,-0.008 0.033409,-0.0167 0.00394,-0.004 -0.012767,0.004 -0.016704,0 -0.00394,-0.004 0,-0.0111 0,-0.0167 0,-0.006 0,-0.0111 0,-0.0167 0,-0.006 -0.00557,-0.0167 0,-0.0167 0.00557,0 0.00557,0.0167 0,0.0167 -0.00557,0 0,-0.0111 0,-0.0167 0,-0.006 0,-0.0111 0,-0.0167"
+ id="path913"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 1.5200954,293.40857 c 0.00557,0.0334 0.00413,0.0688 0.016705,0.10022 0.01034,0.0259 0.038806,0.0414 0.050113,0.0668 0.011531,0.0259 0.00923,0.0561 0.016705,0.0835 0.00927,0.034 0.022272,0.0668 0.033409,0.10023 0.063869,0.1916 2.175e-4,0.005 0.083522,0.23386 0.019867,0.0546 0.029245,0.11278 0.050113,0.16704 0.013409,0.0349 0.03755,0.065 0.050113,0.10023 0.015443,0.0432 0.019905,0.0897 0.033409,0.13363 0.00882,0.0287 0.019999,0.0567 0.033409,0.0835 0.01452,0.029 0.041194,0.0523 0.050113,0.0835 0.00342,0.012 -0.021328,0.0218 -0.016704,0.0334 0.00877,0.0219 0.040807,0.0284 0.050113,0.0501 0.00877,0.0205 0,0.0445 0,0.0668 0,0.0392 -0.00394,-0.008 0.016705,0.0334 0.00249,0.005 0,0.0111 0,0.0167 0.011136,0.0111 0.022272,0.0223 0.033409,0.0334 0.00557,0.006 -0.013183,-0.01 -0.016704,-0.0167 -0.00249,-0.005 0,-0.0111 0,-0.0167 0,-0.0334 0,-0.0668 0,-0.10023 0,-0.0223 0,-0.0445 0,-0.0668 0,-0.0111 0.00157,-0.0224 0,-0.0334 -0.00402,-0.0281 -0.014134,-0.0553 -0.016704,-0.0835 -0.00302,-0.0333 0,-0.0668 0,-0.10022 0,-0.0334 0,-0.0668 0,-0.10023 0,-0.007 -0.00226,-0.0957 0,-0.10022 0.012792,-0.0256 0.029767,-0.0131 0.050113,-0.0334 0.00998,-0.01 -0.018055,-0.0334 0.016704,-0.0334 0.00787,0 0.00883,0.0167 0.016704,0.0167 0.022049,0 0.01136,-0.0334 0.033409,-0.0334 0.047807,0 -0.010379,0.0313 0.033409,0.0167 0.011812,-0.004 0.02133,-0.0137 0.033409,-0.0167 0.010804,-0.003 0.022272,0 0.033409,0 0.011136,0 0.023069,-0.004 0.033409,0 0.2211397,0.0884 0.00226,-0.0139 0.066817,0.0668 0.017392,0.0217 0.047131,0.0304 0.066817,0.0501 0.0088,0.009 0.010299,0.0227 0.016704,0.0334 0.010329,0.0172 0.022272,0.0334 0.033409,0.0501 0.011136,0.0223 0.021054,0.0452 0.033409,0.0668 0.00996,0.0174 0.021363,0.034 0.033409,0.0501 0.00472,0.006 0.01378,0.009 0.016704,0.0167 0.00853,0.0213 0.00818,0.0455 0.016704,0.0668 0.00292,0.007 0.011136,0.0111 0.016704,0.0167 0.00557,0.0111 0.012767,0.0216 0.016704,0.0334 0.00176,0.005 -0.00394,0.0128 0,0.0167 0.0088,0.009 0.02784,0.006 0.033409,0.0167 0.00352,0.007 -0.016705,0.009 -0.016705,0.0167 0,0.0125 0.0079,0.0246 0.016705,0.0334 0.00394,0.004 0,-0.0223 0,-0.0167 0,0.0316 0,0.0483 0,0.0167"
+ id="path915"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.6582516,293.49209 c 0,0.0947 0,0.18931 0,0.28397 0,0.0446 -0.00296,0.0892 0,0.13364 0.00262,0.0393 0.016703,0.0776 0.016703,0.11693 0,0.0504 -0.016703,0.0999 -0.016703,0.15034 0,0.0176 0.013809,0.0327 0.016703,0.0501 0.00829,0.0497 0.010813,0.10026 0.016703,0.15034 0.023659,0.2011 0.00725,0.0638 0.033409,0.23386 0.00599,0.0389 0.00785,0.0786 0.016706,0.11693 0.092277,0.27683 -0.00617,-0.0537 0.033409,0.18375 0.0013,0.008 0.014795,0.009 0.016703,0.0167 0.00675,0.027 -0.00675,0.0565 0,0.0835 0.00302,0.0121 0.012766,0.0216 0.016706,0.0334 0.00352,0.0106 0,0.0223 0,0.0334"
+ id="path917"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.3742778,295.079 c 0.072385,0 0.144771,0 0.2171565,0 0.016703,0 0.033409,0 0.050113,0 0.016706,0 0.033636,0.003 0.050113,0 0.017367,-0.003 0.032847,-0.0133 0.050113,-0.0167 0.010919,-0.002 0.022273,0 0.033409,0 0.044545,0 0.08909,0 0.1336347,0 0.022273,0 0.044545,0 0.066817,0 0.00557,0 0.016706,-0.006 0.016706,0 0,0.006 -0.022273,0 -0.016706,0 0.011136,0 0.022273,0 0.033409,0 0.00557,0 -0.016703,0.006 -0.016703,0 0,-0.0111 0.025535,0.008 0.033409,0 0.00394,-0.004 -0.00394,-0.0128 0,-0.0167 0.00394,-0.004 0.022209,-8.4e-4 0.016703,0 -0.07783,0.012 -0.1559073,0.0222 -0.233861,0.0334"
+ id="path919"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.6582516,293.49209 c 0.016703,0.0223 0.045536,0.0393 0.050113,0.0668 0.00429,0.0258 -0.056087,0.0394 -0.066818,0.0501 -0.014195,0.0142 -0.020868,0.0344 -0.033409,0.0501 -0.00984,0.0123 -0.022273,0.0223 -0.033409,0.0334 -0.033409,0.0334 -0.066817,0.0668 -0.100226,0.10023 -0.00557,0.006 -0.011136,0.0111 -0.016703,0.0167 -0.00557,0.006 -0.013184,0.01 -0.016706,0.0167 -0.00249,0.005 0.00394,0.0128 0,0.0167 -0.00394,0.004 -0.012766,-0.004 -0.016703,0 -0.00394,0.004 0.00557,0.0167 0,0.0167 -0.012451,0 -0.020958,-0.0167 -0.033409,-0.0167 -0.00787,0 0.020225,0.01 0.016706,0.0167 -0.00557,0.0111 -0.020958,0.0167 -0.033409,0.0167 -0.00787,0 0.02458,-0.0167 0.016703,-0.0167 -0.012451,0 -0.02784,0.006 -0.033409,0.0167 -0.00352,0.007 0.00883,0.0167 0.016703,0.0167 0.00557,0 0.00557,-0.0167 0,-0.0167 -0.012451,0 -0.024604,0.008 -0.033409,0.0167 -0.00394,0.004 0.022273,0 0.016703,0 -0.011136,0 -0.023447,-0.005 -0.033409,0 -0.00498,0.002 0.00557,0.0167 0,0.0167 -0.00787,0 -0.011136,-0.0223 -0.016703,-0.0167 -0.00787,0.008 0.00787,0.0255 0,0.0334 -0.00557,0.006 -0.00883,-0.0167 -0.016706,-0.0167 -0.00557,0 0.00249,0.0117 0,0.0167 -0.032318,0.0646 -0.00108,-0.0479 -0.033409,0.0167 -0.00249,0.005 0.00557,0.0167 0,0.0167 -0.00557,0 0,-0.0111 0,-0.0167"
+ id="path921"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 5.7295904,294.26049 c 0,0.0278 0,0.0557 0,0.0835 0,0.039 0,0.0779 0,0.11693 0,0.0278 -0.00675,0.0565 0,0.0835 0.00487,0.0195 0.022273,0.0334 0.033409,0.0501 0.011136,0.039 0.026745,0.077 0.033409,0.11693 0.00458,0.0275 0,0.0557 0,0.0835 0,0.0111 -0.00414,0.0231 0,0.0334 0.00746,0.0186 0.03057,0.0302 0.033409,0.0501 0.00325,0.0227 -0.01293,0.0442 -0.016703,0.0668 -0.00951,0.057 -0.00116,0.0144 0.016703,0.0501 0.00249,0.005 0.00557,0.0167 0,0.0167 -0.00557,0 0,-0.0111 0,-0.0167"
+ id="path923"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 5.5792512,293.57561 c 0,0.0947 0,0.18932 0,0.28397 0,0.006 0,-0.0223 0,-0.0167 0,0.0111 0,0.0223 0,0.0334 0,0.006 -0.00394,-0.0128 0,-0.0167 0.00394,-0.004 0.011136,0 0.016703,0 0.011136,0 0.022273,0 0.033409,0 0.00557,0 -0.019195,0.005 -0.016703,0 0.00704,-0.0141 0.022273,-0.0223 0.033409,-0.0334 0.00557,-0.006 -0.00883,0.0167 -0.016706,0.0167 -0.00557,0 -0.00394,-0.0128 0,-0.0167 0.00787,-0.008 0.033409,0.0111 0.033409,0 0,-0.008 -0.016703,-0.009 -0.016703,-0.0167 0,-0.006 0.012766,0.004 0.016703,0 0.037739,-0.0377 -0.089367,0 0.033409,0 0.00787,0 -0.013182,-0.01 -0.016703,-0.0167 -0.00254,-0.005 0,-0.0426 0,-0.0501 0,-0.006 -0.00557,-0.0167 0,-0.0167 0.00557,0 0,0.0223 0,0.0167 0,-0.0223 0,-0.0445 0,-0.0668 0,-0.006 0,-0.0111 0,-0.0167 0,-0.006 -0.00557,-0.0167 0,-0.0167 0.00557,0 0.00394,0.0206 0,0.0167 -0.0088,-0.009 -0.0079,-0.0246 -0.016703,-0.0334 -0.00394,-0.004 0.00394,0.0206 0,0.0167 -0.0088,-0.009 -0.016703,-0.021 -0.016703,-0.0334 0,-0.008 0.00883,0.0167 0.016703,0.0167 0.00557,0 0.00394,-0.0128 0,-0.0167 -0.00394,-0.004 -0.011533,0.002 -0.016703,0 -0.023119,-0.009 -0.077954,-0.0111 -0.066818,-0.0334 0.011136,-0.0223 0.044545,0.0223 0,0 z"
+ id="path925"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 6.097086,294.2939 c 0,0.0501 0,0.10022 0,0.15034 0,0.0478 0.00369,0.0351 0.016703,0.10022 0.00108,0.005 -0.00249,0.0117 0,0.0167 0.00898,0.018 0.029472,0.0304 0.033409,0.0501 0.00243,0.0122 -0.022273,0.0223 -0.016706,0.0334 0.00498,0.01 0.025535,-0.008 0.033409,0 0.00557,0.006 -0.016703,0.009 -0.016703,0.0167 0,0.008 0.00966,0.0132 0.016703,0.0167 0.00498,0.002 0.016703,-0.006 0.016703,0 0,0.008 -0.00883,0.0167 -0.016703,0.0167 -0.00557,0 0,-0.0111 0,-0.0167 0,-0.0111 0,-0.0223 0,-0.0334 0,-0.0724 0,-0.14477 0,-0.21716 0,-0.0446 0,-0.0891 0,-0.13364 0,-0.0223 -0.00704,-0.0457 0,-0.0668 0.00498,-0.0149 0.02756,-0.0188 0.033409,-0.0334 0.0062,-0.0155 -0.00927,-0.0362 0,-0.0501 0.00618,-0.009 0.027231,0.009 0.033409,0 0.00927,-0.0139 -0.00859,-0.0358 0,-0.0501 0.010329,-0.0172 0.038977,-0.0167 0.050113,-0.0334 0.00437,-0.007 -0.022273,-0.0111 -0.016703,-0.0167 0.012451,-0.0125 0.035462,-0.007 0.050113,-0.0167 0.00463,-0.003 0,-0.0111 0,-0.0167 0,-0.0402 -0.00528,0 0.050113,0 0.00557,0 -0.00528,-0.0149 0,-0.0167 0.015848,-0.005 0.033409,0 0.050113,0 0.00557,0 -0.022273,0 -0.016703,0 0.011136,0 0.022273,0 0.033409,0 0.00557,0 0.012766,-0.004 0.016703,0 0.00394,0.004 -0.00334,0.0122 0,0.0167 0.014174,0.0189 0.035939,0.0312 0.050113,0.0501 0.00334,0.004 -0.00135,0.0113 0,0.0167 0.00427,0.0171 0.00883,0.0344 0.016703,0.0501 0.029022,0.0581 0.081837,0.10269 0.100226,0.16705 0.00459,0.0161 -0.00528,0.0343 0,0.0501 0.011811,0.0354 0.036998,0.0652 0.050113,0.10023 0.00391,0.0104 -0.00498,0.0234 0,0.0334 0.00704,0.0141 0.02756,0.0188 0.033409,0.0334 0.0062,0.0155 -0.00328,0.0337 0,0.0501 0.00243,0.0122 0.013684,0.0213 0.016703,0.0334 0.0027,0.0108 -0.0027,0.0226 0,0.0334 0.016687,0.0668 0.016833,2.6e-4 0.050113,0.0668 0.00249,0.005 -0.014213,-0.005 -0.016703,0 -0.00498,0.01 0,0.0223 0,0.0334 0,0.006 0,-0.0111 0,-0.0167 0,-0.0167 0,-0.0334 0,-0.0501"
+ id="path927"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 7.3165032,293.50879 c 0,0.0446 -0.00466,0.0893 0,0.13364 0.00652,0.0619 0.029956,0.12159 0.033409,0.18374 0.022273,0.40091 -0.082962,-0.24608 -0.016706,0.28398 0.00437,0.0349 0.029041,0.0653 0.033409,0.10022 0.00691,0.0553 0,0.11137 0,0.16705 0,0.12806 0,0.25613 0,0.3842 0,0.0668 0,0.13363 0,0.20045 0,0.006 0,-0.0223 0,-0.0167 0,0.0167 0,0.0334 0,0.0501 0,0.006 -0.00394,0.0128 0,0.0167 0.00998,0.01 0.033409,-0.0181 0.033409,0.0167 0,0.008 -0.013184,0.01 -0.016706,0.0167 -0.00755,0.0151 0.014388,0.0432 0.016706,0.0501 0.00314,0.009 0,0.0391 0,0.0501"
+ id="path929"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 7.0158249,294.3273 c 0.022273,0 0.044545,0 0.066817,0 0.00557,0 -0.022273,0 -0.016703,0 0.1095063,0 -0.059393,0 0.050113,0 0.00557,0 -0.022273,0 -0.016703,0 0.022273,0 0.044545,0 0.066817,0 0.00557,0 0.011303,-10e-4 0.016703,0 0.017081,0.004 0.032847,0.0133 0.050113,0.0167 0.010919,0.002 0.022606,-0.003 0.033409,0 0.012078,0.003 0.021331,0.0137 0.033409,0.0167 0.010803,0.003 0.022273,0 0.033409,0 0.038977,0 0.077954,0 0.1169305,0 0.011136,0 0.02249,-0.002 0.033409,0 0.017267,0.003 0.033031,0.0124 0.050113,0.0167 0.0054,10e-4 0.011136,0 0.016703,0 0.016703,0 0.033409,0 0.050113,0 0.022273,0 0.044545,0 0.066817,0 0.055681,0 0.1113624,0 0.1670434,0 0.00557,0 -0.011136,0 -0.016703,0"
+ id="path931"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 2.2216779,295.8307 c 0.021995,0.0461 -0.017596,0.10341 0,0.15033 0.00978,0.0261 0.038593,0.0415 0.050113,0.0668 0.1363333,0.29994 -0.011479,-0.0135 0.016704,0.18375 0.00284,0.0199 0.027893,0.0308 0.033409,0.0501 0.00612,0.0214 -0.00315,0.0448 0,0.0668 0.00249,0.0174 0.014214,0.0327 0.016705,0.0501 0.00315,0.022 0,0.0446 0,0.0668 0,0.0278 0,0.0557 0,0.0835 0,0.006 0,-0.0111 0,-0.0167 0,-0.0221 0,-0.0114 0,-0.0334"
+ id="path933"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 2.2216779,295.8307 c 0.080548,0.018 0.1541646,0.0167 0.2338609,0.0167 0.016704,0 0.034266,0.005 0.050113,0 0.019046,-0.006 0.030239,-0.0306 0.050113,-0.0334 0.022727,-0.003 0.044037,0.0139 0.066817,0.0167 0.0221,0.003 0.044545,0 0.066817,0 0.022273,0 0.044545,0 0.066817,0 0.061249,0 0.1224987,0 0.1837479,0 0.062576,0 0.066622,0 0.100226,0 0.00557,0 -0.022273,0 -0.016703,0 0.011136,0 0.022273,0 0.033409,0 0.00557,0 0.014213,-0.005 0.016703,0 0.00498,0.01 -0.00352,0.0229 0,0.0334 0.00249,0.007 0.013184,0.01 0.016703,0.0167 0.00498,0.01 -0.00498,0.0234 0,0.0334 0.00352,0.007 0.013182,0.01 0.016703,0.0167 0.00249,0.005 -0.00249,0.0117 0,0.0167 0.00352,0.007 0.016703,0.009 0.016703,0.0167 0,0.008 -0.016703,0.009 -0.016703,0.0167 0,0.008 0.014213,0.009 0.016703,0.0167 0.00352,0.0106 0,0.0223 0,0.0334 0,0.0111 0,0.0223 0,0.0334 0,0.0111 0,0.0223 0,0.0334 0,0.006 0.00498,0.0142 0,0.0167 -0.00996,0.005 -0.025535,-0.008 -0.033409,0 -0.012451,0.0125 -0.00425,0.0377 -0.016703,0.0501 -0.012451,0.0125 -0.035014,0.008 -0.050113,0.0167 -0.013504,0.008 -0.022273,0.0223 -0.033409,0.0334 -0.011136,0.0111 -0.022273,0.0223 -0.033409,0.0334 -0.00557,0.006 -0.00883,0.0167 -0.016706,0.0167 -0.00787,0 -0.00923,-0.0192 -0.016703,-0.0167 -0.014941,0.005 -0.022273,0.0223 -0.033409,0.0334 -0.00557,0.006 -0.00883,0.0167 -0.016703,0.0167 -0.017608,0 -0.033409,-0.0223 -0.050113,-0.0167 -0.010565,0.004 0.00787,0.0255 0,0.0334 -0.00557,0.006 -0.00883,-0.0167 -0.016703,-0.0167 -0.017608,0 -0.033031,0.0124 -0.050113,0.0167 -0.0054,10e-4 -0.011136,0 -0.016703,0 -0.033409,0 -0.066818,0 -0.1002262,0 -0.011136,0 -0.022844,0.004 -0.033409,0 -0.00747,-0.002 -0.00966,-0.0132 -0.016704,-0.0167 -0.00498,-0.002 -0.011136,0 -0.016704,0 -0.011136,-0.0111 -0.022272,-0.0223 -0.033409,-0.0334 -0.00557,-0.006 -0.00883,-0.0167 -0.016705,-0.0167 -0.00787,0 -0.00966,0.0202 -0.016704,0.0167 -0.011136,-0.006 -0.00557,-0.0278 -0.016704,-0.0334 -0.00704,-0.004 -0.00966,0.0132 -0.016704,0.0167 -0.00498,0.002 -0.011422,0.002 -0.016704,0 -0.011812,-0.004 -0.027841,-0.006 -0.033409,-0.0167 -0.00352,-0.007 0.00883,-0.0167 0.016704,-0.0167 0.00557,0 0.00498,0.0142 0,0.0167 -0.00996,0.005 -0.022272,0 -0.033409,0 -0.00557,0 0.022272,0 0.016705,0 -0.011136,0 -0.022272,0 -0.033409,0 -0.00557,0 0.017731,-0.005 0.016704,0 -0.016923,0.0902 -0.044545,0.17812 -0.066817,0.26718"
+ id="path935"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 3.9589299,295.94763 c -0.072385,0 -0.144771,0 -0.2171565,0 -0.011136,0 -0.022844,0.004 -0.033409,0 -0.00747,-0.002 -0.00883,-0.0167 -0.016706,-0.0167 -0.00787,0 -0.010152,0.0123 -0.016703,0.0167 -0.010358,0.007 -0.024604,0.008 -0.033409,0.0167 -0.0088,0.009 -0.00634,0.0265 -0.016703,0.0334 -0.00927,0.006 -0.025535,-0.008 -0.033409,0 -0.012451,0.0125 -0.012433,0.033 -0.016703,0.0501 -0.00135,0.005 0.00394,0.0128 0,0.0167 -0.0088,0.009 -0.029471,0.005 -0.033409,0.0167 -0.00394,0.0118 0.019145,0.0212 0.016706,0.0334 -0.00394,0.0197 -0.029471,0.0304 -0.033409,0.0501 -0.00243,0.0122 0.014264,0.0212 0.016703,0.0334 0.0028,0.014 0,0.13902 0,0.15034 0,0.0111 -0.00498,0.0235 0,0.0334 0.00704,0.0141 0.026366,0.0193 0.033409,0.0334 0.00498,0.01 -0.00414,0.0231 0,0.0334 0.00746,0.0186 0.019214,0.0359 0.033409,0.0501 0.00394,0.004 0.011724,-0.002 0.016703,0 0.00704,0.004 0.011136,0.0111 0.016703,0.0167 0.00557,0.006 0.013184,0.01 0.016706,0.0167 0.00249,0.005 -0.00394,0.0128 0,0.0167 0.023744,0.0724 0.035172,-0.007 0.050113,0 0.011136,0.006 0.00489,0.0295 0.016703,0.0334 0.011811,0.004 0.021331,-0.0137 0.033409,-0.0167 0.011306,-0.003 0.106181,0 0.1169305,0 0.04645,0 0.1441944,0.01 0.1837478,-0.0167 0.00463,-0.003 -0.00463,-0.0136 0,-0.0167 0.00327,-0.002 0.075838,-0.0219 0.083521,-0.0334 0.00618,-0.009 -0.00787,-0.0255 0,-0.0334 0.012451,-0.0125 0.033765,-0.0102 0.050113,-0.0167 0.01156,-0.005 0.023447,-0.009 0.033409,-0.0167 0.0126,-0.009 0.02081,-0.024 0.033409,-0.0334 0.00996,-0.007 0.026502,-0.006 0.033409,-0.0167 0.00618,-0.009 -0.00787,-0.0255 0,-0.0334 0.012451,-0.0125 0.034364,-0.009 0.050113,-0.0167 0.00704,-0.004 0.011136,-0.0111 0.016703,-0.0167 0.011136,-0.0111 0.026366,-0.0193 0.033409,-0.0334 0.00498,-0.01 -0.00618,-0.0241 0,-0.0334 0.00691,-0.0104 0.027841,-0.006 0.033409,-0.0167 0.00352,-0.007 -0.020225,-0.01 -0.016703,-0.0167 0.00557,-0.0111 0.029472,-0.005 0.033409,-0.0167 0.00394,-0.0118 -0.016703,-0.021 -0.016703,-0.0334 0,-0.006 0.014213,0.005 0.016703,0 0.00498,-0.01 0,-0.0223 0,-0.0334 0,-0.0111 0,-0.0223 0,-0.0334 0,-0.0111 0.00787,-0.0255 0,-0.0334 -0.00787,-0.008 -0.02386,0.006 -0.033409,0 -0.013827,-0.008 -0.079977,-0.08 -0.100226,-0.10023 -0.00557,-0.006 -0.00966,-0.0132 -0.016703,-0.0167 -0.016703,-0.006 -0.033409,-0.0111 -0.050113,-0.0167 0,0.006 0.00557,0.0167 0,0.0167 -0.00787,0 -0.00966,-0.0132 -0.016706,-0.0167 -0.015748,-0.008 -0.032505,-0.0167 -0.050113,-0.0167 -0.00557,0 0.00557,0.0167 0,0.0167 -0.035216,0 -0.06501,-0.0334 -0.1002262,-0.0334 -0.00557,0 0.00394,0.0128 0,0.0167 -0.00394,0.004 -0.011351,-0.002 -0.016703,0 -0.033861,0.01 -0.066817,0.0223 -0.100226,0.0334 z"
+ id="path937"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 4.9778948,295.96433 c 0,0.0947 0,0.18932 0,0.28397 0,0.0278 -0.00277,0.0558 0,0.0835 0.00283,0.0282 0.014346,0.0552 0.016703,0.0835 0.00324,0.0388 0,0.0779 0,0.11693 0,0.0835 0,0.16704 0,0.25056 0,0.006 -0.00498,-0.0142 0,-0.0167 0.00996,-0.005 0.028428,0.01 0.033409,0 0.00557,-0.0111 -0.025508,-0.0246 -0.016706,-0.0334 0.00881,-0.009 0.021598,0.0206 0.033409,0.0167 3.705e-4,-1.2e-4 0.020466,-0.0501 0.033409,-0.0501 0.00787,0 0.00906,0.0186 0.016703,0.0167 0.063686,0.0901 0.047633,-0.0485 0.050113,-0.0501 0.01465,-0.01 0.033183,-0.0119 0.050113,-0.0167 0.022074,-0.006 0.044743,-0.0104 0.066817,-0.0167 0.016931,-0.005 0.032745,-0.0138 0.050113,-0.0167 0.016476,-0.003 0.033907,0.004 0.050113,0 0.00764,-0.002 0.00883,-0.0167 0.016703,-0.0167 0.044545,0 -0.019407,0.0515 0.050113,0.0167 0.00498,-0.002 -0.00394,-0.0128 0,-0.0167 0.0088,-0.009 0.020958,-0.0167 0.033409,-0.0167 0.00787,0 -0.022273,0.0111 -0.016703,0.0167 0.00787,0.008 0.025535,0.008 0.033409,0 0.00557,-0.006 -0.016703,-0.009 -0.016703,-0.0167 0,-0.006 0.011136,0 0.016703,0 0.00557,0 0.016703,-0.006 0.016703,0 0,0.006 -0.016703,0.006 -0.016703,0 0,-0.008 0.00883,-0.0167 0.016703,-0.0167 0.00557,0 0,0.0111 0,0.0167"
+ id="path939"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 5.7797035,295.94763 c 0.02784,0.0167 0.055681,0.0334 0.083522,0.0501 0.00557,0.0111 0.00698,0.0256 0.016703,0.0334 0.019444,0.0155 0.045465,0.0206 0.066817,0.0334 0.00675,0.004 0.010152,0.0123 0.016703,0.0167 0.010358,0.007 0.023048,0.01 0.033409,0.0167 0.030564,0.0204 0.00167,0.0213 0.050113,0.0334 0.010803,0.003 0.024143,-0.006 0.033409,0 0.010361,0.007 0.00557,0.0278 0.016703,0.0334 0.013047,0.007 0.0142,-0.0359 0.033409,-0.0167 0.00394,0.004 -0.00498,0.0142 0,0.0167 0.00996,0.005 0.022273,0 0.033409,0 0.00557,0 -0.022273,0 -0.016703,0 0.011136,0 0.022273,0 0.033409,0 0.00557,0 -0.022273,0 -0.016703,0 0.1095063,0 -0.059393,0 0.050113,0 0.00557,0 -0.022273,0 -0.016703,0 0.011136,0 0.022273,0 0.033409,0 0.022273,0 -0.061249,0.006 -0.016703,-0.0167 0.00996,-0.005 0.025535,0.008 0.033409,0 0.00557,-0.006 -0.013182,-0.01 -0.016703,-0.0167 -0.00249,-0.005 -0.00249,-0.0117 0,-0.0167 0.012716,-0.0254 0.033409,-0.01 0.033409,-0.0501 0,-0.006 -0.016703,0.006 -0.016703,0 0,-0.0176 0.012433,-0.033 0.016703,-0.0501 0.00135,-0.005 -0.00249,-0.0117 0,-0.0167 0.017957,-0.0359 0.051905,-0.0629 0.066817,-0.10022 0.00414,-0.0103 -0.00352,-0.0229 0,-0.0334 0.00787,-0.0236 0.023601,-0.0439 0.033409,-0.0668 0.040159,-0.0937 -0.013203,-0.006 0.050113,-0.11693 0.00996,-0.0174 0.0255,-0.0317 0.033409,-0.0501 0.00904,-0.0211 0.00818,-0.0455 0.016703,-0.0668 0.00292,-0.007 0.012338,-0.0102 0.016703,-0.0167 0.013814,-0.0207 0.019595,-0.0461 0.033409,-0.0668 0.00437,-0.007 0.013182,-0.01 0.016703,-0.0167 0.00249,-0.005 -0.00498,-0.0142 0,-0.0167 0.027522,-0.0138 0.051014,0.0176 0.016703,-0.0167"
+ id="path941"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 5.8632253,295.99773 c 0.094658,0.0557 0.1917719,0.10739 0.2839739,0.16705 0.00468,0.003 0,0.0111 0,0.0167 0,0.0167 -0.0062,0.0346 0,0.0501 0.00746,0.0186 0.02308,0.0329 0.033409,0.0501 0.00641,0.0107 0.00923,0.0235 0.016703,0.0334 0.00945,0.0126 0.025305,0.0199 0.033409,0.0334 0.050933,0.0118 0.00644,0.0463 0.016703,0.0668 0.038225,0.0765 -0.00692,-0.0709 0.033409,0.0501 0.00177,0.005 -0.00249,0.0117 0,0.0167 0.00352,0.007 0.013181,0.01 0.016703,0.0167 0.00249,0.005 -0.00394,0.0128 0,0.0167 0.00394,0.004 0.012766,-0.004 0.016706,0 0.00394,0.004 -0.00394,0.0128 0,0.0167 0.00787,0.008 0.033409,-0.0111 0.033409,0 0,0.008 -0.022273,0.0111 -0.016706,0.0167 0.00787,0.008 0.022273,0 0.033409,0 0.00557,0 -0.022273,0 -0.016703,0 0.011136,0 0.022273,0 0.033409,0 0.00557,0 -0.012766,-0.004 -0.016703,0 -0.00394,0.004 -0.00394,0.0128 0,0.0167 0.00394,0.004 0.011724,-0.002 0.016703,0 0.00704,0.004 0.011136,0.0111 0.016706,0.0167 0.00557,0.006 0.013181,0.01 0.016703,0.0167 0.00249,0.005 -0.00394,0.0128 0,0.0167 0.00394,0.004 0.012766,-0.004 0.016703,0 0.00835,0.008 -0.00835,0.0418 0,0.0501 0.022273,0.0223 0.016703,-0.0278 0.016703,0.0167"
+ id="path943"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/res/vertical-x-1.svg b/res/vertical-x-1.svg
@@ -0,0 +1,78 @@
+<?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="6mm"
+ height="18mm"
+ viewBox="0 0 6 18"
+ version="1.1"
+ id="svg2350"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="vertical-x-1.svg">
+ <defs
+ id="defs2344" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="11.2"
+ inkscape:cx="-17.482736"
+ inkscape:cy="47.517896"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="855"
+ inkscape:window-x="0"
+ inkscape:window-y="1"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata2347">
+ <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="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-279)">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.28717566;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0.43541036,283.21834 c 5.46977774,-3.81203 5.46977774,-3.81203 5.46977774,-3.81203 v 0 0"
+ id="path2903"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.28717566;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0.76893342,279.48105 c 0.59516198,0.48977 1.18954558,1.03911 1.54989938,1.46084 2.1838762,2.55584 2.7525477,2.0962 2.7525477,2.0962"
+ id="path2905"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csc" />
+ <path
+ style="fill:#24c9a6;stroke:#24c9a6;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+ d="M 0.47247023,282.35342 5.0554315,280.48716"
+ id="path2212"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.665;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="m 0.76893342,279.48105 c 3.74315718,3.77007 3.76678078,3.77007 3.76678078,3.77007"
+ id="path2210"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/res/vertical-x-2.svg b/res/vertical-x-2.svg
@@ -0,0 +1,121 @@
+<?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="6mm"
+ height="18mm"
+ viewBox="0 0 6 18"
+ version="1.1"
+ id="svg2350"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="vertical-x-2.svg">
+ <defs
+ id="defs2344" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.9195959"
+ inkscape:cx="3.0529786"
+ inkscape:cy="14.571468"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="855"
+ inkscape:window-x="0"
+ inkscape:window-y="1"
+ inkscape:window-maximized="1"
+ inkscape:snap-global="false" />
+ <metadata
+ id="metadata2347">
+ <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="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-279)">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.34;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 0.29366929,288.22652 C 5.763447,284.41449 5.763447,284.41449 5.763447,284.41449 v 0 0"
+ id="path2903"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.34;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0.62719235,284.48923 c 0.59516195,0.48977 1.18954555,1.03911 1.54989935,1.46084 2.1838762,2.55584 2.7525477,2.0962 2.7525477,2.0962"
+ id="path2905"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csc" />
+ <path
+ sodipodi:nodetypes="csc"
+ inkscape:connector-curvature="0"
+ id="path2764"
+ d="m 0.62719235,284.48923 c 0.59516195,0.48977 1.18954555,1.03911 1.54989935,1.46084 2.1838762,2.55584 2.7525477,2.0962 2.7525477,2.0962"
+ style="fill:none;stroke:#000000;stroke-width:0.34;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path2766"
+ d="m 0.58498385,288.02593 c 4.51965295,-3.47676 4.51965295,-3.47676 4.51965295,-3.47676 v 0 0"
+ style="fill:none;stroke:#000000;stroke-width:0.34;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:transform-center-x="-0.46448021"
+ inkscape:transform-center-y="0.46151976" />
+ <path
+ inkscape:transform-center-y="0.46151976"
+ inkscape:transform-center-x="-0.46448021"
+ style="fill:none;stroke:#24c9a6;stroke-width:0.34;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 0.58498385,288.02593 c 4.51965295,-3.47676 4.51965295,-3.47676 4.51965295,-3.47676 v 0 0"
+ id="path2772"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="csc"
+ inkscape:connector-curvature="0"
+ id="path2768"
+ d="m 1.0095044,284.29566 c 0.4533423,0.52971 0.9035332,1.11917 1.1726996,1.56558 1.6312472,2.70532 2.1038282,2.2803 2.1038282,2.2803"
+ style="fill:none;stroke:#000000;stroke-width:0.25725111;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:transform-center-x="-0.26743818"
+ inkscape:transform-center-y="0.40471737" />
+ <path
+ inkscape:transform-center-y="0.40471737"
+ inkscape:transform-center-x="-0.26743818"
+ sodipodi:nodetypes="csc"
+ inkscape:connector-curvature="0"
+ id="path2776"
+ d="m 0.80905225,284.52952 c 0.45334235,0.52971 0.90353325,1.11917 1.17269965,1.56558 1.6312472,2.70532 2.1038282,2.2803 2.1038282,2.2803"
+ style="fill:none;stroke:#24c9a6;stroke-width:0.34;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ inkscape:transform-center-y="0.40471737"
+ inkscape:transform-center-x="-0.26743818"
+ style="fill:none;stroke:#24c9a6;stroke-width:0.25725111;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 1.0095044,284.29566 c 0.4533423,0.52971 0.9035332,1.11917 1.1726996,1.56558 1.6312472,2.70532 2.1038282,2.2803 2.1038282,2.2803"
+ id="path2774"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.25725111;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 1.0095044,284.29566 c 0.4533423,0.52971 0.9035332,1.11917 1.1726996,1.56558 1.6312472,2.70532 2.1038282,2.2803 2.1038282,2.2803"
+ id="path2770"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csc"
+ inkscape:transform-center-x="-0.26743818"
+ inkscape:transform-center-y="0.40471737" />
+ </g>
+</svg>
diff --git a/res/vertical-x-3.svg b/res/vertical-x-3.svg
@@ -0,0 +1,68 @@
+<?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="6mm"
+ height="18mm"
+ viewBox="0 0 6 18"
+ version="1.1"
+ id="svg2350"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="vertical-x-3.svg">
+ <defs
+ id="defs2344" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6"
+ inkscape:cx="14.48155"
+ inkscape:cy="34.214325"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1440"
+ inkscape:window-height="855"
+ inkscape:window-x="0"
+ inkscape:window-y="1"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata2347">
+ <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,-279)">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26821467;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 4.9144282,292.08187 c -4.77133006,-3.81203 -4.77133006,-3.81203 -4.77133006,-3.81203 v 0 0"
+ id="path2903"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.26821467;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 4.6234934,288.34458 c -0.5191645,0.48977 -1.03765,1.03911 -1.3519894,1.46084 -1.9050123,2.55584 -2.40106897,2.0962 -2.40106897,2.0962"
+ id="path2905"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csc" />
+ </g>
+</svg>
diff --git a/src/Computerscare.cpp b/src/Computerscare.cpp
@@ -1,16 +1,21 @@
#include "Computerscare.hpp"
-Plugin *plugin;
+Plugin *pluginInstance;
void init(Plugin *p) {
- plugin = p;
- p->slug = TOSTRING(SLUG);
- p->version = TOSTRING(VERSION);
+ pluginInstance = p;
p->addModel(modelComputerscareDebug);
p->addModel(modelComputerscarePatchSequencer);
p->addModel(modelComputerscareLaundrySoup);
p->addModel(modelComputerscareILoveCookies);
p->addModel(modelComputerscareOhPeas);
+
+ p->addModel(modelComputerscareKnolyPobs);
+ p->addModel(modelComputerscareBolyPuttons);
+ p->addModel(modelComputerscareRolyPouter);
+ p->addModel(modelComputerscareTolyPools);
+ p->addModel(modelComputerscareSolyPequencer);
+
}
diff --git a/src/Computerscare.hpp b/src/Computerscare.hpp
@@ -1,21 +1,41 @@
#pragma once
+
#include "rack.hpp"
+#include "app/common.hpp"
+#include "widget/TransparentWidget.hpp"
+#include "widget/FramebufferWidget.hpp"
+#include "widget/SvgWidget.hpp"
+#include "app/PortWidget.hpp"
+#include "app/CircularShadow.hpp"
+#include "app.hpp"
+
+
using namespace rack;
// Forward-declare the Plugin, defined in Template.cpp
-extern Plugin *plugin;
-
-#ifndef COLOR_MAGENTA
- #define COLOR_MAGENTA nvgRGB(240, 50, 230)
-#endif
-#ifndef COLOR_LIME
- #define COLOR_LIME nvgRGB(210, 245, 60)
-#endif
-#ifndef COLOR_PINK
- #define COLOR_PINK nvgRGB(250, 190, 190)
-#endif
+extern Plugin *pluginInstance;
+
+
+/*
+ Toly Poolkit
+ Wally Porkshop
+*/
+// Forward-declare each Model, defined in each module source file
+extern Model *modelComputerscareDebug;
+
+
+extern Model *modelComputerscarePatchSequencer;
+extern Model *modelComputerscareLaundrySoup;
+extern Model *modelComputerscareILoveCookies;
+extern Model *modelComputerscareOhPeas;
+//extern Model *modelComputerscareIso;
+extern Model *modelComputerscareKnolyPobs;
+extern Model *modelComputerscareBolyPuttons;
+extern Model *modelComputerscareRolyPouter;
+extern Model *modelComputerscareTolyPools;
+extern Model *modelComputerscareSolyPequencer;
static const NVGcolor COLOR_COMPUTERSCARE_LIGHT_GREEN = nvgRGB(0xC0, 0xE7, 0xDE);
static const NVGcolor COLOR_COMPUTERSCARE_GREEN = nvgRGB(0x24, 0xc9, 0xa6);
@@ -23,203 +43,373 @@ static const NVGcolor COLOR_COMPUTERSCARE_RED = nvgRGB(0xC4, 0x34, 0x21);
static const NVGcolor COLOR_COMPUTERSCARE_YELLOW = nvgRGB(0xE4, 0xC4, 0x21);
static const NVGcolor COLOR_COMPUTERSCARE_BLUE = nvgRGB(0x24, 0x44, 0xC1);
static const NVGcolor COLOR_COMPUTERSCARE_PINK = nvgRGB(0xAA, 0x18, 0x31);
-static const NVGcolor COLOR_COMPUTERSCARE_TRANSPARENT = nvgRGBA(0x00, 0x00,0x00,0x00);
+static const NVGcolor COLOR_COMPUTERSCARE_TRANSPARENT = nvgRGBA(0x00, 0x00, 0x00, 0x00);
-// Forward-declare each Model, defined in each module source file
-extern Model *modelComputerscareDebug;
-extern Model *modelComputerscarePatchSequencer;
-extern Model *modelComputerscareLaundrySoup;
-extern Model *modelComputerscareILoveCookies;
-extern Model *modelComputerscareOhPeas;
+namespace rack {
+namespace app {
+
+
+
+struct ComputerscareSVGPanel;
+
+struct ComputerscareSVGPanel : widget::FramebufferWidget {
+ void step() override;
+ void setBackground(std::shared_ptr<Svg> svg);
+};
+
+struct ComputerscareSvgPort : PortWidget {
+ widget::FramebufferWidget *fb;
+ widget::SvgWidget *sw;
+ CircularShadow *shadow;
-struct ComputerscareResetButton : SVGSwitch,MomentarySwitch {
+ ComputerscareSvgPort();
+ void setSvg(std::shared_ptr<Svg> svg);
+ DEPRECATED void setSVG(std::shared_ptr<Svg> svg) {setSvg(svg);}
+};
+
+
+
+} // namespace app
+} // namespace rack
+
+
+struct IsoButton : SvgSwitch {
+ IsoButton() {
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-iso-button-down.svg")));
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-iso-button-up.svg")));
+ }
+};
+struct SmallIsoButton : app::SvgSwitch {
+ SmallIsoButton() {
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-iso-button-small-up.svg")));
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-iso-button-small-down.svg")));
+ shadow->opacity = 0.f;
+ }
+};
+struct ComputerscareIsoThree : app::SvgSwitch {
+ ComputerscareIsoThree() {
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/iso-3way-1.svg")));
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/iso-3way-2.svg")));
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/iso-3way-3.svg")));
+ }
+};
+struct ThreeVerticalXSwitch : app::SvgSwitch {
+ ThreeVerticalXSwitch() {
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/vertical-x-1.svg")));
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/vertical-x-2.svg")));
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/vertical-x-3.svg")));
+ shadow->opacity = 0.f;
+ }
+};
+struct ComputerscareDebugFour : app::SvgSwitch {
+ ComputerscareDebugFour() {
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/debug-clock-selector-4way-template.svg")));
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/debug-clock-selector-4way-template.svg")));
+
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/debug-clock-selector-4way-template.svg")));
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/debug-clock-selector-4way-template.svg")));
+ }
+};
+struct ComputerscareResetButton : app::SvgSwitch {
ComputerscareResetButton() {
- addFrame(SVG::load(assetPlugin(plugin,"res/computerscare-rst-text.svg")));
- addFrame(SVG::load(assetPlugin(plugin,"res/computerscare-rst-text-red.svg")));
- //SVG::load(assetPlugin(plugin, "res/computerscare-pentagon-jack-1-outline-flipped.svg"));
+ momentary = true;
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-rst-text.svg")));
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-rst-text-red.svg")));
+ //APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-pentagon-jack-1-outline-flipped.svg"));
}
};
-struct ComputerscareClockButton : SVGSwitch,MomentarySwitch {
+
+struct ComputerscareClockButton : app::SvgSwitch {
ComputerscareClockButton() {
- addFrame(SVG::load(assetPlugin(plugin,"res/computerscare-clk-text.svg")));
- addFrame(SVG::load(assetPlugin(plugin,"res/computerscare-clk-text-red.svg")));
+ momentary = true;
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-clk-text.svg")));
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-clk-text-red.svg")));
}
};
-struct ComputerscareInvisibleButton : SVGSwitch,MomentarySwitch {
+struct ComputerscareInvisibleButton : app::SvgSwitch {
ComputerscareInvisibleButton() {
- addFrame(SVG::load(assetPlugin(plugin,"res/computerscare-invisible-button.svg")));
- addFrame(SVG::load(assetPlugin(plugin,"res/computerscare-invisible-button-frame2.svg")));
- //SVG::load(assetPlugin(plugin, "res/computerscare-pentagon-jack-1-outline-flipped.svg"));
+ momentary = true;
+
+
+ fb = new widget::FramebufferWidget;
+ addChild(fb);
+
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-invisible-button.svg")));
+ addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-invisible-button-frame2.svg")));
+
+
+
+ sw = new widget::SvgWidget;
+ fb->addChild(sw);
+
+
+ }
+ void addFrame(std::shared_ptr<Svg> svg) {
+ frames.push_back(svg);
+ // If this is our first frame, automatically set SVG and size
+ if (!sw->svg) {
+ sw->setSvg(svg);
+ box.size = sw->box.size;
+ fb->box.size = sw->box.size;
+ }
}
};
-struct ComputerscareGreenLight : GrayModuleLightWidget {
+struct ComputerscareGreenLight : app::ModuleLightWidget {
ComputerscareGreenLight() {
addBaseColor(COLOR_COMPUTERSCARE_GREEN);
}
};
-struct ComputerscareRedLight : ModuleLightWidget {
+struct ComputerscareRedLight : app::ModuleLightWidget {
ComputerscareRedLight() {
bgColor = nvgRGBA(0x5a, 0x5a, 0x5a, 0x00);
borderColor = nvgRGBA(0, 0, 0, 0x00);
addBaseColor(COLOR_COMPUTERSCARE_RED);
- }
+ }
};
+/*
struct ComputerscareYellowLight : ModuleLightWidget {
ComputerscareYellowLight() {
bgColor = nvgRGBA(0x5a, 0x5a, 0x5a, 0x00);
borderColor = nvgRGBA(0, 0, 0, 0x00);
addBaseColor(COLOR_COMPUTERSCARE_YELLOW);
- }
+ }
};
struct ComputerscareBlueLight : ModuleLightWidget {
ComputerscareBlueLight() {
bgColor = nvgRGBA(0x5a, 0x5a, 0x5a, 0x00);
borderColor = nvgRGBA(0, 0, 0, 0x00);
addBaseColor(COLOR_COMPUTERSCARE_BLUE);
- }
+ }
};
+
+
+*/
+template <typename BASE>
+struct MuteLight : BASE {
+ MuteLight() {
+ this->box.size = mm2px(Vec(6.f, 6.f));
+ }
+};
+
template <typename BASE>
-struct ComputerscareHugeLight : BASE {
+struct ComputerscareHugeLight : BASE {
ComputerscareHugeLight() {
this->box.size = mm2px(Vec(8.179, 8.179));
}
};
+
template <typename BASE>
struct ComputerscareMediumLight : BASE {
ComputerscareMediumLight() {
- this->box.size = mm2px(Vec(6,6));
+ this->box.size = mm2px(Vec(6, 6));
}
};
+
template <typename BASE>
-struct ComputerscareSmallLight : BASE {
+struct ComputerscareSmallLight : BASE {
ComputerscareSmallLight() {
- this->box.size = mm2px(Vec(3,3));
+ this->box.size = mm2px(Vec(3, 3));
}
};
-
-struct OutPort : SVGPort {
+struct OutPort : ComputerscareSvgPort {
OutPort() {
- background->svg = SVG::load(assetPlugin(plugin, "res/computerscare-pentagon-jack-1-outline-flipped.svg"));
- background->wrap();
- box.size = background->box.size;
+ setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-pentagon-jack-1-outline-flipped.svg")));
+ //background->wrap();
}
};
-struct PointingUpPentagonPort : SVGPort {
+struct PointingUpPentagonPort : ComputerscareSvgPort {
PointingUpPentagonPort() {
- background->svg = SVG::load(assetPlugin(plugin, "res/computerscare-pentagon-jack-pointing-up.svg"));
- background->wrap();
- box.size = background->box.size;
+ setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-pentagon-jack-pointing-up.svg")));
+ //background->wrap();
+ //box.size = background->box.size;
}
};
-struct InPort : SVGPort {
+struct InPort : ComputerscareSvgPort {
InPort() {
- background->svg = SVG::load(assetPlugin(plugin, "res/computerscare-pentagon-jack-1-outline.svg"));
- background->wrap();
- box.size = background->box.size;
+ setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-pentagon-jack-1-outline.svg")));
+ //background->wrap();
+ //box.size = background->box.size;
}
};
- // Knobs
+// Knobs
struct LrgKnob : RoundBlackSnapKnob {
LrgKnob() {
- setSVG(SVG::load(assetPlugin(plugin, "res/computerscare-big-knob-effed.svg")));
- box.size = Vec(32,32);
+ setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-big-knob-effed.svg")));
}
- void randomize() override { return; }
+ void randomize() override { return; }
};
+
struct MediumSnapKnob : RoundBlackSnapKnob {
MediumSnapKnob() {
- setSVG(SVG::load(assetPlugin(plugin, "res/computerscare-medium-knob-effed.svg")));
- }
+ setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-medium-knob-effed.svg")));
+ }
+};
+struct MediumDotSnapKnob : RoundBlackSnapKnob {
+ MediumDotSnapKnob() {
+ setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-medium-knob-dot-indicator.svg")));
+ }
};
+
struct SmoothKnob : RoundKnob {
SmoothKnob() {
- setSVG(SVG::load(assetPlugin(plugin, "res/computerscare-medium-knob-effed.svg")));
+ setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-medium-knob-effed.svg")));
}
};
struct SmallKnob : RoundKnob {
SmallKnob() {
- setSVG(SVG::load(assetPlugin(plugin, "res/computerscare-small-knob-effed.svg")));
+ setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-small-knob-effed.svg")));
+ }
+};
+struct SmallSnapKnob : RoundBlackSnapKnob {
+ //bool visible = true;
+
+ //CircularShadow *shadow;
+ SmallSnapKnob() {
+
+ setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-small-knob-effed.svg")));
+ shadow->box.size = math::Vec(0, 0);
+ shadow->opacity = 0.f;
}
+
};
struct BigSmoothKnob : RoundKnob {
BigSmoothKnob() {
- setSVG(SVG::load(assetPlugin(plugin, "res/computerscare-big-knob-effed.svg")));
+ setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-big-knob-effed.svg")));
}
};
struct ComputerscareDotKnob : SmallKnob {
ComputerscareDotKnob() {
-
+
+ }
+};
+
+struct ComputerscareTextField : ui::TextField {
+ std::shared_ptr<Font> font;
+ math::Vec textOffset;
+ NVGcolor color = COLOR_COMPUTERSCARE_LIGHT_GREEN;
+ int fontSize = 16;
+ bool inError = false;
+ ComputerscareTextField() {
+
+ font = APP->window->loadFont(asset::system("res/fonts/ShareTechMono-Regular.ttf"));
+ color = nvgRGB(0xff, 0xd7, 0x14);
+ textOffset = math::Vec(1, 2);
+ }
+
+
+ void draw(const DrawArgs &args) override {
+ nvgScissor(args.vg, RECT_ARGS(args.clipBox));
+
+ // Background
+ nvgBeginPath(args.vg);
+ nvgRoundedRect(args.vg, 0, 0, box.size.x, box.size.y, 5.0);
+ if (inError) {
+ nvgFillColor(args.vg, COLOR_COMPUTERSCARE_PINK);
+ }
+ else {
+ nvgFillColor(args.vg, nvgRGB(0x00, 0x00, 0x00));
+ }
+ nvgFill(args.vg);
+
+ // Text
+ if (font->handle >= 0) {
+ bndSetFont(font->handle);
+
+ NVGcolor highlightColor = color;
+ highlightColor.a = 0.5;
+ int begin = std::min(cursor, selection);
+ int end = (this == APP->event->selectedWidget) ? std::max(cursor, selection) : -1;
+ bndIconLabelCaret(args.vg, textOffset.x, textOffset.y,
+ box.size.x - 2 * textOffset.x, box.size.y - 2 * textOffset.y,
+ -1, color, fontSize, text.c_str(), highlightColor, begin, end);
+
+ bndSetFont(APP->window->uiFont->handle);
+ }
+
+ nvgResetScissor(args.vg);
+ }
+ int getTextPosition(Vec mousePos) override {
+ bndSetFont(font->handle);
+ int textPos = bndIconLabelTextPosition(APP->window->vg, textOffset.x, textOffset.y,
+ box.size.x - 2 * textOffset.x, box.size.y - 2 * textOffset.y,
+ -1, fontSize, text.c_str(), mousePos.x, mousePos.y);
+ bndSetFont(APP->window->uiFont->handle);
+ return textPos;
}
};
////////////////////////////////////
-struct SmallLetterDisplay : TransparentWidget {
-
- std::string value;
- std::shared_ptr<Font> font;
- int fontSize = 19;
- std::string defaultFontPath = "res/Oswald-Regular.ttf";
- NVGcolor baseColor = COLOR_COMPUTERSCARE_TRANSPARENT;
-
- float letterSpacing = 2.5;
- int textAlign = 1;
- bool active = false;
- bool blink = false;
- bool doubleblink = false;
-
- SmallLetterDisplay() {
- font = Font::load(assetPlugin(plugin,defaultFontPath));
- };
- SmallLetterDisplay(std::string fontPath) {
- font = Font::load(assetPlugin(plugin,fontPath));
- };
-
- void draw(NVGcontext *vg) override
- {
- // Background
- NVGcolor backgroundColor = COLOR_COMPUTERSCARE_RED;
- NVGcolor doubleblinkColor = COLOR_COMPUTERSCARE_YELLOW;
-
- nvgBeginPath(vg);
- nvgRoundedRect(vg, 1.0, -1.0, box.size.x-3, box.size.y-3, 4.0);
- if(doubleblink) {
- nvgFillColor(vg, doubleblinkColor);
- }
- else {
- if(blink) {
- nvgFillColor(vg, backgroundColor);
- }
- else {
- nvgFillColor(vg, baseColor);
- }
- }
- nvgFill(vg);
-
- // text
- nvgFontSize(vg, fontSize);
- nvgFontFaceId(vg, font->handle);
- nvgTextLetterSpacing(vg, letterSpacing);
- nvgTextLineHeight(vg, 0.7);
- nvgTextAlign(vg,textAlign);
-
- Vec textPos = Vec(6.0f, 12.0f);
- NVGcolor textColor = (!blink || doubleblink) ? nvgRGB(0x10, 0x10, 0x00) : COLOR_COMPUTERSCARE_YELLOW;
- nvgFillColor(vg, textColor);
- nvgTextBox(vg, textPos.x, textPos.y,80,value.c_str(), NULL);
-
- }
+struct SmallLetterDisplay : Widget {
+
+ std::string value;
+ std::shared_ptr<Font> font;
+ int fontSize = 19;
+ std::string defaultFontPath = "res/Oswald-Regular.ttf";
+ NVGcolor baseColor = COLOR_COMPUTERSCARE_TRANSPARENT;
+ NVGcolor textColor = nvgRGB(0x10, 0x10, 0x00);
+
+ float letterSpacing = 2.5;
+ int textAlign = 1;
+ bool active = false;
+ bool blink = false;
+ bool doubleblink = false;
+ float breakRowWidth = 80.f;
+
+ SmallLetterDisplay() {
+ value = "";
+ font = APP->window->loadFont(asset::plugin(pluginInstance, defaultFontPath));
+ };
+ SmallLetterDisplay(std::string fontPath) {
+ value = "";
+ font = APP->window->loadFont(asset::plugin(pluginInstance, fontPath));
+ };
+
+ void draw(const DrawArgs &ctx) override
+ {
+ // Background
+ NVGcolor backgroundColor = COLOR_COMPUTERSCARE_RED;
+ NVGcolor doubleblinkColor = COLOR_COMPUTERSCARE_YELLOW;
+
+ nvgBeginPath(ctx.vg);
+ nvgRoundedRect(ctx.vg, 1.0, -1.0, box.size.x - 3, box.size.y - 3, 4.0);
+ if (doubleblink) {
+ nvgFillColor(ctx.vg, doubleblinkColor);
+ }
+ else {
+ if (blink) {
+ nvgFillColor(ctx.vg, backgroundColor);
+ }
+ else {
+ nvgFillColor(ctx.vg, baseColor);
+ }
+ }
+ nvgFill(ctx.vg);
+
+ // text
+ nvgFontSize(ctx.vg, fontSize);
+ nvgFontFaceId(ctx.vg, font->handle);
+ nvgTextLetterSpacing(ctx.vg, letterSpacing);
+ nvgTextLineHeight(ctx.vg, 0.7);
+ nvgTextAlign(ctx.vg, textAlign);
+
+ Vec textPos = Vec(6.0f, 12.0f);
+ NVGcolor color = (!blink || doubleblink) ? textColor : COLOR_COMPUTERSCARE_YELLOW;
+ nvgFillColor(ctx.vg, color);
+ nvgTextBox(ctx.vg, textPos.x, textPos.y, breakRowWidth, value.c_str(), NULL);
+
+ }
};
diff --git a/src/ComputerscareBolyPuttons.cpp b/src/ComputerscareBolyPuttons.cpp
@@ -0,0 +1,208 @@
+#include "Computerscare.hpp"
+
+struct ComputerscareBolyPuttons;
+
+const int numToggles = 16;
+
+struct ComputerscareBolyPuttons : Module {
+ int counter = 0;
+ int outputRangeEnum = 0;
+ bool momentary = false;
+ float outputRanges[6][2];
+ rack::dsp::SchmittTrigger momentaryTriggers[16];
+ rack::dsp::PulseGenerator pulseGen[16];
+
+ ComputerscareSVGPanel* panelRef;
+ enum ParamIds {
+ TOGGLE,
+ NUM_PARAMS = TOGGLE + numToggles
+
+ };
+ enum InputIds {
+ CHANNEL_INPUT,
+ A_INPUT,
+ B_INPUT,
+ NUM_INPUTS
+ };
+ enum OutputIds {
+ POLY_OUTPUT,
+ NUM_OUTPUTS
+ };
+ enum LightIds {
+ NUM_LIGHTS
+ };
+
+
+ ComputerscareBolyPuttons() {
+
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+
+ for (int i = 0; i < numToggles; i++) {
+ //configParam(KNOB + i, 0.0f, 10.0f, 0.0f);
+ configParam(TOGGLE + i, 0.f, 1.f, 0.f, "Channel " + std::to_string(i + 1) + " Voltage", " Volts");
+ }
+
+ outputRanges[0][0] = 0.f;
+ outputRanges[0][1] = 10.f;
+ outputRanges[1][0] = -5.f;
+ outputRanges[1][1] = 5.f;
+ outputRanges[2][0] = 0.f;
+ outputRanges[2][1] = 5.f;
+ outputRanges[3][0] = 0.f;
+ outputRanges[3][1] = 1.f;
+ outputRanges[4][0] = -1.f;
+ outputRanges[4][1] = 1.f;
+ outputRanges[5][0] = -10.f;
+ outputRanges[5][1] = 10.f;
+ }
+ void process(const ProcessArgs &args) override {
+ float min = outputRanges[outputRangeEnum][0];
+ float max = outputRanges[outputRangeEnum][1];
+ int numAChannels = inputs[A_INPUT].getChannels();
+ int numBChannels = inputs[B_INPUT].getChannels();
+ counter++;
+ if (counter > 5012) {
+ //printf("%f \n",random::uniform());
+ counter = 0;
+ //rect4032
+ //south facing high wall
+ }
+ outputs[POLY_OUTPUT].setChannels(16);
+
+ //if (outputs[SCALED_OUTPUT + i].isConnected() || outputs[QUANTIZED_OUTPUT + i].isConnected()) {
+ // numInputChannels = inputs[CHANNEL_INPUT + i].getChannels();
+ if (momentary) {
+ for (int i = 0; i < numToggles; i++) {
+ if (momentaryTriggers[i].process(params[TOGGLE + i].getValue())) {
+ pulseGen[i].trigger();
+ if (inputs[A_INPUT].isConnected()) {
+ min = inputs[A_INPUT].getVoltage(i % numAChannels);
+ }
+
+ if (inputs[B_INPUT].isConnected()) {
+ max = inputs[B_INPUT].getVoltage(i % numBChannels);
+ }
+
+ float spread = max - min;
+ outputs[POLY_OUTPUT].setVoltage(pulseGen[i].process(APP->engine->getSampleTime())*spread + min, i);
+ }
+
+ }
+
+ }
+ else {
+
+
+ for (int i = 0; i < numToggles; i++) {
+ if (inputs[A_INPUT].isConnected()) {
+ min = inputs[A_INPUT].getVoltage(i % numAChannels);
+ }
+
+ if (inputs[B_INPUT].isConnected()) {
+ max = inputs[B_INPUT].getVoltage(i % numBChannels);
+ }
+
+ float spread = max - min;
+ outputs[POLY_OUTPUT].setVoltage(params[TOGGLE + i].getValue()*spread + min, i);
+ }
+ }
+ }
+
+};
+
+struct ComputerscareBolyPuttonsWidget : ModuleWidget {
+ ComputerscareBolyPuttonsWidget(ComputerscareBolyPuttons *module) {
+
+ setModule(module);
+ //setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareKnolyPobsPanel.svg")));
+ box.size = Vec(4 * 15, 380);
+ {
+ ComputerscareSVGPanel *panel = new ComputerscareSVGPanel();
+ panel->box.size = box.size;
+ panel->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareBolyPuttonsPanel.svg")));
+
+ //module->panelRef = panel;
+
+ addChild(panel);
+
+ }
+ float xx;
+ float yy;
+ // for (int i = 0; i < numToggles; i++) {
+ // xx = 7.4f + 27.3 * (i % 2);
+ // yy = 94 + 16.5 * (i - i % 2) + 11.3 * (i % 2);
+ // addLabeledButton(std::to_string(i + 1), xx, yy, module, i, (i % 2) * (3 + 10 * (i < 9)) - 2, 0);
+ // }
+ for (int i = 0; i < numToggles; i++) {
+ xx = 5.2f + 27.3 * (i - i % 8) / 8;
+ yy = 92 + 33.5 * (i % 8) + 14.3 * (i - i % 8) / 8;
+ addLabeledButton(std::to_string(i + 1), xx, yy, module, i, (i - i % 8) * 1.2 - 2, 2);
+ }
+
+
+ addInput(createInput<InPort>(Vec(9, 58), module, ComputerscareBolyPuttons::A_INPUT));
+ addInput(createInput<PointingUpPentagonPort>(Vec(33, 55), module, ComputerscareBolyPuttons::B_INPUT));
+
+ addOutput(createOutput<PointingUpPentagonPort>(Vec(1, 24), module, ComputerscareBolyPuttons::POLY_OUTPUT));
+ bolyPuttons = module;
+ }
+ void addLabeledButton(std::string label, int x, int y, ComputerscareBolyPuttons *module, int index, float labelDx, float labelDy) {
+
+ smallLetterDisplay = new SmallLetterDisplay();
+ smallLetterDisplay->box.size = Vec(5, 10);
+ smallLetterDisplay->fontSize = 16;
+ smallLetterDisplay->value = label;
+ smallLetterDisplay->textAlign = 1;
+ smallLetterDisplay->box.pos = Vec(x + labelDx, y - 12 + labelDy);
+ addChild(smallLetterDisplay);
+
+ addParam(createParam<SmallIsoButton>(Vec(x, y), module, ComputerscareBolyPuttons::TOGGLE + index));
+ }
+ json_t *toJson() override
+ {
+ json_t *rootJ = ModuleWidget::toJson();
+ json_object_set_new(rootJ, "outputRange", json_integer(bolyPuttons->outputRangeEnum));
+ return rootJ;
+ }
+ void fromJson(json_t *rootJ) override
+ {
+ ModuleWidget::fromJson(rootJ);
+ // button states
+
+ json_t *outputRangeEnumJ = json_object_get(rootJ, "outputRange");
+ if (outputRangeEnumJ) { bolyPuttons->outputRangeEnum = json_integer_value(outputRangeEnumJ); }
+
+ }
+ void appendContextMenu(Menu *menu) override;
+ ComputerscareBolyPuttons *bolyPuttons;
+ SmallLetterDisplay* smallLetterDisplay;
+};
+struct OutputRangeItem : MenuItem {
+ ComputerscareBolyPuttons *bolyPuttons;
+ int outputRangeEnum;
+ void onAction(const event::Action &e) override {
+ bolyPuttons->outputRangeEnum = outputRangeEnum;
+ }
+ void step() override {
+ rightText = CHECKMARK(bolyPuttons->outputRangeEnum == outputRangeEnum);
+ MenuItem::step();
+ }
+};
+void ComputerscareBolyPuttonsWidget::appendContextMenu(Menu *menu)
+{
+ ComputerscareBolyPuttons *bolyPuttons = dynamic_cast<ComputerscareBolyPuttons *>(this->module);
+
+ MenuLabel *spacerLabel = new MenuLabel();
+ menu->addChild(spacerLabel);
+
+ menu->addChild(construct<MenuLabel>());
+ menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Output Range"));
+ menu->addChild(construct<OutputRangeItem>(&MenuItem::text, " 0v ... +10v", &OutputRangeItem::bolyPuttons, bolyPuttons, &OutputRangeItem::outputRangeEnum, 0));
+ menu->addChild(construct<OutputRangeItem>(&MenuItem::text, " -5v ... +5v", &OutputRangeItem::bolyPuttons, bolyPuttons, &OutputRangeItem::outputRangeEnum, 1));
+ menu->addChild(construct<OutputRangeItem>(&MenuItem::text, " 0v ... +5v", &OutputRangeItem::bolyPuttons, bolyPuttons, &OutputRangeItem::outputRangeEnum, 2));
+ menu->addChild(construct<OutputRangeItem>(&MenuItem::text, " 0v ... +1v", &OutputRangeItem::bolyPuttons, bolyPuttons, &OutputRangeItem::outputRangeEnum, 3));
+ menu->addChild(construct<OutputRangeItem>(&MenuItem::text, " -1v ... +1v", &OutputRangeItem::bolyPuttons, bolyPuttons, &OutputRangeItem::outputRangeEnum, 4));
+ menu->addChild(construct<OutputRangeItem>(&MenuItem::text, "-10v ... +10v", &OutputRangeItem::bolyPuttons, bolyPuttons, &OutputRangeItem::outputRangeEnum, 5));
+
+}
+Model *modelComputerscareBolyPuttons = createModel<ComputerscareBolyPuttons, ComputerscareBolyPuttonsWidget>("computerscare-bolyputtons");
diff --git a/src/ComputerscareDebug.cpp b/src/ComputerscareDebug.cpp
@@ -7,12 +7,18 @@
#include <iomanip>
#define NUM_LINES 16
+struct ComputerscareDebug;
+std::string noModuleStringValue = "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n";
+
struct ComputerscareDebug : Module {
enum ParamIds {
- PITCH_PARAM,
MANUAL_TRIGGER,
MANUAL_CLEAR_TRIGGER,
+ CLOCK_CHANNEL_FOCUS,
+ INPUT_CHANNEL_FOCUS,
+ SWITCH_VIEW,
+ WHICH_CLOCK,
NUM_PARAMS
};
enum InputIds {
@@ -22,7 +28,7 @@ struct ComputerscareDebug : Module {
NUM_INPUTS
};
enum OutputIds {
- SINE_OUTPUT,
+ POLY_OUTPUT,
NUM_OUTPUTS
};
enum LightIds {
@@ -30,121 +36,354 @@ struct ComputerscareDebug : Module {
NUM_LIGHTS
};
- std::string defaultStrValue = "0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n";
+ std::string defaultStrValue = "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n";
std::string strValue = "0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n";
- float logLines[NUM_LINES] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
+ float logLines[NUM_LINES] = {0.f};
int lineCounter = 0;
- SchmittTrigger clockTrigger;
- SchmittTrigger clearTrigger;
- SchmittTrigger manualClockTrigger;
- SchmittTrigger manualClearTrigger;
+ int clockChannel = 0;
+ int inputChannel = 0;
+
+ int clockMode = 1;
+ int inputMode = 2;
+
+ int outputRangeEnum = 0;
+
+
+ float outputRanges[6][2];
+
+ int stepCounter;
+ dsp::SchmittTrigger clockTriggers[NUM_LINES];
+ dsp::SchmittTrigger clearTrigger;
+ dsp::SchmittTrigger manualClockTrigger;
+ dsp::SchmittTrigger manualClearTrigger;
+
+ enum clockAndInputModes {
+ SINGLE_MODE,
+ INTERNAL_MODE,
+ POLY_MODE
+ };
+
+ ComputerscareDebug() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(MANUAL_TRIGGER, 0.0f, 1.0f, 0.0f, "Manual Trigger");
+ configParam(MANUAL_CLEAR_TRIGGER, 0.0f, 1.0f, 0.0f, "Clear");
+ configParam(SWITCH_VIEW, 0.0f, 2.0f, 2.0f, "Input Mode");
+ configParam(WHICH_CLOCK, 0.0f, 2.0f, 1.0f, "Clock Mode");
+ configParam(CLOCK_CHANNEL_FOCUS, 0.f, 15.f, 0.f, "Clock Channel Selector");
+ configParam(INPUT_CHANNEL_FOCUS, 0.f, 15.f, 0.f, "Input Channel Selector");
+
+
+ outputRanges[0][0] = 0.f;
+ outputRanges[0][1] = 10.f;
+ outputRanges[1][0] = -5.f;
+ outputRanges[1][1] = 5.f;
+ outputRanges[2][0] = 0.f;
+ outputRanges[2][1] = 5.f;
+ outputRanges[3][0] = 0.f;
+ outputRanges[3][1] = 1.f;
+ outputRanges[4][0] = -1.f;
+ outputRanges[4][1] = 1.f;
+ outputRanges[5][0] = -10.f;
+ outputRanges[5][1] = 10.f;
+
+ stepCounter=0;
- ComputerscareDebug() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
- void step() override;
+ //params[MANUAL_TRIGGER].randomizable=false;
+ //params[MANUAL_CLEAR_TRIGGER].randomizable=false;
+
+ }
+ void process(const ProcessArgs &args) override;
// For more advanced Module features, read Rack's engine.hpp header file
// - toJson, fromJson: serialization of internal data
// - onSampleRateChange: event triggered by a change of sample rate
// - onReset, onRandomize, onCreate, onDelete: implements special behavior when user clicks these from the context menu
-};
+};
-void ComputerscareDebug::step() {
+void ComputerscareDebug::process(const ProcessArgs &args) {
std::string thisVal;
- if (clockTrigger.process(inputs[TRG_INPUT].value / 2.f) || manualClockTrigger.process(params[MANUAL_TRIGGER].value)) {
- for( unsigned int a = NUM_LINES-1; a > 0; a = a - 1 )
- {
- logLines[a] = logLines[a-1];
- }
- logLines[0] = inputs[VAL_INPUT].value;
-
- thisVal = std::to_string(logLines[0]).substr(0,10);
- for( unsigned int a = 1; a < NUM_LINES; a = a + 1 )
- {
- thisVal = thisVal + "\n" + std::to_string(logLines[a]).substr(0,10);
- }
- strValue = thisVal;
+ clockMode = floor(params[WHICH_CLOCK].getValue());
+
+ inputMode = floor(params[SWITCH_VIEW].getValue());
+
+ inputChannel = floor(params[INPUT_CHANNEL_FOCUS].getValue());
+ clockChannel = floor(params[CLOCK_CHANNEL_FOCUS].getValue());
+
+ float min = outputRanges[outputRangeEnum][0];
+ float max = outputRanges[outputRangeEnum][1];
+ float spread = max - min;
+ if (clockMode == SINGLE_MODE) {
+ if (clockTriggers[clockChannel].process(inputs[TRG_INPUT].getVoltage(clockChannel) / 2.f) || manualClockTrigger.process(params[MANUAL_TRIGGER].getValue()) ) {
+ if (inputMode == POLY_MODE) {
+ for (int i = 0; i < 16; i++) {
+ logLines[i] = inputs[VAL_INPUT].getVoltage(i);
+ }
+ }
+ else if (inputMode == SINGLE_MODE) {
+ for ( unsigned int a = NUM_LINES - 1; a > 0; a = a - 1 )
+ {
+ logLines[a] = logLines[a - 1];
+ }
+
+
+ logLines[0] = inputs[VAL_INPUT].getVoltage(inputChannel);
+ }
+ else if (inputMode == INTERNAL_MODE) {
+ printf("%f, %f\n",min,spread);
+ for (int i = 0; i < 16; i++) {
+ logLines[i] = min+spread*random::uniform();
+ }
+ }
+ }
+ }
+ else if (clockMode == INTERNAL_MODE) {
+ if (inputMode == POLY_MODE) {
+ for (int i = 0; i < 16; i++) {
+ logLines[i] = inputs[VAL_INPUT].getVoltage(i);
+ }
+ }
+ else if (inputMode == SINGLE_MODE) {
+ logLines[inputChannel] = inputs[VAL_INPUT].getVoltage(inputChannel);
+ }
+ else if (inputMode == INTERNAL_MODE) {
+ for (int i = 0; i < 16; i++) {
+ logLines[i] = min+spread*random::uniform();
+ }
+ }
+ }
+ else if (clockMode == POLY_MODE) {
+ if (inputMode == POLY_MODE) {
+ for (int i = 0; i < 16; i++) {
+ if (clockTriggers[i].process(inputs[TRG_INPUT].getVoltage(i) / 2.f) || manualClockTrigger.process(params[MANUAL_TRIGGER].getValue()) ) {
+ logLines[i] = inputs[VAL_INPUT].getVoltage(i);
+ }
+ }
+ }
+ else if (inputMode == SINGLE_MODE) {
+ for (int i = 0; i < 16; i++) {
+ if (clockTriggers[i].process(inputs[TRG_INPUT].getVoltage(i) / 2.f) || manualClockTrigger.process(params[MANUAL_TRIGGER].getValue()) ) {
+ logLines[i] = inputs[VAL_INPUT].getVoltage(inputChannel);
+ }
+ }
+ }
+ else if (inputMode == INTERNAL_MODE) {
+ for (int i = 0; i < 16; i++) {
+ if (clockTriggers[i].process(inputs[TRG_INPUT].getVoltage(i) / 2.f) || manualClockTrigger.process(params[MANUAL_TRIGGER].getValue()) ) {
+ logLines[i] = min+spread*random::uniform();
+ }
+ }
+ }
}
- if(clearTrigger.process(inputs[CLR_INPUT].value / 2.f) || manualClearTrigger.process(params[MANUAL_CLEAR_TRIGGER].value)) {
- for( unsigned int a = 0; a < NUM_LINES; a++ )
- {
- logLines[a] = 0;
- }
+
+ if (clearTrigger.process(inputs[CLR_INPUT].getVoltage() / 2.f) || manualClearTrigger.process(params[MANUAL_CLEAR_TRIGGER].getValue())) {
+ for ( unsigned int a = 0; a < NUM_LINES; a++ )
+ {
+ logLines[a] = 0;
+ }
strValue = defaultStrValue;
}
+ outputs[POLY_OUTPUT].setChannels(16);
+ stepCounter++;
+
+ if (stepCounter > 1025) {
+ stepCounter = 0;
+ thisVal = "";
+ for ( unsigned int a = 0; a < NUM_LINES; a = a + 1 )
+ {
+ thisVal += a > 0 ? "\n" : "";
+ thisVal += logLines[a] >= 0 ? "+" : "";
+ thisVal += std::to_string(logLines[a]).substr(0, 10);
+ outputs[POLY_OUTPUT].setVoltage(logLines[a], a);
+ }
+ strValue = thisVal;
+ }
+
}
+struct HidableSmallSnapKnob : SmallSnapKnob {
+ bool visible = true;
+ int hackIndex = 0;
+ ComputerscareDebug *module;
-////////////////////////////////////
-struct StringDisplayWidget3 : TransparentWidget {
-
- std::string *value;
- std::shared_ptr<Font> font;
-
- StringDisplayWidget3() {
- font = Font::load(assetPlugin(plugin, "res/Oswald-Regular.ttf"));
- };
-
- void draw(NVGcontext *vg) override
- {
- // Background
- NVGcolor backgroundColor = nvgRGB(0x10, 0x00, 0x10);
- NVGcolor StrokeColor = nvgRGB(0xC0, 0xC7, 0xDE);
- nvgBeginPath(vg);
- nvgRoundedRect(vg, -1.0, -1.0, box.size.x+2, box.size.y+2, 4.0);
- nvgFillColor(vg, StrokeColor);
- nvgFill(vg);
- nvgBeginPath(vg);
- nvgRoundedRect(vg, 0.0, 0.0, box.size.x, box.size.y, 4.0);
- nvgFillColor(vg, backgroundColor);
- nvgFill(vg);
-
- // text
- nvgFontSize(vg, 15);
- nvgFontFaceId(vg, font->handle);
- nvgTextLetterSpacing(vg, 2.5);
-
- std::stringstream to_display;
- to_display << std::setw(8) << *value;
-
- Vec textPos = Vec(6.0f, 12.0f);
- NVGcolor textColor = nvgRGB(0xC0, 0xE7, 0xDE);
- nvgFillColor(vg, textColor);
- nvgTextBox(vg, textPos.x, textPos.y,80,to_display.str().c_str(), NULL);
-
- }
+ HidableSmallSnapKnob() {
+
+ SmallSnapKnob();
+ }
+ void draw(const DrawArgs &args) {
+ if (module ? (hackIndex == 0 ? module->clockMode == 0 : module->inputMode == 0) : true) {
+ Widget::draw(args);
+ }
+ };
};
+////////////////////////////////////
+struct StringDisplayWidget3 : Widget {
+
+ std::string value;
+ std::shared_ptr<Font> font;
+ ComputerscareDebug *module;
+
+ StringDisplayWidget3() {
+ font = APP->window->loadFont(asset::plugin(pluginInstance, "res/Oswald-Regular.ttf"));
+ };
+
+ void draw(const DrawArgs &ctx) override
+ {
+ // Background
+ NVGcolor backgroundColor = nvgRGB(0x10, 0x00, 0x10);
+ NVGcolor StrokeColor = nvgRGB(0xC0, 0xC7, 0xDE);
+ nvgBeginPath(ctx.vg);
+ nvgRoundedRect(ctx.vg, -1.0, -1.0, box.size.x + 2, box.size.y + 2, 4.0);
+ nvgFillColor(ctx.vg, StrokeColor);
+ nvgFill(ctx.vg);
+ nvgBeginPath(ctx.vg);
+ nvgRoundedRect(ctx.vg, 0.0, 0.0, box.size.x, box.size.y, 4.0);
+ nvgFillColor(ctx.vg, backgroundColor);
+ nvgFill(ctx.vg);
+
+
+ nvgFontSize(ctx.vg, 15);
+ nvgFontFaceId(ctx.vg, font->handle);
+ nvgTextLetterSpacing(ctx.vg, 2.5);
+ std::string textToDraw = module ? module->strValue : noModuleStringValue;
+ Vec textPos = Vec(6.0f, 12.0f);
+ NVGcolor textColor = nvgRGB(0xC0, 0xE7, 0xDE);
+ nvgFillColor(ctx.vg, textColor);
+ nvgTextBox(ctx.vg, textPos.x, textPos.y, 80, textToDraw.c_str(), NULL);
+
+ }
+};
+struct ConnectedSmallLetter : SmallLetterDisplay {
+ ComputerscareDebug *module;
+ int index;
+ ConnectedSmallLetter(int dex) {
+ index = dex;
+ value = std::to_string(dex + 1);
+ }
+ void draw(const DrawArgs &ctx) override {
+ if (module) {
+ int cm = module->clockMode;
+ int im = module->inputMode;
+ int cc = module->clockChannel;
+ int ic = module->inputChannel;
+
+ // both:pink
+ // clock: green
+ // input:yellow
+ baseColor = COLOR_COMPUTERSCARE_TRANSPARENT;
+ if (cm == 0 && im == 0 && cc == index && ic == index) {
+ baseColor = COLOR_COMPUTERSCARE_PINK;
+ }
+ else {
+ if (cm == 0 && cc == index) {
+ baseColor = COLOR_COMPUTERSCARE_LIGHT_GREEN;
+ }
+ if (im == 0 && ic == index) {
+ baseColor = COLOR_COMPUTERSCARE_YELLOW;
+ }
+ }
+ }
+ SmallLetterDisplay::draw(ctx);
+ }
+};
struct ComputerscareDebugWidget : ModuleWidget {
- ComputerscareDebugWidget(ComputerscareDebug *module) : ModuleWidget(module) {
- setPanel(SVG::load(assetPlugin(plugin, "res/ComputerscareDebugPanel.svg")));
+ ComputerscareDebugWidget(ComputerscareDebug *module) {
+ setModule(module);
+ setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareDebugPanel.svg")));
- addInput(Port::create<InPort>(Vec(3, 330), Port::INPUT, module, ComputerscareDebug::TRG_INPUT));
- addInput(Port::create<InPort>(Vec(33, 330), Port::INPUT, module, ComputerscareDebug::VAL_INPUT));
- addInput(Port::create<InPort>(Vec(63, 330), Port::INPUT, module, ComputerscareDebug::CLR_INPUT));
-
- addParam(ParamWidget::create<LEDButton>(Vec(6, 290), module, ComputerscareDebug::MANUAL_TRIGGER, 0.0, 1.0, 0.0));
- addParam(ParamWidget::create<LEDButton>(Vec(66, 290), module, ComputerscareDebug::MANUAL_CLEAR_TRIGGER, 0.0, 1.0, 0.0));
+ addInput(createInput<InPort>(Vec(2, 335), module, ComputerscareDebug::TRG_INPUT));
+ addInput(createInput<InPort>(Vec(61, 335), module, ComputerscareDebug::VAL_INPUT));
+ addInput(createInput<InPort>(Vec(31, 335), module, ComputerscareDebug::CLR_INPUT));
- StringDisplayWidget3 *display = new StringDisplayWidget3();
- display->box.pos = Vec(1,24);
- display->box.size = Vec(88, 250);
- display->value = &module->strValue;
- addChild(display);
+ addParam(createParam<ComputerscareClockButton>(Vec(2, 321), module, ComputerscareDebug::MANUAL_TRIGGER));
+ addParam(createParam<ComputerscareResetButton>(Vec(32, 320), module, ComputerscareDebug::MANUAL_CLEAR_TRIGGER));
+
+ addParam(createParam<ThreeVerticalXSwitch>(Vec(2, 279), module, ComputerscareDebug::WHICH_CLOCK));
+ addParam(createParam<ThreeVerticalXSwitch>(Vec(66, 279), module, ComputerscareDebug::SWITCH_VIEW));
+
+ HidableSmallSnapKnob *clockKnob = createParam<HidableSmallSnapKnob>(Vec(6, 305), module, ComputerscareDebug::CLOCK_CHANNEL_FOCUS);
+ clockKnob->module = module;
+ clockKnob->hackIndex = 0;
+ addParam(clockKnob);
+
+ HidableSmallSnapKnob *inputKnob = createParam<HidableSmallSnapKnob>(Vec(66, 305), module, ComputerscareDebug::INPUT_CHANNEL_FOCUS);
+ inputKnob->module = module;
+ inputKnob->hackIndex = 1;
+ addParam(inputKnob);
+
+ addOutput(createOutput<OutPort>(Vec(56, 1), module, ComputerscareDebug::POLY_OUTPUT));
+
+ for (int i = 0; i < 16; i++) {
+ ConnectedSmallLetter *sld = new ConnectedSmallLetter(i);
+ sld->fontSize = 15;
+ sld->textAlign = 1;
+ sld->box.pos = Vec(-4, 33.8 + 15.08 * i);
+ sld->box.size = Vec(28, 20);
+ sld->module = module;
+ addChild(sld);
+ }
+
+ StringDisplayWidget3 *stringDisplay = createWidget<StringDisplayWidget3>(Vec(15, 34));
+ stringDisplay->box.size = Vec(73, 245);
+ stringDisplay->module = module;
+ addChild(stringDisplay);
+
+ debug = module;
+ }
+ json_t *toJson() override
+ {
+ json_t *rootJ = ModuleWidget::toJson();
+ json_object_set_new(rootJ, "outputRange", json_integer(debug->outputRangeEnum));
+ return rootJ;
+ }
+ void fromJson(json_t *rootJ) override
+ {
+ ModuleWidget::fromJson(rootJ);
+ // button states
+
+ json_t *outputRangeEnumJ = json_object_get(rootJ, "outputRange");
+ if (outputRangeEnumJ) { debug->outputRangeEnum = json_integer_value(outputRangeEnumJ); }
+
+ }
+ void appendContextMenu(Menu *menu) override;
+ ComputerscareDebug *debug;
+};
+struct DebugOutputRangeItem : MenuItem {
+ ComputerscareDebug *debug;
+ int outputRangeEnum;
+ void onAction(const event::Action &e) override {
+ debug->outputRangeEnum = outputRangeEnum;
+ printf("outputRangeEnum %i\n",outputRangeEnum);
+ }
+ void step() override {
+ rightText = CHECKMARK(debug->outputRangeEnum == outputRangeEnum);
+ MenuItem::step();
}
};
+void ComputerscareDebugWidget::appendContextMenu(Menu *menu)
+{
+ ComputerscareDebug *debug = dynamic_cast<ComputerscareDebug *>(this->module);
+ MenuLabel *spacerLabel = new MenuLabel();
+ menu->addChild(spacerLabel);
-// Specify the Module and ModuleWidget subclass, human-readable
-// author name for categorization per plugin, module slug (should never
-// change), human-readable module name, and any number of tags
-// (found in `include/tags.hpp`) separated by commas.
-Model *modelComputerscareDebug = Model::create<ComputerscareDebug, ComputerscareDebugWidget>("computerscare", "computerscare-debug", "Debug", UTILITY_TAG);
+ menu->addChild(construct<MenuLabel>());
+ menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Random Generator Range (Internal In)"));
+ menu->addChild(construct<DebugOutputRangeItem>(&MenuItem::text, " 0v ... +10v", &DebugOutputRangeItem::debug, debug, &DebugOutputRangeItem::outputRangeEnum, 0));
+ menu->addChild(construct<DebugOutputRangeItem>(&MenuItem::text, " -5v ... +5v", &DebugOutputRangeItem::debug, debug, &DebugOutputRangeItem::outputRangeEnum, 1));
+ menu->addChild(construct<DebugOutputRangeItem>(&MenuItem::text, " 0v ... +5v", &DebugOutputRangeItem::debug, debug, &DebugOutputRangeItem::outputRangeEnum, 2));
+ menu->addChild(construct<DebugOutputRangeItem>(&MenuItem::text, " 0v ... +1v", &DebugOutputRangeItem::debug, debug, &DebugOutputRangeItem::outputRangeEnum, 3));
+ menu->addChild(construct<DebugOutputRangeItem>(&MenuItem::text, " -1v ... +1v", &DebugOutputRangeItem::debug, debug, &DebugOutputRangeItem::outputRangeEnum, 4));
+ menu->addChild(construct<DebugOutputRangeItem>(&MenuItem::text, "-10v ... +10v", &DebugOutputRangeItem::debug, debug, &DebugOutputRangeItem::outputRangeEnum, 5));
+
+}
+Model *modelComputerscareDebug = createModel<ComputerscareDebug, ComputerscareDebugWidget>("computerscare-debug");
diff --git a/src/ComputerscareILoveCookies.cpp b/src/ComputerscareILoveCookies.cpp
@@ -9,6 +9,9 @@
#include <iomanip>
struct ComputerscareILoveCookies;
+struct CookiesTF2;
+struct CookiesSmallDisplay;
+struct CookiesCurrentStepDisplay;
const int numFields = 6;
const int numKnobRows = 13;
@@ -16,20 +19,16 @@ const int numKnobColumns = 2;
const int numInputRows = 13;
const int numInputColumns = 2;
-const int LG_FONT_SIZE = 18;
-const int MED_FONT_SIZE = 12;
-const int SM_FONT_SIZE = 8;
-
const int numKnobs = numKnobRows * numKnobColumns;
const int numInputs = numInputRows * numInputColumns;
-const std::vector<NVGcolor> outlineColorMap = {COLOR_COMPUTERSCARE_RED,COLOR_COMPUTERSCARE_YELLOW,COLOR_COMPUTERSCARE_BLUE};
+const std::vector<NVGcolor> outlineColorMap = {COLOR_COMPUTERSCARE_RED, COLOR_COMPUTERSCARE_YELLOW, COLOR_COMPUTERSCARE_BLUE};
-class MyTextFieldCookie : public LedDisplayTextField {
+/*class MyTextFieldCookie : public LedDisplayTextField {
public:
int fontSize = LG_FONT_SIZE;
- int rowIndex=0;
+ int rowIndex = 0;
bool inError = false;
MyTextFieldCookie() : LedDisplayTextField() {}
void setModule(ComputerscareILoveCookies* _module) {
@@ -39,25 +38,25 @@ public:
int getTextPosition(Vec mousePos) override {
bndSetFont(font->handle);
int textPos = bndIconLabelTextPosition(gVg, textOffset.x, textOffset.y,
- box.size.x - 2*textOffset.x, box.size.y - 2*textOffset.y,
- -1, fontSize, text.c_str(), mousePos.x, mousePos.y);
+ box.size.x - 2 * textOffset.x, box.size.y - 2 * textOffset.y,
+ -1, fontSize, text.c_str(), mousePos.x, mousePos.y);
bndSetFont(gGuiFont->handle);
return textPos;
}
- void draw(NVGcontext *vg) override {
- nvgScissor(vg, 0, 0, box.size.x, box.size.y);
+ void draw(const DrawArgs &args) override {
+ nvgScissor(args.vg, 0, 0, box.size.x, box.size.y);
// Background
- nvgFontSize(vg, fontSize);
- nvgBeginPath(vg);
- nvgRoundedRect(vg, 0, 0, box.size.x, box.size.y, 5.0);
- if(inError) {
- nvgFillColor(vg, COLOR_COMPUTERSCARE_PINK);
+ nvgFontSize(args.vg, fontSize);
+ nvgBeginPath(args.vg);
+ nvgRoundedRect(args.vg, 0, 0, box.size.x, box.size.y, 5.0);
+ if (inError) {
+ nvgFillColor(args.vg, COLOR_COMPUTERSCARE_PINK);
}
else {
- nvgFillColor(vg, nvgRGB(0x00, 0x00, 0x00));
+ nvgFillColor(args.vg, nvgRGB(0x00, 0x00, 0x00));
}
- nvgFill(vg);
+ nvgFill(args.vg);
// Text
if (font->handle >= 0) {
@@ -67,147 +66,137 @@ public:
highlightColor.a = 0.5;
int begin = min(cursor, selection);
int end = (this == gFocusedWidget) ? max(cursor, selection) : -1;
- //bndTextField(vg,textOffset.x,textOffset.y+2, box.size.x, box.size.y, -1, 0, 0, const char *text, int cbegin, int cend);
- bndIconLabelCaret(vg, textOffset.x, textOffset.y - 3,
- box.size.x - 2*textOffset.x, box.size.y - 2*textOffset.y,
- -1, color, fontSize, text.c_str(), highlightColor, begin, end);
+ //bndTextField(args.vg,textOffset.x,textOffset.y+2, box.size.x, box.size.y, -1, 0, 0, const char *text, int cbegin, int cend);
+ bndIconLabelCaret(args.vg, textOffset.x, textOffset.y - 3,
+ box.size.x - 2 * textOffset.x, box.size.y - 2 * textOffset.y,
+ -1, color, fontSize, text.c_str(), highlightColor, begin, end);
bndSetFont(gGuiFont->handle);
}
- nvgResetScissor(vg);
+ nvgResetScissor(args.vg);
};
private:
ComputerscareILoveCookies* module;
-};
+};*/
struct ComputerscareILoveCookies : Module {
- enum ParamIds {
- KNOB_PARAM,
- MANUAL_CLOCK_PARAM = KNOB_PARAM + numKnobs,
- MANUAL_RESET_PARAM,
- INDIVIDUAL_RESET_PARAM,
- NUM_PARAMS = INDIVIDUAL_RESET_PARAM + numFields
- };
- enum InputIds {
+ enum ParamIds {
+ KNOB_PARAM,
+ MANUAL_CLOCK_PARAM = KNOB_PARAM + numKnobs,
+ MANUAL_RESET_PARAM,
+ INDIVIDUAL_RESET_PARAM,
+ NUM_PARAMS = INDIVIDUAL_RESET_PARAM + numFields
+ };
+ enum InputIds {
GLOBAL_CLOCK_INPUT,
GLOBAL_RESET_INPUT,
CLOCK_INPUT,
RESET_INPUT = CLOCK_INPUT + numFields,
SIGNAL_INPUT = RESET_INPUT + numFields ,
- NUM_INPUTS = SIGNAL_INPUT + numInputs
- };
- enum OutputIds {
+ NUM_INPUTS = SIGNAL_INPUT + numInputs
+ };
+ enum OutputIds {
TRG_OUTPUT,
FIRST_STEP_OUTPUT = TRG_OUTPUT + numFields,
- NUM_OUTPUTS = FIRST_STEP_OUTPUT + numFields
- };
+ NUM_OUTPUTS = FIRST_STEP_OUTPUT + numFields
+ };
enum LightIds {
- SWITCH_LIGHTS,
- NUM_LIGHTS = SWITCH_LIGHTS + (numKnobs + numInputs)*numFields
- };
+ SWITCH_LIGHTS,
+ NUM_LIGHTS = SWITCH_LIGHTS + (numKnobs + numInputs) * numFields
+ };
- SchmittTrigger globalClockTrigger;
- SchmittTrigger globalResetTriggerInput;
+ rack::dsp::SchmittTrigger globalClockTrigger;
+ rack::dsp::SchmittTrigger globalResetTriggerInput;
- SchmittTrigger globalManualClockTrigger;
- SchmittTrigger globalManualResetTrigger;
+ rack::dsp::SchmittTrigger globalManualClockTrigger;
+ rack::dsp::SchmittTrigger globalManualResetTrigger;
- SchmittTrigger clockTriggers[numFields];
- SchmittTrigger resetTriggers[numFields];
+ rack::dsp::SchmittTrigger clockTriggers[numFields];
+ rack::dsp::SchmittTrigger resetTriggers[numFields];
- SchmittTrigger manualResetTriggers[numFields];
+ rack::dsp::SchmittTrigger manualResetTriggers[numFields];
- MyTextFieldCookie* textFields[numFields];
SmallLetterDisplay* smallLetterDisplays[numFields];
SmallLetterDisplay* currentWorkingStepDisplays[numFields];
AbsoluteSequence newABS[numFields];
AbsoluteSequence newABSQueue[numFields];
-
+
+ std::string currentFormula[numFields];
+ std::string lastValue[numFields];
+
+
+ bool manualSet[numFields] = {false};
bool shouldChange[numFields] = {false};
bool changeImminent[numFields] = {false};
int activeKnobIndex[numFields] = {0};
-
- std::vector<ParamWidget*> smallLetterKnobs;
-ComputerscareILoveCookies() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
- void step() override;
+ std::vector<ParamWidget*> smallLetterKnobs;
- json_t *toJson() override
- {
- json_t *rootJ = json_object();
-
- json_t *sequencesJ = json_array();
+ ComputerscareILoveCookies() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
for (int i = 0; i < numFields; i++) {
- json_t *sequenceJ = json_string(textFields[i]->text.c_str());
- json_array_append_new(sequencesJ, sequenceJ);
- }
- json_object_set_new(rootJ, "sequences", sequencesJ);
-
- return rootJ;
- }
-
- void fromJson(json_t *rootJ) override
- {
- json_t *sequencesJ = json_object_get(rootJ, "sequences");
- if (sequencesJ) {
- for (int i = 0; i < numFields; i++) {
- json_t *sequenceJ = json_array_get(sequencesJ, i);
- if (sequenceJ)
- textFields[i]->text = json_string_value(sequenceJ);
- }
+ currentFormula[i] = "";
+ lastValue[i] = "";
+ setNextAbsoluteSequence(i);
+ checkIfShouldChange(i);
+ resetOneOfThem(i);
}
- onCreate();
}
-
+ void process(const ProcessArgs &args) override;
+
+
+
void onRandomize() override {
}
void randomizeShuffle() {
}
void wiggleKnobs() {
- for(int i = 0; i < numKnobs; i++) {
- float prev = params[KNOB_PARAM+i].value;
- if(randomUniform() < 0.7) {
- float rv = (10*randomUniform()+2*prev)/3;
+ /*for (int i = 0; i < numKnobs; i++) {
+ float prev = params[KNOB_PARAM + i].getValue();
+ if (random::uniform() < 0.7) {
+ float rv = (10 * random::uniform() + 2 * prev) / 3;
this->smallLetterKnobs[i]->setValue(rv);
- params[KNOB_PARAM+i].value = rv;
+ params[KNOB_PARAM + i].getValue() = rv;
}
- }
+ }*/
}
void randomizeTextFields() {
std::string mainlookup = knoblookup;
std::string str = "";
std::string randchar = "";
-
+
float ru;
int length = 0;
for (int i = 0; i < numFields; i++) {
-
- length = floor(randomUniform()*12) + 2;
+
+ length = floor(random::uniform() * 12) + 2;
str = "";
- for(int j = 0; j < length; j++) {
- randchar = mainlookup[floor(randomUniform()*mainlookup.size())];
+ for (int j = 0; j < length; j++) {
+ randchar = mainlookup[floor(random::uniform() * mainlookup.size())];
str = str + randchar;
- ru = randomUniform();
- if(ru < 0.1) {
+ ru = random::uniform();
+ if (ru < 0.1) {
str = "(" + str + ")";
}
}
- textFields[i]->text = str;
+ currentFormula[i] = str;
+ manualSet[i] = true;
+
setNextAbsoluteSequence(i);
}
}
- void checkLength(int index) {
- std::string value=textFields[index]->text;
+ /*void checkLength(int index) {
+ std::string value = textFields[index]->text;
int length = value.length();
- textFields[index]->fontSize = length > 17 ? (length > 30 ? SM_FONT_SIZE : MED_FONT_SIZE) : LG_FONT_SIZE;
- }
+ textFields[index]->fontSize = length > 17 ? (length > 30 ? SM_FONT_SIZE : MED_FONT_SIZE) : LG_FONT_SIZE;
+ }*/
void setNextAbsoluteSequence(int index) {
- newABSQueue[index] = AbsoluteSequence(textFields[index]->text,knobandinputlookup);
+ newABSQueue[index] = AbsoluteSequence(currentFormula[index], knobandinputlookup);
shouldChange[index] = true;
}
void setAbsoluteSequenceFromQueue(int index) {
@@ -215,84 +204,65 @@ ComputerscareILoveCookies() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LI
newABS[index].incrementAndCheck();
}
void checkIfShouldChange(int index) {
- if(shouldChange[index]) {
+ if (shouldChange[index]) {
setAbsoluteSequenceFromQueue(index);
shouldChange[index] = false;
- updateDisplayBlink(index);
- }
- }
- void updateDisplayBlink(int index) {
- smallLetterDisplays[index]->blink = shouldChange[index];
- }
-void onCreate () override
- {
- for(int i = 0; i < numFields; i++) {
- setNextAbsoluteSequence(i);
- checkIfShouldChange(i);
- resetOneOfThem(i);
}
}
- void onReset () override
- {
- onCreate();
- }
-
void incrementInternalStep(int i) {
newABS[i].incrementAndCheck();
- if(newABS[i].readHead == 0) {
- this->setChangeImminent(i,false);
+ if (newABS[i].readHead == 0) {
+ setChangeImminent(i, false);
checkIfShouldChange(i);
}
- this->smallLetterDisplays[i]->value = this->getDisplayString(i);
- this->currentWorkingStepDisplays[i]->value = this->newABS[i].getWorkingStepDisplay();
}
void resetOneOfThem(int i) {
newABS[i].readHead = -1;
}
- void setChangeImminent(int i,bool value) {
- this->smallLetterDisplays[i]->doubleblink = value;
+ void setChangeImminent(int i, bool value) {
+ changeImminent[i] = value;
}
std::string getDisplayString(int index) {
std::string lhs = std::to_string(this->newABS[index].readHead + 1);
std::string rhs = std::to_string(this->newABS[index].numTokens);
- padTo(lhs, 3,' ');
- padTo(rhs, 3,' ');
-
+ padTo(lhs, 3, ' ');
+ padTo(rhs, 3, ' ');
+
std::string val = lhs + "\n" + rhs;
return val;
}
- float mapKnobValue(float rawValue, int rowIndex) {
- // raw value is between 0 and +10
- /*
- 0: -10,10
- 1: -5,5
- 2: 0,10
- 3: 0,5
- 4: 0,1
+ float mapKnobValue(float rawValue, int rowIndex) {
+ // raw value is between 0 and +10
+ /*
+ 0: -10,10
+ 1: -5,5
+ 2: 0,10
+ 3: 0,5
+ 4: 0,1
5: -1,1
6: 0,2
7: 0,3
8: -2,2
- */
- float mappedValue = 0.f;
- int mapEnum = 2;
- switch(mapEnum) {
- case 0: mappedValue = mapValue(rawValue,-5.f,2.f); break;
- case 1: mappedValue = mapValue(rawValue,-5.f,1.f); break;
- case 2: mappedValue = rawValue; break;
- case 3: mappedValue = mapValue(rawValue,0.f,0.5); break;
- case 4: mappedValue = mapValue(rawValue,0.f,0.1); break;
- case 5: mappedValue = mapValue(rawValue,-5,0.2); break;
- case 6: mappedValue = mapValue(rawValue,0.f,0.2); break;
- case 7: mappedValue = mapValue(rawValue,0.f,1/3); break;
- case 8: mappedValue = mapValue(rawValue,-5.f,0.4); break;
- }
- return mappedValue;
- }
+ */
+ float mappedValue = 0.f;
+ int mapEnum = 2;
+ switch (mapEnum) {
+ case 0: mappedValue = mapValue(rawValue, -5.f, 2.f); break;
+ case 1: mappedValue = mapValue(rawValue, -5.f, 1.f); break;
+ case 2: mappedValue = rawValue; break;
+ case 3: mappedValue = mapValue(rawValue, 0.f, 0.5); break;
+ case 4: mappedValue = mapValue(rawValue, 0.f, 0.1); break;
+ case 5: mappedValue = mapValue(rawValue, -5, 0.2); break;
+ case 6: mappedValue = mapValue(rawValue, 0.f, 0.2); break;
+ case 7: mappedValue = mapValue(rawValue, 0.f, 1 / 3); break;
+ case 8: mappedValue = mapValue(rawValue, -5.f, 0.4); break;
+ }
+ return mappedValue;
+ }
float mapValue(float input, float offset, float multiplier) {
return (input + offset) * multiplier;
}
@@ -300,131 +270,230 @@ void onCreate () override
};
-void ComputerscareILoveCookies::step() {
+void ComputerscareILoveCookies::process(const ProcessArgs &args) {
bool globalGateIn = globalClockTrigger.isHigh();
bool activeStep = 0;
bool atFirstStep = false;
- bool globalTriggerClocked = globalClockTrigger.process(inputs[GLOBAL_CLOCK_INPUT].value);
- bool globalManualResetClicked = globalManualResetTrigger.process(params[MANUAL_RESET_PARAM].value);
- bool globalManualClockClicked = globalManualClockTrigger.process(params[MANUAL_CLOCK_PARAM].value);
+ bool globalTriggerClocked = globalClockTrigger.process(inputs[GLOBAL_CLOCK_INPUT].getVoltage());
+ bool globalManualResetClicked = globalManualResetTrigger.process(params[MANUAL_RESET_PARAM].getValue());
+ bool globalManualClockClicked = globalManualClockTrigger.process(params[MANUAL_CLOCK_PARAM].getValue());
bool currentTriggerIsHigh;
bool currentTriggerClocked;
- bool globalResetTriggered = globalResetTriggerInput.process(inputs[GLOBAL_RESET_INPUT].value / 2.f);
+ bool globalResetTriggered = globalResetTriggerInput.process(inputs[GLOBAL_RESET_INPUT].getVoltage() / 2.f);
bool currentResetActive;
bool currentResetTriggered;
bool currentManualResetClicked;
- float knobRawValue = 0.f;
- for(int i = 0; i < numFields; i++) {
+ float knobRawValue = 0.f;
+ for (int i = 0; i < numFields; i++) {
activeStep = false;
- currentResetActive = inputs[RESET_INPUT + i].active;
- currentResetTriggered = resetTriggers[i].process(inputs[RESET_INPUT+i].value / 2.f);
- currentManualResetClicked = manualResetTriggers[i].process(params[INDIVIDUAL_RESET_PARAM + i].value);
+ currentResetActive = inputs[RESET_INPUT + i].isConnected();
+ currentResetTriggered = resetTriggers[i].process(inputs[RESET_INPUT + i].getVoltage() / 2.f);
+ currentManualResetClicked = manualResetTriggers[i].process(params[INDIVIDUAL_RESET_PARAM + i].getValue());
currentTriggerIsHigh = clockTriggers[i].isHigh();
- currentTriggerClocked = clockTriggers[i].process(inputs[CLOCK_INPUT + i].value);
+ currentTriggerClocked = clockTriggers[i].process(inputs[CLOCK_INPUT + i].getVoltage());
- if(true) {
- if (inputs[CLOCK_INPUT + i].active) {
- if(currentTriggerClocked) {
+ if (true) {
+ if (inputs[CLOCK_INPUT + i].isConnected()) {
+ if (currentTriggerClocked) {
incrementInternalStep(i);
activeKnobIndex[i] = newABS[i].peekWorkingStep();
}
}
else {
- if ((inputs[GLOBAL_CLOCK_INPUT].active && globalTriggerClocked) || globalManualClockClicked) {
+ if ((inputs[GLOBAL_CLOCK_INPUT].isConnected() && globalTriggerClocked) || globalManualClockClicked) {
incrementInternalStep(i);
activeKnobIndex[i] = newABS[i].peekWorkingStep();
}
}
- if((currentResetActive && currentResetTriggered) || (!currentResetActive && globalResetTriggered)) {
+ if ((currentResetActive && currentResetTriggered) || (!currentResetActive && globalResetTriggered)) {
resetOneOfThem(i);
}
atFirstStep = (newABS[i].readHead == 0);
- if(globalManualResetClicked || currentManualResetClicked) {
- setChangeImminent(i,true);
+ if (globalManualResetClicked || currentManualResetClicked) {
+ setChangeImminent(i, true);
resetOneOfThem(i);
}
- if( (currentResetActive && currentResetTriggered) || (!currentResetActive && globalResetTriggered)) {
+ if ( (currentResetActive && currentResetTriggered) || (!currentResetActive && globalResetTriggered)) {
resetOneOfThem(i);
- setChangeImminent(i,false);
+ setChangeImminent(i, false);
}
else {
- if(atFirstStep && !currentResetActive && !inputs[GLOBAL_RESET_INPUT].active) {
+ if (atFirstStep && !currentResetActive && !inputs[GLOBAL_RESET_INPUT].isConnected()) {
//checkIfShouldChange(i);
}
}
}
- if(activeKnobIndex[i] < 0) {
- outputs[TRG_OUTPUT + i].value = 0.f;
- }
- else if(activeKnobIndex[i] < 26) {
- knobRawValue = params[activeKnobIndex[i]].value;
- outputs[TRG_OUTPUT + i].value = mapKnobValue(knobRawValue,i);
+ if (activeKnobIndex[i] < 0) {
+ outputs[TRG_OUTPUT + i].setVoltage(0.f);
+ }
+ else if (activeKnobIndex[i] < 26) {
+ knobRawValue = params[activeKnobIndex[i]].getValue();
+ outputs[TRG_OUTPUT + i].setVoltage(mapKnobValue(knobRawValue, i));
}
- else if(activeKnobIndex[i] < 52) {
- knobRawValue = inputs[SIGNAL_INPUT + activeKnobIndex[i] - 26].value;
- outputs[TRG_OUTPUT + i].value = knobRawValue;
+ else if (activeKnobIndex[i] < 52) {
+ knobRawValue = inputs[SIGNAL_INPUT + activeKnobIndex[i] - 26].getVoltage();
+ outputs[TRG_OUTPUT + i].setVoltage(knobRawValue);
}
- else if(activeKnobIndex[i] < 78) {
- outputs[TRG_OUTPUT + i].value = newABS[i].exactFloats[activeKnobIndex[i] - 52];
+ else if (activeKnobIndex[i] < 78) {
+ outputs[TRG_OUTPUT + i].setVoltage(newABS[i].exactFloats[activeKnobIndex[i] - 52]);
}
- else if(activeKnobIndex[i] < 104) {
- outputs[TRG_OUTPUT + i].value = 2.22;
+ else if (activeKnobIndex[i] < 104) {
+ outputs[TRG_OUTPUT + i].setVoltage(2.22);
}
else {
- outputs[TRG_OUTPUT+i].value = 0.f;
+ outputs[TRG_OUTPUT + i].setVoltage(0.f);
}
- if(inputs[CLOCK_INPUT + i].active) {
- outputs[FIRST_STEP_OUTPUT + i].value = (currentTriggerIsHigh && atFirstStep) ? 10.f : 0.0f;
+ if (inputs[CLOCK_INPUT + i].isConnected()) {
+ outputs[FIRST_STEP_OUTPUT + i].setVoltage((currentTriggerIsHigh && atFirstStep) ? 10.f : 0.0f);
}
else {
- outputs[FIRST_STEP_OUTPUT + i].value = (globalGateIn && atFirstStep) ? 10.f : 0.0f;
+ outputs[FIRST_STEP_OUTPUT + i].setVoltage((globalGateIn && atFirstStep) ? 10.f : 0.0f);
}
}
}
-void MyTextFieldCookie::onTextChange() {
- module->checkLength(this->rowIndex);
- std::string value = module->textFields[this->rowIndex]->text;
- AbsoluteSequence abs = AbsoluteSequence(value,knobandinputlookup);
- if((!abs.inError) && matchParens(value)) {
- module->setNextAbsoluteSequence(this->rowIndex);
- module->updateDisplayBlink(this->rowIndex);
- module->textFields[this->rowIndex]->inError=false;
- }
- else {
- module->textFields[this->rowIndex]->inError=true;
- }
-}
+
struct WiggleKnobsMenuItem : MenuItem {
ComputerscareILoveCookies *cookies;
- void onAction(EventAction &e) override {
- cookies->wiggleKnobs();
+ void onAction(const event::Action &e) override {
+ cookies->wiggleKnobs();
}
};
struct RandomizeTextFieldsMenuItem : MenuItem {
ComputerscareILoveCookies *cookies;
- void onAction(EventAction &e) override {
- srand(time(0));
- cookies->randomizeTextFields();
+ void onAction(const event::Action &e) override {
+ srand(time(0));
+ cookies->randomizeTextFields();
+
+ }
+};
+struct CookiesTF2 : ComputerscareTextField
+{
+ ComputerscareILoveCookies *module;
+ //int fontSize = 16;
+ int rowIndex = 0;
+
+ CookiesTF2(int i)
+ {
+ rowIndex = i;
+ ComputerscareTextField();
+ };
+ void draw(const DrawArgs &args) override
+ {
+ if (module)
+ {
+ if (module->manualSet[rowIndex]) {
+ text = module->currentFormula[rowIndex];
+ module->manualSet[rowIndex] = false;
+ }
+ std::string value = text.c_str();
+ if (value != module->lastValue[rowIndex])
+ {
+ //LaundrySoupSequence lss = LaundrySoupSequence(value);
+
+ module->lastValue[rowIndex] = value;
+ AbsoluteSequence abs = AbsoluteSequence(value, knobandinputlookup);
+ if ((!abs.inError) && matchParens(value)) {
+ module->currentFormula[rowIndex] = value;
+ inError = false;
+ module->setNextAbsoluteSequence(this->rowIndex);
+ }
+ else {
+ inError = true;
+ }
+
+ }
+ }
+ else {
+ text = "we,love{}@9,cook(ies)";
+ }
+ ComputerscareTextField::draw(args);
+ }
+ /*void MyTextFieldCookie::onTextChange() {
+ module->checkLength(this->rowIndex);
+ std::string value = module->textFields[this->rowIndex]->text;
+ AbsoluteSequence abs = AbsoluteSequence(value,knobandinputlookup);
+ if((!abs.inError) && matchParens(value)) {
+ module->setNextAbsoluteSequence(this->rowIndex);
+ module->updateDisplayBlink(this->rowIndex);
+ module->textFields[this->rowIndex]->inError=false;
+ }
+ else {
+ module->textFields[this->rowIndex]->inError=true;
+ }
+ }*/
+ //void draw(const DrawArgs &args) override;
+ //int getTextPosition(math::Vec mousePos) override;
+};
+struct CookiesSmallDisplay : SmallLetterDisplay
+{
+ ComputerscareILoveCookies *module;
+ int type;
+ int index;
+ CookiesSmallDisplay(int i)
+ {
+ index = i;
+ SmallLetterDisplay();
+ };
+ void draw(const DrawArgs &args)
+ {
+ //this->setNumDivisionsString();
+ if (module)
+ {
+ value = module->getDisplayString(index);
+ blink = module->shouldChange[index];
+ doubleblink = module->changeImminent[index];
+ SmallLetterDisplay::draw(args);
+ }
+ else {
+ value = "4\n20";
+ SmallLetterDisplay::draw(args);
+ }
}
+
};
+struct CookiesCurrentStepDisplay : SmallLetterDisplay
+{
+ ComputerscareILoveCookies *module;
+ int type;
+ int index;
+ CookiesCurrentStepDisplay(int i)
+ {
+ index = i;
+ fontSize = 26;
+ textAlign = 4;
+ SmallLetterDisplay();
+ };
+ void draw(const DrawArgs &args)
+ {
+ //this->setNumDivisionsString();
+ if (module)
+ {
+ //this->currentWorkingStepDisplays[i]->value = this->newABS[i].getWorkingStepDisplay();
+ value = module->newABS[index].getWorkingStepDisplay();
+
+ SmallLetterDisplay::draw(args);
+ }
+ }
+
+};
struct ComputerscareILoveCookiesWidget : ModuleWidget {
double verticalSpacing = 18.4;
int verticalStart = 24;
double xStart = 41;
- int index=0;
- int inputindex=0;
- double knobPosX=0.0;
- double knobPosY=0.0;
+ int index = 0;
+ int inputindex = 0;
+ double knobPosX = 0.0;
+ double knobPosY = 0.0;
double knobXStart = 20;
double knobYStart = 2;
double knobRowWidth = 11;
@@ -437,43 +506,48 @@ struct ComputerscareILoveCookiesWidget : ModuleWidget {
double inputRowWidth = 9.4;
double inputColumnHeight = 9.7;
- ComputerscareILoveCookiesWidget(ComputerscareILoveCookies *module) : ModuleWidget(module) {
- setPanel(SVG::load(assetPlugin(plugin, "res/ComputerscareILoveCookiesPanel.svg")));
+ ComputerscareILoveCookiesWidget(ComputerscareILoveCookies *module) {
+ setModule(module);
+ setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareILoveCookiesPanel.svg")));
- for(int i = 0; i < numKnobRows; i++) {
- for(int j = 0; j < numKnobColumns; j++) {
- knobPosX = knobXStart + j*knobRowWidth;
- knobPosY = knobYStart + i*knobColumnHeight + j*2.0;
- index = numKnobColumns*i + j;
+ for (int i = 0; i < numKnobRows; i++) {
+ for (int j = 0; j < numKnobColumns; j++) {
+ knobPosX = knobXStart + j * knobRowWidth;
+ knobPosY = knobYStart + i * knobColumnHeight + j * 2.0;
+ index = numKnobColumns * i + j;
+
+ //label for knob a-z
smallLetterDisplay = new SmallLetterDisplay();
- smallLetterDisplay->box.pos = mm2px(Vec(knobPosX+6,knobPosY-2));
+ smallLetterDisplay->box.pos = mm2px(Vec(knobPosX + 6, knobPosY - 2));
smallLetterDisplay->box.size = Vec(20, 20);
smallLetterDisplay->value = knoblookup[index];
addChild(smallLetterDisplay);
- ParamWidget* knob = ParamWidget::create<SmoothKnob>(mm2px(Vec(knobPosX,knobPosY)), module, ComputerscareILoveCookies::KNOB_PARAM +index, 0.f, 10.0f, 0.0f);
+ ParamWidget* knob = createParam<SmoothKnob>(mm2px(Vec(knobPosX, knobPosY)), module, ComputerscareILoveCookies::KNOB_PARAM + index);
- module->smallLetterKnobs.push_back(knob);
+ //module->smallLetterKnobs.push_back(knob);
addParam(knob);
-
+
}
}
- for(int k = 0; k < numInputRows; k++) {
- for(int m=0; m<numInputColumns; m++) {
- inputPosX = inputXStart + m*inputRowWidth;
- inputPosY = inputYStart + k*inputColumnHeight + m * 2.0;
- inputindex = numInputColumns*k + m;
-
- if(m%2) {
- addInput(Port::create<InPort>(mm2px(Vec(inputPosX , inputPosY)), Port::INPUT, module, ComputerscareILoveCookies::SIGNAL_INPUT + inputindex));
+ for (int k = 0; k < numInputRows; k++) {
+ for (int m = 0; m < numInputColumns; m++) {
+ inputPosX = inputXStart + m * inputRowWidth;
+ inputPosY = inputYStart + k * inputColumnHeight + m * 2.0;
+ inputindex = numInputColumns * k + m;
+
+ if (m % 2) {
+ addInput(createInput<InPort>(mm2px(Vec(inputPosX , inputPosY)), module, ComputerscareILoveCookies::SIGNAL_INPUT + inputindex));
}
else {
- addInput(Port::create<PointingUpPentagonPort>(mm2px(Vec(inputPosX , inputPosY)), Port::INPUT, module, ComputerscareILoveCookies::SIGNAL_INPUT + inputindex));
+ addInput(createInput<PointingUpPentagonPort>(mm2px(Vec(inputPosX , inputPosY)), module, ComputerscareILoveCookies::SIGNAL_INPUT + inputindex));
}
+
+ //label for input A-Z
smallLetterDisplay = new SmallLetterDisplay();
- smallLetterDisplay->box.pos = mm2px(Vec(inputPosX+6,inputPosY-1));
+ smallLetterDisplay->box.pos = mm2px(Vec(inputPosX + 6, inputPosY - 1));
smallLetterDisplay->box.size = Vec(20, 20);
smallLetterDisplay->value = inputlookup[inputindex];
@@ -483,89 +557,131 @@ struct ComputerscareILoveCookiesWidget : ModuleWidget {
}
//global clock input
- addInput(Port::create<InPort>(mm2px(Vec(2+xStart , 0)), Port::INPUT, module, ComputerscareILoveCookies::GLOBAL_CLOCK_INPUT));
+ addInput(createInput<InPort>(mm2px(Vec(2 + xStart , 0)), module, ComputerscareILoveCookies::GLOBAL_CLOCK_INPUT));
//global reset input
- addInput(Port::create<InPort>(mm2px(Vec(12+xStart , 0)), Port::INPUT, module, ComputerscareILoveCookies::GLOBAL_RESET_INPUT));
- addParam(ParamWidget::create<ComputerscareResetButton>(mm2px(Vec(12+xStart , 9)), module, ComputerscareILoveCookies::MANUAL_RESET_PARAM, 0.0, 1.0, 0.0));
- addParam(ParamWidget::create<ComputerscareClockButton>(mm2px(Vec(2+xStart , 9)), module, ComputerscareILoveCookies::MANUAL_CLOCK_PARAM, 0.0, 1.0, 0.0));
-
+ addInput(createInput<InPort>(mm2px(Vec(12 + xStart , 0)), module, ComputerscareILoveCookies::GLOBAL_RESET_INPUT));
+ addParam(createParam<ComputerscareResetButton>(mm2px(Vec(12 + xStart , 9)), module, ComputerscareILoveCookies::MANUAL_RESET_PARAM));
+ addParam(createParam<ComputerscareClockButton>(mm2px(Vec(2 + xStart , 9)), module, ComputerscareILoveCookies::MANUAL_CLOCK_PARAM));
+
- for(int i = 0; i < numFields; i++) {
+ for (int i = 0; i < numFields; i++) {
//first-step output
- addOutput(Port::create<OutPort>(mm2px(Vec(42+xStart , verticalStart + verticalSpacing*i - 11)), Port::OUTPUT, module, ComputerscareILoveCookies::FIRST_STEP_OUTPUT + i));
+ addOutput(createOutput<OutPort>(mm2px(Vec(42 + xStart , verticalStart + verticalSpacing * i - 11)), module, ComputerscareILoveCookies::FIRST_STEP_OUTPUT + i));
//individual output
- addOutput(Port::create<OutPort>(mm2px(Vec(54+xStart , verticalStart + verticalSpacing*i - 11)), Port::OUTPUT, module, ComputerscareILoveCookies::TRG_OUTPUT + i));
+ addOutput(createOutput<OutPort>(mm2px(Vec(54 + xStart , verticalStart + verticalSpacing * i - 11)), module, ComputerscareILoveCookies::TRG_OUTPUT + i));
//individual clock input
- addInput(Port::create<InPort>(mm2px(Vec(2+xStart, verticalStart + verticalSpacing*i-10)), Port::INPUT, module, ComputerscareILoveCookies::CLOCK_INPUT + i));
+ addInput(createInput<InPort>(mm2px(Vec(2 + xStart, verticalStart + verticalSpacing * i - 10)), module, ComputerscareILoveCookies::CLOCK_INPUT + i));
//individual reset input
- addInput(Port::create<InPort>(mm2px(Vec(12+xStart, verticalStart + verticalSpacing*i-10)), Port::INPUT, module, ComputerscareILoveCookies::RESET_INPUT + i));
-
+ addInput(createInput<InPort>(mm2px(Vec(12 + xStart, verticalStart + verticalSpacing * i - 10)), module, ComputerscareILoveCookies::RESET_INPUT + i));
+
//sequence input field
- textField = Widget::create<MyTextFieldCookie>(mm2px(Vec(1+xStart, verticalStart + verticalSpacing*i)));
- textField->setModule(module);
- textField->box.size = mm2px(Vec(63, 7));
+ textField = new CookiesTF2(i);
+ textField->box.pos = mm2px(Vec(1 + xStart, verticalStart + verticalSpacing * i));
+ textField->box.size = mm2px(Vec(63, 7));
textField->multiline = false;
textField->color = nvgRGB(0xC0, 0xE7, 0xDE);
- textField->rowIndex = i;
+ textField->module = module;
addChild(textField);
- module->textFields[i] = textField;
+ cookiesTextFields[i] = textField;
+ //module->textFields[i] = textField;
//active/total steps display
- smallLetterDisplay = new SmallLetterDisplay();
- smallLetterDisplay->box.pos = mm2px(Vec(21+xStart,verticalStart - 9.2 +verticalSpacing*i));
- smallLetterDisplay->box.size = Vec(60, 30);
- smallLetterDisplay->baseColor = COLOR_COMPUTERSCARE_LIGHT_GREEN;
- smallLetterDisplay->value = "?\n?";
- addChild(smallLetterDisplay);
- module->smallLetterDisplays[i] = smallLetterDisplay;
+ cookiesSmallDisplay = new CookiesSmallDisplay(i);
+ cookiesSmallDisplay->box.pos = mm2px(Vec(21 + xStart, verticalStart - 9.2 + verticalSpacing * i));
+ cookiesSmallDisplay->box.size = Vec(60, 30);
+ cookiesSmallDisplay->baseColor = COLOR_COMPUTERSCARE_LIGHT_GREEN;
+ cookiesSmallDisplay->value = "?\n?";
+ addChild(cookiesSmallDisplay);
+ cookiesSmallDisplay->module = module;
+ cookiesSmallDisplays[i] = cookiesSmallDisplay;
//active/total steps display
- currentWorkingStepDisplay = new SmallLetterDisplay();
- currentWorkingStepDisplay->box.pos = mm2px(Vec(11+xStart,verticalStart - 7.0 +verticalSpacing*i));
- currentWorkingStepDisplay->box.size = mm2px(Vec(2,10));
- currentWorkingStepDisplay->fontSize = 26;
- currentWorkingStepDisplay->textAlign = 4;
+ currentWorkingStepDisplay = new CookiesCurrentStepDisplay(i);
+ currentWorkingStepDisplay->box.pos = mm2px(Vec(11 + xStart, verticalStart - 7.0 + verticalSpacing * i));
+ currentWorkingStepDisplay->box.size = mm2px(Vec(2, 10));
+
currentWorkingStepDisplay->value = "?";
+ currentWorkingStepDisplay->module = module;
addChild(currentWorkingStepDisplay);
- module->currentWorkingStepDisplays[i] = currentWorkingStepDisplay;
+ currentWorkingStepDisplays[i] = currentWorkingStepDisplay;
+
+ // module->currentWorkingStepDisplays[i] = currentWorkingStepDisplay;
+
+ addParam(createParam<ComputerscareInvisibleButton>(mm2px(Vec(21 + xStart, verticalStart - 9.9 + verticalSpacing * i)), module, ComputerscareILoveCookies::INDIVIDUAL_RESET_PARAM + i));
+ }
+ cookies = module;
+ }
+ json_t *toJson() override
+ {
+ json_t *rootJ = ModuleWidget::toJson();
- addParam(ParamWidget::create<ComputerscareInvisibleButton>(mm2px(Vec(21+xStart,verticalStart - 9.9 +verticalSpacing*i)), module, ComputerscareILoveCookies::INDIVIDUAL_RESET_PARAM + i, 0.0, 1.0, 0.0));
+ json_t *sequencesJ = json_array();
+ for (int i = 0; i < numFields; i++) {
+ json_t *sequenceJ = json_string(cookiesTextFields[i]->text.c_str());
+ json_array_append_new(sequencesJ, sequenceJ);
+ }
+ json_object_set_new(rootJ, "sequences", sequencesJ);
+
+ return rootJ;
+ }
+
+ void fromJson(json_t *rootJ) override
+ { std::string val;
+ ModuleWidget::fromJson(rootJ);
+ json_t *sequencesJ = json_object_get(rootJ, "sequences");
+ if (sequencesJ) {
+ for (int i = 0; i < numFields; i++) {
+ json_t *sequenceJ = json_array_get(sequencesJ, i);
+ if (sequenceJ)
+ val = json_string_value(sequenceJ);
+ cookiesTextFields[i]->text = val;
+ cookies->currentFormula[i] = val;
+ }
}
- module->onCreate();
}
- MyTextFieldCookie* textField;
+
+ ComputerscareILoveCookies *cookies;
+
+ CookiesTF2 *textField;
+ CookiesTF2 *cookiesTextFields[numFields];
+
+
+
+ CookiesSmallDisplay* cookiesSmallDisplay;
+ CookiesSmallDisplay* cookiesSmallDisplays[numFields];
+
SmallLetterDisplay* smallLetterDisplay;
- SmallLetterDisplay* currentWorkingStepDisplay;
- Menu *createContextMenu() override;
+
+ CookiesCurrentStepDisplay* currentWorkingStepDisplay;
+ CookiesCurrentStepDisplay* currentWorkingStepDisplays[numFields];
+
+
+ void appendContextMenu(Menu *menu) override;
};
-Menu *ComputerscareILoveCookiesWidget::createContextMenu() {
- Menu *menu = ModuleWidget::createContextMenu();
- ComputerscareILoveCookies *cookies = dynamic_cast<ComputerscareILoveCookies*>(module);
- assert(cookies);
+
+void ComputerscareILoveCookiesWidget::appendContextMenu(Menu *menu) {
+ ComputerscareILoveCookies *cookiesModule = dynamic_cast<ComputerscareILoveCookies *>(this->module);
MenuLabel *spacerLabel = new MenuLabel();
menu->addChild(spacerLabel);
-
+
MenuLabel *modeLabel = new MenuLabel();
modeLabel->text = "Premium Randomizations";
menu->addChild(modeLabel);
-
+
WiggleKnobsMenuItem *wiggleKnobsMenuItem = new WiggleKnobsMenuItem();
wiggleKnobsMenuItem->text = "Wiggle Knobs";
- wiggleKnobsMenuItem->cookies = cookies;
+ wiggleKnobsMenuItem->cookies = cookiesModule;
menu->addChild(wiggleKnobsMenuItem);
RandomizeTextFieldsMenuItem *randomizeTextFieldsMenuItem = new RandomizeTextFieldsMenuItem();
randomizeTextFieldsMenuItem->text = "Randomize Text Fields";
- randomizeTextFieldsMenuItem->cookies = cookies;
+ randomizeTextFieldsMenuItem->cookies = cookiesModule;
menu->addChild(randomizeTextFieldsMenuItem);
-
-
- return menu;
-}
-Model *modelComputerscareILoveCookies = Model::create<ComputerscareILoveCookies, ComputerscareILoveCookiesWidget>("computerscare", "computerscare-i-love-cookies", "I Love Cookies", SEQUENCER_TAG, UTILITY_TAG);
+};
+Model *modelComputerscareILoveCookies = createModel<ComputerscareILoveCookies, ComputerscareILoveCookiesWidget>("computerscare-i-love-cookies");
diff --git a/src/ComputerscareIso.cpp b/src/ComputerscareIso.cpp
@@ -0,0 +1,147 @@
+#include "Computerscare.hpp"
+
+struct ComputerscareIso;
+
+const int numKnobs = 16;
+
+const int numToggles = 16;
+const int numOutputs = 16;
+
+struct ComputerscareIso : Module {
+ int counter = 0;
+ ComputerscareSVGPanel* panelRef;
+ enum ParamIds {
+ KNOB,
+ TOGGLES = KNOB + numKnobs,
+ NUM_PARAMS = TOGGLES+numToggles
+
+ };
+ enum InputIds {
+ CHANNEL_INPUT,
+ NUM_INPUTS
+ };
+ enum OutputIds {
+ POLY_OUTPUT,
+ NUM_OUTPUTS=POLY_OUTPUT + numOutputs
+ };
+ enum LightIds {
+ NUM_LIGHTS
+ };
+
+
+ ComputerscareIso() {
+
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+
+ for (int i = 0; i < numKnobs; i++) {
+ configParam(KNOB + i, 0.0f, 10.0f, 0.0f);
+ configParam(KNOB+i, 0.f, 10.f, 0.f, "Channel "+std::to_string(i+1) + " Voltage", " Volts");
+ }
+ configParam(TOGGLES, 0.0f, 1.0f, 0.0f);
+ outputs[POLY_OUTPUT].setChannels(16);
+ }
+ void process(const ProcessArgs &args) override {
+ counter++;
+ if(counter > 5012) {
+ //printf("%f \n",random::uniform());
+ counter = 0;
+ //rect4032
+ //south facing high wall
+ }
+ for (int i = 0; i < numKnobs; i++) {
+ outputs[POLY_OUTPUT].setVoltage(params[KNOB+i].getValue(),i);
+ }
+ }
+
+};
+
+struct ComputerscareIsoWidget : ModuleWidget {
+ ComputerscareIsoWidget(ComputerscareIso *module) {
+
+ setModule(module);
+ //setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareIsoPanel.svg")));
+
+ float outputY = 334;
+ box.size = Vec(15*10, 380);
+ {
+ ComputerscareSVGPanel *panel = new ComputerscareSVGPanel();
+ panel->box.size = box.size;
+ panel->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance,"res/ComputerscareIsoPanel.svg")));
+
+ //module->panelRef = panel;
+
+ addChild(panel);
+
+ }
+
+ addLabeledKnob("1",100,30,module,0,2);
+ addLabeledKnob("2",30,80,module,1,2);
+
+ addLabeledKnob("3",30, 157,module,2,1);
+ addLabeledKnob("4",62, 157, module, 3,1);
+
+
+ addLabeledKnob("5",98, 107, module,4,0);
+ addLabeledKnob("6",98, 140, module,5,0);
+ addLabeledKnob("7",98, 176, module,6,0);
+ addLabeledKnob("8",98, 205, module,7,0);
+
+
+ addLabeledKnob("9",28, 197, module,8,2);
+ addLabeledKnob("10",88, 277, module,9,2);
+
+ addLabeledKnob("11",28, 237, module,10,1);
+ addLabeledKnob("12",28, 277, module,11,1);
+ addLabeledKnob("13",28, 317, module,12,1);
+ addLabeledKnob("14",68, 237, module,13,1);
+ addLabeledKnob("15",68, 277, module,14,1);
+ addLabeledKnob("16",68, 317, module,15,1);
+
+ addOutput(createOutput<OutPort>(Vec(33, outputY), module, ComputerscareIso::POLY_OUTPUT));
+ addOutput(createOutput<PointingUpPentagonPort>(Vec(63, outputY), module, ComputerscareIso::POLY_OUTPUT+1));
+ addOutput(createOutput<InPort>(Vec(93, outputY), module, ComputerscareIso::POLY_OUTPUT+2));
+
+}
+void addLabeledKnob(std::string label,int x, int y, ComputerscareIso *module,int index,int type) {
+ smallLetterDisplay = new SmallLetterDisplay();
+ smallLetterDisplay->box.size = Vec(60, 30);
+ smallLetterDisplay->value = label;
+ if(type == 0) {
+ addParam(createParam<SmoothKnob>(Vec(x,y),module,ComputerscareIso::KNOB+index));
+ smallLetterDisplay->box.pos = Vec(x+22,y+2);
+ }
+ else if(type ==1) {
+ addParam(createParam<SmallKnob>(Vec(x,y),module,ComputerscareIso::KNOB+index));
+ smallLetterDisplay->box.pos = Vec(x+12,y-10);
+ }
+ else if(type==2) {
+ addParam(createParam<BigSmoothKnob>(Vec(x,y),module,ComputerscareIso::KNOB+index));
+ smallLetterDisplay->box.pos = Vec(x+22,y-12);
+ }
+ else if (type==3) {
+ addParam(createParam<LrgKnob>(Vec(x,y),module,ComputerscareIso::KNOB+index));
+ smallLetterDisplay->box.pos = Vec(x+22,y-12);
+ }
+ else if (type==4) {
+ addParam(createParam<BigSmoothKnob>(Vec(x,y),module,ComputerscareIso::KNOB+index));
+ smallLetterDisplay->box.pos = Vec(x+22,y-12);
+ }
+
+ else {
+ addParam(createParam<MediumSnapKnob>(Vec(x,y),module,ComputerscareIso::KNOB+index));
+ smallLetterDisplay->box.pos = Vec(x+12,y-10);
+ }
+ addChild(smallLetterDisplay);
+
+}
+SmallLetterDisplay* smallLetterDisplay;
+};
+
+
+// Specify the Module and ModuleWidget subclass, human-readable
+// author name for categorization per plugin, module slug (should never
+// change), human-readable module name, and any number of tags
+// (found in `include/tags.hpp`) separated by commas.
+
+//Model *modelComputerscareIso = Model::create<ComputerscareIso, ComputerscareIsoWidget>("computerscare", "computerscare-iso", "Isopig", UTILITY_TAG);
+Model *modelComputerscareIso = createModel<ComputerscareIso, ComputerscareIsoWidget>("Isopig");
diff --git a/src/ComputerscareKnolyPobs.cpp b/src/ComputerscareKnolyPobs.cpp
@@ -0,0 +1,105 @@
+#include "Computerscare.hpp"
+
+struct ComputerscareKnolyPobs;
+
+const int numKnobs = 16;
+
+const int numToggles = 16;
+const int numOutputs = 16;
+
+struct ComputerscareKnolyPobs : Module {
+ int counter = 0;
+ ComputerscareSVGPanel* panelRef;
+ enum ParamIds {
+ KNOB,
+ TOGGLES = KNOB + numKnobs,
+ NUM_PARAMS = TOGGLES + numToggles
+
+ };
+ enum InputIds {
+ CHANNEL_INPUT,
+ NUM_INPUTS
+ };
+ enum OutputIds {
+ POLY_OUTPUT,
+ NUM_OUTPUTS = POLY_OUTPUT + numOutputs
+ };
+ enum LightIds {
+ NUM_LIGHTS
+ };
+
+
+ ComputerscareKnolyPobs() {
+
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+
+ for (int i = 0; i < numKnobs; i++) {
+ configParam(KNOB + i, 0.0f, 10.0f, 0.0f);
+ configParam(KNOB + i, 0.f, 10.f, 0.f, "Channel " + std::to_string(i + 1) + " Voltage", " Volts");
+ }
+
+ }
+ void process(const ProcessArgs &args) override {
+ counter++;
+ if (counter > 5012) {
+ //printf("%f \n",random::uniform());
+ counter = 0;
+ //rect4032
+ //south facing high wall
+ }
+ outputs[POLY_OUTPUT].setChannels(16);
+ for (int i = 0; i < numKnobs; i++) {
+ outputs[POLY_OUTPUT].setVoltage(params[KNOB + i].getValue(), i);
+ }
+ }
+
+};
+
+struct ComputerscareKnolyPobsWidget : ModuleWidget {
+ ComputerscareKnolyPobsWidget(ComputerscareKnolyPobs *module) {
+
+ setModule(module);
+ //setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareKnolyPobsPanel.svg")));
+ box.size = Vec(4 * 15, 380);
+ {
+ ComputerscareSVGPanel *panel = new ComputerscareSVGPanel();
+ panel->box.size = box.size;
+ panel->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareKnolyPobsPanel.svg")));
+
+ //module->panelRef = panel;
+
+ addChild(panel);
+
+ }
+ float xx;
+ float yy;
+ for (int i = 0; i < numKnobs; i++) {
+ xx = 1.4f + 24.3 * (i-i % 8)/8;
+ yy = 64 + 37.5 * (i % 8) + 14.3 * (i - i % 8)/8;
+ addLabeledKnob(std::to_string(i + 1), xx, yy, module, i, (i-i%8)*1.2-2, 0);
+ }
+
+
+
+ addOutput(createOutput<PointingUpPentagonPort>(Vec(28, 24), module, ComputerscareKnolyPobs::POLY_OUTPUT));
+
+ }
+ void addLabeledKnob(std::string label, int x, int y, ComputerscareKnolyPobs *module, int index, float labelDx, float labelDy) {
+
+ smallLetterDisplay = new SmallLetterDisplay();
+ smallLetterDisplay->box.size = Vec(5, 10);
+ smallLetterDisplay->fontSize = 16;
+ smallLetterDisplay->value = label;
+ smallLetterDisplay->textAlign = 1;
+
+ addParam(createParam<SmoothKnob>(Vec(x, y), module, ComputerscareKnolyPobs::KNOB + index));
+ smallLetterDisplay->box.pos = Vec(x + labelDx, y - 12 + labelDy);
+
+
+ addChild(smallLetterDisplay);
+
+ }
+ SmallLetterDisplay* smallLetterDisplay;
+};
+
+Model *modelComputerscareKnolyPobs = createModel<ComputerscareKnolyPobs, ComputerscareKnolyPobsWidget>("computerscare-knolypobs");
diff --git a/src/ComputerscareLaundrySoup.cpp b/src/ComputerscareLaundrySoup.cpp
@@ -9,204 +9,158 @@
#include <iomanip>
struct ComputerscareLaundrySoup;
+struct LaundryTextField;
+struct LaundryTF2;
+struct LaundrySmallDisplay;
+struct ComputerscareLaundrySoupWidget;
const int numFields = 6;
-class MyTextField : public LedDisplayTextField {
+/*class MyTextField : public LedDisplayTextField {
public:
int fontSize = 16;
- int rowIndex=0;
+ int rowIndex = 0;
bool inError = false;
MyTextField() : LedDisplayTextField() {}
void setModule(ComputerscareLaundrySoup* _module) {
module = _module;
}
- virtual void onTextChange() override;
+ //virtual void onTextChange() override;
int getTextPosition(Vec mousePos) override {
bndSetFont(font->handle);
int textPos = bndIconLabelTextPosition(gVg, textOffset.x, textOffset.y,
- box.size.x - 2*textOffset.x, box.size.y - 2*textOffset.y,
- -1, fontSize, text.c_str(), mousePos.x, mousePos.y);
+ box.size.x - 2 * textOffset.x, box.size.y - 2 * textOffset.y,
+ -1, fontSize, text.c_str(), mousePos.x, mousePos.y);
bndSetFont(gGuiFont->handle);
return textPos;
}
- void draw(NVGcontext *vg) override {
- nvgScissor(vg, 0, 0, box.size.x, box.size.y);
-
- // Background
- nvgFontSize(vg, fontSize);
- nvgBeginPath(vg);
- nvgRoundedRect(vg, 0, 0, box.size.x, box.size.y, 10.0);
-
- if(inError) {
- nvgFillColor(vg, COLOR_COMPUTERSCARE_PINK);
- }
- else {
- nvgFillColor(vg, nvgRGB(0x00, 0x00, 0x00));
- }
- nvgFill(vg);
-
- // Text
- if (font->handle >= 0) {
- bndSetFont(font->handle);
-
- NVGcolor highlightColor = color;
- highlightColor.a = 0.5;
- int begin = min(cursor, selection);
- int end = (this == gFocusedWidget) ? max(cursor, selection) : -1;
- //bndTextField(vg,textOffset.x,textOffset.y+2, box.size.x, box.size.y, -1, 0, 0, const char *text, int cbegin, int cend);
- bndIconLabelCaret(vg, textOffset.x, textOffset.y - 3,
- box.size.x - 2*textOffset.x, box.size.y - 2*textOffset.y,
- -1, color, fontSize, text.c_str(), highlightColor, begin, end);
-
- bndSetFont(gGuiFont->handle);
- }
+*/
- nvgResetScissor(vg);
- };
+/*void MyTextField::onTextChange() {
+ std::string value = module->textFields[this->rowIndex]->text;
+ LaundrySoupSequence lss = LaundrySoupSequence(value);
-private:
- ComputerscareLaundrySoup* module;
-};
+ if(!lss.inError && matchParens(value)) {
+ module->textFields[this->rowIndex]->inError=false;
+ module->setNextAbsoluteSequence(this->rowIndex);
+ module->updateDisplayBlink(this->rowIndex);
+ }
+ else {
+ module->textFields[this->rowIndex]->inError=true;
+ }
+}*/
struct ComputerscareLaundrySoup : Module {
- enum ParamIds {
- MANUAL_CLOCK_PARAM,
- MANUAL_RESET_PARAM,
- INDIVIDUAL_RESET_PARAM,
- NUM_PARAMS = INDIVIDUAL_RESET_PARAM + numFields
- };
- enum InputIds {
+ enum ParamIds {
+ MANUAL_CLOCK_PARAM,
+ MANUAL_RESET_PARAM,
+ INDIVIDUAL_RESET_PARAM,
+ NUM_PARAMS = INDIVIDUAL_RESET_PARAM + numFields
+ };
+ enum InputIds {
GLOBAL_CLOCK_INPUT,
GLOBAL_RESET_INPUT,
CLOCK_INPUT,
RESET_INPUT = CLOCK_INPUT + numFields,
- NUM_INPUTS = RESET_INPUT + numFields
- };
- enum OutputIds {
+ NUM_INPUTS = RESET_INPUT + numFields
+ };
+ enum OutputIds {
TRG_OUTPUT,
FIRST_STEP_OUTPUT = TRG_OUTPUT + numFields,
- NUM_OUTPUTS = FIRST_STEP_OUTPUT + numFields
- };
+ NUM_OUTPUTS = FIRST_STEP_OUTPUT + numFields
+ };
enum LightIds {
- SWITCH_LIGHTS,
+ SWITCH_LIGHTS,
NUM_LIGHTS
- };
+ };
+
+ rack::dsp::SchmittTrigger globalClockTrigger;
+ rack::dsp::SchmittTrigger globalResetTriggerInput;
- SchmittTrigger globalClockTrigger;
- SchmittTrigger globalResetTriggerInput;
+ rack::dsp::SchmittTrigger globalManualClockTrigger;
+ rack::dsp::SchmittTrigger globalManualResetTrigger;
- SchmittTrigger globalManualClockTrigger;
- SchmittTrigger globalManualResetTrigger;
+ rack::dsp::SchmittTrigger clockTriggers[numFields];
+ rack::dsp::SchmittTrigger resetTriggers[numFields];
- SchmittTrigger clockTriggers[numFields];
- SchmittTrigger resetTriggers[numFields];
+ LaundryTF2* textFields[numFields];
+ LaundrySmallDisplay* smallLetterDisplays[numFields];
- MyTextField* textFields[numFields];
- SmallLetterDisplay* smallLetterDisplays[numFields];
+ std::string currentFormula[numFields];
+ std::string lastValue[numFields];
- SchmittTrigger manualResetTriggers[numFields];
+ rack::dsp::SchmittTrigger manualResetTriggers[numFields];
LaundrySoupSequence laundrySequences[numFields];
bool activeStep[numFields] = {false};
bool shouldChange[numFields] = {false};
-
-ComputerscareLaundrySoup() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
- void step() override;
+ bool changeImminent[numFields] = {false};
+ bool manualSet[numFields] = {false};
- json_t *toJson() override
- {
- json_t *rootJ = json_object();
-
- json_t *sequencesJ = json_array();
+ ComputerscareLaundrySoup() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
for (int i = 0; i < numFields; i++) {
- json_t *sequenceJ = json_string(textFields[i]->text.c_str());
- json_array_append_new(sequencesJ, sequenceJ);
- }
- json_object_set_new(rootJ, "sequences", sequencesJ);
-
- return rootJ;
- }
-
- void fromJson(json_t *rootJ) override
- {
- json_t *sequencesJ = json_object_get(rootJ, "sequences");
- if (sequencesJ) {
- for (int i = 0; i < numFields; i++) {
+ currentFormula[i] = "";
+ lastValue[i] = "";
+ setNextAbsoluteSequence(i);
+ checkIfShouldChange(i);
+ resetOneOfThem(i);
- json_t *sequenceJ = json_array_get(sequencesJ, i);
- if (sequenceJ)
- textFields[i]->text = json_string_value(sequenceJ);
- }
}
- onCreate();
}
-
+ void process(const ProcessArgs &args) override;
+
+
+
void onRandomize() override {
randomizeAllFields();
}
void randomizeAllFields() {
- std::string mainlookup ="111111111111111111122223333333344444444444444445556667778888888888888999";
+ std::string mainlookup = "111111111111111111122223333333344444444444444445556667778888888888888999";
std::string string = "";
std::string randchar = "";
int length = 0;
for (int i = 0; i < numFields; i++) {
- length = rand() % 12 + 1;
+ length = floor(random::uniform() * 12) + 1;
string = "";
- for(int j = 0; j < length; j++) {
- randchar = mainlookup[rand() % mainlookup.size()];
+ for (int j = 0; j < length; j++) {
+ randchar = mainlookup[floor(random::uniform() * mainlookup.size())];
string = string + randchar;
}
- textFields[i]->text = string;
+ currentFormula[i] = string;
+ manualSet[i] = true;
setNextAbsoluteSequence(i);
}
}
-void setNextAbsoluteSequence(int index) {
- shouldChange[index] = true;
-}
-void setAbsoluteSequenceFromQueue(int index) {
- LaundrySoupSequence lss = LaundrySoupSequence(textFields[index]->text);
- laundrySequences[index] = lss;
- if(!lss.inError) {
- laundrySequences[index] = lss;
- //laundrySequences[index].print();
- textFields[index]->inError=false;
- }
- else {
- printf("ERROR\n");
- //lss.print();
- textFields[index]->inError=true;
- }
-}
-void checkIfShouldChange(int index) {
- if(shouldChange[index]) {
- setAbsoluteSequenceFromQueue(index);
- shouldChange[index] = false;
- updateDisplayBlink(index);
+ void setNextAbsoluteSequence(int index) {
+ shouldChange[index] = true;
}
-}
-void updateDisplayBlink(int index) {
- smallLetterDisplays[index]->blink = shouldChange[index];
-}
-void onCreate () override
- {
- for(int i = 0; i < numFields; i++) {
- setNextAbsoluteSequence(i);
- checkIfShouldChange(i);
- resetOneOfThem(i);
+ void setAbsoluteSequenceFromQueue(int index) {
+ LaundrySoupSequence lss = LaundrySoupSequence(currentFormula[index]);
+ laundrySequences[index] = lss;
+ if (!lss.inError) {
+ laundrySequences[index] = lss;
+ printf("not in error channel %i\n", index);
+ laundrySequences[index].print();
+ }
+ else {
+ printf("ERROR\n");
+ lss.print();
+ //textFields[index]->inError = true;
}
}
-
- void onReset () override
- {
- onCreate();
+ void checkIfShouldChange(int index) {
+ if (shouldChange[index]) {
+ setAbsoluteSequenceFromQueue(index);
+ shouldChange[index] = false;
+ }
}
/*
@@ -220,24 +174,23 @@ void onCreate () override
*/
void incrementInternalStep(int i) {
laundrySequences[i].incrementAndCheck();
- if(laundrySequences[i].readHead == 0) {
- this->setChangeImminent(i,false);
+ if (laundrySequences[i].readHead == 0) {
+ this->setChangeImminent(i, false);
}
- this->smallLetterDisplays[i]->value = this->getDisplayString(i);
}
std::string getDisplayString(int index) {
std::string lhs = std::to_string(this->laundrySequences[index].readHead + 1);
std::string rhs = std::to_string(this->laundrySequences[index].numSteps);
- padTo(lhs, 3,' ');
- padTo(rhs, 3,' ');
-
+ padTo(lhs, 3, ' ');
+ padTo(rhs, 3, ' ');
+
std::string val = lhs + "\n" + rhs;
return val;
}
- void setChangeImminent(int i,bool value) {
- this->smallLetterDisplays[i]->doubleblink = value;
+ void setChangeImminent(int i, bool value) {
+ changeImminent[i] = value;
}
void resetOneOfThem(int i) {
this->laundrySequences[i].readHead = -1;
@@ -245,150 +198,240 @@ void onCreate () override
};
-void ComputerscareLaundrySoup::step() {
+void ComputerscareLaundrySoup::process(const ProcessArgs &args) {
bool globalGateIn = globalClockTrigger.isHigh();
bool atFirstStep = false;
bool atLastStepAfterIncrement = false;
- bool clocked = globalClockTrigger.process(inputs[GLOBAL_CLOCK_INPUT].value);
+ bool clocked = globalClockTrigger.process(inputs[GLOBAL_CLOCK_INPUT].getVoltage());
bool currentTriggerIsHigh = false;
bool currentTriggerClocked = false;
- bool globalManualResetClicked = globalManualResetTrigger.process(params[MANUAL_RESET_PARAM].value);
- bool globalManualClockClicked = globalManualClockTrigger.process(params[MANUAL_CLOCK_PARAM].value);
+ bool globalManualResetClicked = globalManualResetTrigger.process(params[MANUAL_RESET_PARAM].getValue());
+ bool globalManualClockClicked = globalManualClockTrigger.process(params[MANUAL_CLOCK_PARAM].getValue());
- bool globalResetTriggered = globalResetTriggerInput.process(inputs[GLOBAL_RESET_INPUT].value / 2.f);
+ bool globalResetTriggered = globalResetTriggerInput.process(inputs[GLOBAL_RESET_INPUT].getVoltage() / 2.f);
bool currentResetActive = false;
bool currentResetTriggered = false;
bool currentManualResetClicked;
- for(int i = 0; i < numFields; i++) {
- currentResetActive = inputs[RESET_INPUT + i].active;
- currentResetTriggered = resetTriggers[i].process(inputs[RESET_INPUT+i].value / 2.f);
+ for (int i = 0; i < numFields; i++) {
+ currentResetActive = inputs[RESET_INPUT + i].isConnected();
+ currentResetTriggered = resetTriggers[i].process(inputs[RESET_INPUT + i].getVoltage() / 2.f);
currentTriggerIsHigh = clockTriggers[i].isHigh();
- currentTriggerClocked = clockTriggers[i].process(inputs[CLOCK_INPUT + i].value);
+ currentTriggerClocked = clockTriggers[i].process(inputs[CLOCK_INPUT + i].getVoltage());
- currentManualResetClicked = manualResetTriggers[i].process(params[INDIVIDUAL_RESET_PARAM + i].value);
+ currentManualResetClicked = manualResetTriggers[i].process(params[INDIVIDUAL_RESET_PARAM + i].getValue());
- if(this->laundrySequences[i].numSteps > 0) {
- if (inputs[CLOCK_INPUT + i].active) {
- if(currentTriggerClocked || globalManualClockClicked) {
+ if (this->laundrySequences[i].numSteps > 0) {
+ if (inputs[CLOCK_INPUT + i].isConnected()) {
+ if (currentTriggerClocked || globalManualClockClicked) {
incrementInternalStep(i);
activeStep[i] = (this->laundrySequences[i].peekWorkingStep() == 1);
atLastStepAfterIncrement = this->laundrySequences[i].atLastStep();
- if(atLastStepAfterIncrement) checkIfShouldChange(i);
+ if (atLastStepAfterIncrement) checkIfShouldChange(i);
}
}
else {
- if ((inputs[GLOBAL_CLOCK_INPUT].active && clocked) || globalManualClockClicked) {
+ if ((inputs[GLOBAL_CLOCK_INPUT].isConnected() && clocked) || globalManualClockClicked) {
incrementInternalStep(i);
activeStep[i] = (this->laundrySequences[i].peekWorkingStep() == 1);
atLastStepAfterIncrement = this->laundrySequences[i].atLastStep();
- if(atLastStepAfterIncrement) checkIfShouldChange(i);
+ if (atLastStepAfterIncrement) checkIfShouldChange(i);
}
}
atFirstStep = (this->laundrySequences[i].readHead == 0);
- if(globalManualResetClicked || currentManualResetClicked) {
- setChangeImminent(i,true);
+ if (globalManualResetClicked || currentManualResetClicked) {
+ setChangeImminent(i, true);
checkIfShouldChange(i);
resetOneOfThem(i);
}
- if( (currentResetActive && currentResetTriggered) || (!currentResetActive && globalResetTriggered)) {
-
- setChangeImminent(i,false);
+ if ( (currentResetActive && currentResetTriggered) || (!currentResetActive && globalResetTriggered)) {
+
+ setChangeImminent(i, false);
checkIfShouldChange(i);
resetOneOfThem(i);
}
else {
- if(atFirstStep && !currentResetActive && !inputs[GLOBAL_RESET_INPUT].active) {
+ if (atFirstStep && !currentResetActive && !inputs[GLOBAL_RESET_INPUT].isConnected()) {
//checkIfShouldChange(i);
}
}
}
- if(inputs[CLOCK_INPUT + i].active) {
- outputs[TRG_OUTPUT + i].value = (currentTriggerIsHigh && activeStep[i]) ? 10.0f : 0.0f;
- outputs[FIRST_STEP_OUTPUT + i].value = (currentTriggerIsHigh && atFirstStep) ? 10.f : 0.0f;
+ if (inputs[CLOCK_INPUT + i].isConnected()) {
+ outputs[TRG_OUTPUT + i].setVoltage((currentTriggerIsHigh && activeStep[i]) ? 10.0f : 0.0f);
+ outputs[FIRST_STEP_OUTPUT + i].setVoltage((currentTriggerIsHigh && atFirstStep) ? 10.f : 0.0f);
}
else {
- outputs[TRG_OUTPUT + i].value = (globalGateIn && activeStep[i]) ? 10.0f : 0.0f;
- outputs[FIRST_STEP_OUTPUT + i].value = (globalGateIn && atFirstStep) ? 10.f : 0.0f;
+ outputs[TRG_OUTPUT + i].setVoltage((globalGateIn && activeStep[i]) ? 10.0f : 0.0f);
+ outputs[FIRST_STEP_OUTPUT + i].setVoltage((globalGateIn && atFirstStep) ? 10.f : 0.0f);
}
}
}
+struct LaundryTF2 : ComputerscareTextField
+{
+ ComputerscareLaundrySoup *module;
+ //int fontSize = 16;
+ int rowIndex = 0;
-void MyTextField::onTextChange() {
- std::string value = module->textFields[this->rowIndex]->text;
- LaundrySoupSequence lss = LaundrySoupSequence(value);
-
- if(!lss.inError && matchParens(value)) {
- module->textFields[this->rowIndex]->inError=false;
- module->setNextAbsoluteSequence(this->rowIndex);
- module->updateDisplayBlink(this->rowIndex);
+ LaundryTF2(int i)
+ {
+ rowIndex = i;
+ ComputerscareTextField();
+ };
+ void draw(const DrawArgs &args) override
+ {
+ if (module)
+ {
+ if (module->manualSet[rowIndex]) {
+ text = module->currentFormula[rowIndex];
+ module->manualSet[rowIndex] = false;
+ }
+ std::string value = text.c_str();
+ if (value != module->lastValue[rowIndex])
+ {
+ LaundrySoupSequence lss = LaundrySoupSequence(value);
+ module->lastValue[rowIndex] = value;
+ if (!lss.inError && matchParens(value)) {
+ inError = false;
+ module->currentFormula[rowIndex] = value;
+ module->setNextAbsoluteSequence(this->rowIndex);
+ }
+ else {
+ inError = true;
+ }
+ }
+ }
+ ComputerscareTextField::draw(args);
}
- else {
- module->textFields[this->rowIndex]->inError=true;
+
+ //void draw(const DrawArgs &args) override;
+ //int getTextPosition(math::Vec mousePos) override;
+};
+
+struct LaundrySmallDisplay : SmallLetterDisplay
+{
+ ComputerscareLaundrySoup *module;
+ int type;
+ int index;
+ LaundrySmallDisplay(int i)
+ {
+ index = i;
+ SmallLetterDisplay();
+ };
+ void draw(const DrawArgs &args)
+ {
+ //this->setNumDivisionsString();
+ if (module)
+ {
+ value = module->getDisplayString(index);
+ blink = module->shouldChange[index];
+ doubleblink = module->changeImminent[index];
+ SmallLetterDisplay::draw(args);
+ }
}
-}
+};
struct ComputerscareLaundrySoupWidget : ModuleWidget {
double verticalSpacing = 18.4;
int verticalStart = 22;
- ComputerscareLaundrySoupWidget(ComputerscareLaundrySoup *module) : ModuleWidget(module) {
- setPanel(SVG::load(assetPlugin(plugin, "res/ComputerscareLaundrySoupPanel.svg")));
+ ComputerscareLaundrySoupWidget(ComputerscareLaundrySoup *module) {
+ setModule(module);
+ setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareLaundrySoupPanel.svg")));
//global clock input
- addInput(Port::create<InPort>(mm2px(Vec(2 , 0)), Port::INPUT, module, ComputerscareLaundrySoup::GLOBAL_CLOCK_INPUT));
+ addInput(createInput<InPort>(mm2px(Vec(2 , 0)), module, ComputerscareLaundrySoup::GLOBAL_CLOCK_INPUT));
//global reset input
- addInput(Port::create<InPort>(mm2px(Vec(12 , 0)), Port::INPUT, module, ComputerscareLaundrySoup::GLOBAL_RESET_INPUT));
-
- addParam(ParamWidget::create<ComputerscareClockButton>(mm2px(Vec(2 , 8)), module, ComputerscareLaundrySoup::MANUAL_CLOCK_PARAM, 0.0, 1.0, 0.0));
- addParam(ParamWidget::create<ComputerscareResetButton>(mm2px(Vec(12 , 8)), module, ComputerscareLaundrySoup::MANUAL_RESET_PARAM, 0.0, 1.0, 0.0));
-
- for(int i = 0; i < numFields; i++) {
+ addInput(createInput<InPort>(mm2px(Vec(12 , 0)), module, ComputerscareLaundrySoup::GLOBAL_RESET_INPUT));
+
+ //momentary clock and reset buttons
+ addParam(createParam<ComputerscareClockButton>(mm2px(Vec(2 , 8)), module, ComputerscareLaundrySoup::MANUAL_CLOCK_PARAM));
+ addParam(createParam<ComputerscareResetButton>(mm2px(Vec(12 , 8)), module, ComputerscareLaundrySoup::MANUAL_RESET_PARAM));
+
+ for (int i = 0; i < numFields; i++) {
//first-step output
- addOutput(Port::create<OutPort>(mm2px(Vec(42 , verticalStart + verticalSpacing*i - 11)), Port::OUTPUT, module, ComputerscareLaundrySoup::FIRST_STEP_OUTPUT + i));
+ addOutput(createOutput<OutPort>(mm2px(Vec(42 , verticalStart + verticalSpacing * i - 11)), module, ComputerscareLaundrySoup::FIRST_STEP_OUTPUT + i));
//individual output
- addOutput(Port::create<OutPort>(mm2px(Vec(54 , verticalStart + verticalSpacing*i - 11)), Port::OUTPUT, module, ComputerscareLaundrySoup::TRG_OUTPUT + i));
+ addOutput(createOutput<OutPort>(mm2px(Vec(54 , verticalStart + verticalSpacing * i - 11)), module, ComputerscareLaundrySoup::TRG_OUTPUT + i));
//individual clock input
- addInput(Port::create<InPort>(mm2px(Vec(2, verticalStart + verticalSpacing*i-10)), Port::INPUT, module, ComputerscareLaundrySoup::CLOCK_INPUT + i));
+ addInput(createInput<InPort>(mm2px(Vec(2, verticalStart + verticalSpacing * i - 10)), module, ComputerscareLaundrySoup::CLOCK_INPUT + i));
//individual reset input
- addInput(Port::create<InPort>(mm2px(Vec(12, verticalStart + verticalSpacing*i-10)), Port::INPUT, module, ComputerscareLaundrySoup::RESET_INPUT + i));
-
- //sequence input field
- textField = Widget::create<MyTextField>(mm2px(Vec(1, verticalStart + verticalSpacing*i)));
- textField->setModule(module);
- textField->box.size = mm2px(Vec(63, 7));
- textField->rowIndex = i;
- textField->multiline = false;
- textField->color = nvgRGB(0xC0, 0xE7, 0xDE);
- addChild(textField);
- module->textFields[i] = textField;
+ addInput(createInput<InPort>(mm2px(Vec(12, verticalStart + verticalSpacing * i - 10)), module, ComputerscareLaundrySoup::RESET_INPUT + i));
+
+ textFieldTemp = new LaundryTF2(i);
+ textFieldTemp->box.pos = mm2px(Vec(1, verticalStart + verticalSpacing * i));
+ textFieldTemp->module = module;
+ textFieldTemp->box.size = mm2px(Vec(64, 7));
+ textFieldTemp->multiline = false;
+ textFieldTemp->color = nvgRGB(0xC0, 0xE7, 0xDE);
+ textFieldTemp->text = "";
+
+ laundryTextFields[i] = textFieldTemp;
+ addChild(textFieldTemp);
+
// active / total steps display
- smallLetterDisplay = new SmallLetterDisplay();
- smallLetterDisplay->box.pos = mm2px(Vec(22,verticalStart - 9.2 +verticalSpacing*i));
+ smallLetterDisplay = new LaundrySmallDisplay(i);
+ smallLetterDisplay->box.pos = mm2px(Vec(22, verticalStart - 9.2 + verticalSpacing * i));
smallLetterDisplay->box.size = Vec(60, 30);
smallLetterDisplay->value = std::to_string(3);
smallLetterDisplay->baseColor = COLOR_COMPUTERSCARE_LIGHT_GREEN;
+ smallLetterDisplay->module = module;
addChild(smallLetterDisplay);
- module->smallLetterDisplays[i] = smallLetterDisplay;
+ laundrySmallDisplays[i] = smallLetterDisplay;
- addParam(ParamWidget::create<ComputerscareInvisibleButton>(mm2px(Vec(20,verticalStart - 9.2 +verticalSpacing*i)), module, ComputerscareLaundrySoup::INDIVIDUAL_RESET_PARAM + i, 0.0, 1.0, 0.0));
+ addParam(createParam<ComputerscareInvisibleButton>(mm2px(Vec(20, verticalStart - 9.2 + verticalSpacing * i)), module, ComputerscareLaundrySoup::INDIVIDUAL_RESET_PARAM + i));
}
- module->onCreate();
+ laundry = module;
}
- MyTextField* textField;
- SmallLetterDisplay* smallLetterDisplay;
+ json_t *toJson() override
+ {
+ json_t *rootJ = ModuleWidget::toJson();
+
+ json_t *sequencesJ = json_array();
+ for (int i = 0; i < numFields; i++) {
+ json_t *sequenceJ = json_string(laundryTextFields[i]->text.c_str());
+ json_array_append_new(sequencesJ, sequenceJ);
+ }
+ json_object_set_new(rootJ, "sequences", sequencesJ);
+
+ return rootJ;
+ }
+
+ void fromJson(json_t *rootJ) override
+ {
+ std::string val;
+ ModuleWidget::fromJson(rootJ);
+ json_t *sequencesJ = json_object_get(rootJ, "sequences");
+ if (sequencesJ) {
+ for (int i = 0; i < numFields; i++) {
+
+ json_t *sequenceJ = json_array_get(sequencesJ, i);
+ if (sequenceJ)
+ val = json_string_value(sequenceJ);
+ laundryTextFields[i]->text = val;
+ laundry->currentFormula[i] = val;
+ }
+ }
+ }
+
+ ComputerscareLaundrySoup *laundry;
+
+ LaundryTF2 *textFieldTemp;
+ LaundryTF2 *laundryTextFields[numFields];
+ LaundrySmallDisplay* smallLetterDisplay;
+ LaundrySmallDisplay* laundrySmallDisplays[numFields];
+
};
-Model *modelComputerscareLaundrySoup = Model::create<ComputerscareLaundrySoup, ComputerscareLaundrySoupWidget>("computerscare", "computerscare-laundry-soup", "Laundry Soup", SEQUENCER_TAG);
+Model *modelComputerscareLaundrySoup = createModel<ComputerscareLaundrySoup, ComputerscareLaundrySoupWidget>("computerscare-laundry-soup");
diff --git a/src/ComputerscareOhPeas.cpp b/src/ComputerscareOhPeas.cpp
@@ -1,8 +1,8 @@
+#include "plugin.hpp"
#include "Computerscare.hpp"
+
#include "dtpulse.hpp"
-#include "dsp/digital.hpp"
-#include "window.hpp"
-#include "dsp/filter.hpp"
+
#include <string>
#include <sstream>
@@ -10,428 +10,503 @@
struct ComputerscareOhPeas;
-const int numChannels= 4;
-
-class PeasTextField : public LedDisplayTextField {
-
-public:
- int fontSize = 16;
- int rowIndex=0;
- bool inError = false;
- PeasTextField() : LedDisplayTextField() {}
- void setModule(ComputerscareOhPeas* _module) {
- module = _module;
- }
- virtual void onTextChange() override;
- int getTextPosition(Vec mousePos) override {
- bndSetFont(font->handle);
- int textPos = bndIconLabelTextPosition(gVg, textOffset.x, textOffset.y,
- box.size.x - 2*textOffset.x, box.size.y - 2*textOffset.y,
- -1, fontSize, text.c_str(), mousePos.x, mousePos.y);
- bndSetFont(gGuiFont->handle);
- return textPos;
- }
- void draw(NVGcontext *vg) override {
- nvgScissor(vg, 0, 0, box.size.x, box.size.y);
-
- // Background
- nvgFontSize(vg, fontSize);
- nvgBeginPath(vg);
- nvgRoundedRect(vg, 0, 0, box.size.x, box.size.y, 10.0);
-
- if(inError) {
- nvgFillColor(vg, COLOR_COMPUTERSCARE_PINK);
- }
- else {
- nvgFillColor(vg, nvgRGB(0x00, 0x00, 0x00));
+const int numChannels = 4;
+
+struct PeasTextField;
+struct ComputerscareOhPeas;
+
+struct PeasTextField : LedDisplayTextField
+{
+ std::shared_ptr<Font> font;
+ math::Vec textOffset;
+ NVGcolor color;
+ int fontSize = 16;
+ int rowIndex = 0;
+ bool inError = false;
+ ComputerscareOhPeas *module;
+ PeasTextField();
+ //void draw(const DrawArgs &args) override;
+ //int getTextPosition(math::Vec mousePos) ;
+
+
+ void setModule(ComputerscareOhPeas *_module)
+ {
+ module = _module;
}
- nvgFill(vg);
+ void onEnter(const event::Enter &e) override;
- // Text
- if (font->handle >= 0) {
+ /*int getTextPosition(Vec mousePos) override {
bndSetFont(font->handle);
-
- NVGcolor highlightColor = color;
- highlightColor.a = 0.5;
- int begin = min(cursor, selection);
- int end = (this == gFocusedWidget) ? max(cursor, selection) : -1;
- //bndTextField(vg,textOffset.x,textOffset.y+2, box.size.x, box.size.y, -1, 0, 0, const char *text, int cbegin, int cend);
- bndIconLabelCaret(vg, textOffset.x, textOffset.y - 3,
+ int textPos = bndIconLabelTextPosition(gVg, textOffset.x, textOffset.y,
box.size.x - 2*textOffset.x, box.size.y - 2*textOffset.y,
- -1, color, fontSize, text.c_str(), highlightColor, begin, end);
-
+ -1, fontSize, text.c_str(), mousePos.x, mousePos.y);
bndSetFont(gGuiFont->handle);
+ return textPos;
+ }*/
+ int getTextPosition(math::Vec mousePos) override
+ {
+ bndSetFont(font->handle);
+ int textPos = bndIconLabelTextPosition(APP->window->vg, textOffset.x, textOffset.y,
+ box.size.x - 2 * textOffset.x, box.size.y - 2 * textOffset.y,
+ -1, 12, text.c_str(), mousePos.x, mousePos.y);
+ bndSetFont(APP->window->uiFont->handle);
+ return textPos;
}
+ void draw(const DrawArgs &args) override
+ {
+ if (module)
+ {
+ nvgScissor(args.vg, 0, 0, box.size.x, box.size.y);
+
+ // Background
+ nvgFontSize(args.vg, fontSize);
+ nvgBeginPath(args.vg);
+ nvgRoundedRect(args.vg, 0, 0, box.size.x, box.size.y, 10.0);
+
+ if (inError)
+ {
+ nvgFillColor(args.vg, COLOR_COMPUTERSCARE_PINK);
+ }
+ else
+ {
+ nvgFillColor(args.vg, nvgRGB(0x00, 0x00, 0x00));
+ }
+ nvgFill(args.vg);
+
+ // Text
+ if (font->handle >= 0)
+ {
+ bndSetFont(font->handle);
+
+ NVGcolor highlightColor = color;
+ highlightColor.a = 0.5;
+ int begin = fmin(cursor, selection);
+ // int end = (this == gFocusedWidget) ? fmax(cursor, selection) : -1;
+
+ int end = fmax(cursor, selection);
+ //bndTextField(args.vg,textOffset.x,textOffset.y+2, box.size.x, box.size.y, -1, 0, 0, const char *text, int cbegin, int cend);
+ bndIconLabelCaret(args.vg, textOffset.x, textOffset.y - 3,
+ box.size.x - 2 * textOffset.x, box.size.y - 2 * textOffset.y,
+ -1, color, fontSize, text.c_str(), highlightColor, begin, end);
+
+ bndSetFont(font->handle);
+ }
+
+ nvgResetScissor(args.vg);
+ };
- nvgResetScissor(vg);
- };
-
-private:
- ComputerscareOhPeas* module;
+ }
};
-struct ComputerscareOhPeas : Module {
- enum ParamIds {
- GLOBAL_TRANSPOSE,
- NUM_DIVISIONS,
- SCALE_TRIM,
- SCALE_VAL = SCALE_TRIM+numChannels,
- OFFSET_TRIM = SCALE_VAL+numChannels,
- OFFSET_VAL = OFFSET_TRIM+numChannels,
- NUM_PARAMS=OFFSET_VAL+numChannels
-
- };
- enum InputIds {
- CHANNEL_INPUT,
- SCALE_CV=CHANNEL_INPUT+numChannels,
- OFFSET_CV=SCALE_CV+numChannels,
- NUM_INPUTS=OFFSET_CV+numChannels
- };
- enum OutputIds {
- SCALED_OUTPUT,
- QUANTIZED_OUTPUT=SCALED_OUTPUT+numChannels,
- NUM_OUTPUTS=QUANTIZED_OUTPUT+numChannels
- };
- enum LightIds {
- BLINK_LIGHT,
- NUM_LIGHTS
- };
-
- PeasTextField* textField;
-
- int numDivisions = 12;
- int globalTranspose = 0;
- bool evenQuantizeMode = true;
- std::string numDivisionsString = "";
- SmallLetterDisplay* numDivisionsDisplay;
- SmallLetterDisplay* globalTransposeDisplay;
-
- Quantizer quant;
-
- ComputerscareOhPeas() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
- quant = Quantizer("221222",12,0);
-
- }
- void step() override;
- json_t *toJson() override
- {
- json_t *rootJ = json_object();
-
- json_t *sequencesJ = json_array();
- for (int i = 0; i < 1; i++) {
- json_t *sequenceJ = json_string(textField->text.c_str());
- json_array_append_new(sequencesJ, sequenceJ);
+
+struct ComputerscareOhPeas : Module
+{
+ enum ParamIds
+ {
+ GLOBAL_TRANSPOSE,
+ NUM_DIVISIONS,
+ SCALE_TRIM,
+ SCALE_VAL = SCALE_TRIM + numChannels,
+ OFFSET_TRIM = SCALE_VAL + numChannels,
+ OFFSET_VAL = OFFSET_TRIM + numChannels,
+ NUM_PARAMS = OFFSET_VAL + numChannels
+
+ };
+ enum InputIds
+ {
+ CHANNEL_INPUT,
+ SCALE_CV = CHANNEL_INPUT + numChannels,
+ OFFSET_CV = SCALE_CV + numChannels,
+ NUM_INPUTS = OFFSET_CV + numChannels
+ };
+ enum OutputIds
+ {
+ SCALED_OUTPUT,
+ QUANTIZED_OUTPUT = SCALED_OUTPUT + numChannels,
+ NUM_OUTPUTS = QUANTIZED_OUTPUT + numChannels
+ };
+ enum LightIds
+ {
+ BLINK_LIGHT,
+ NUM_LIGHTS
+ };
+
+
+
+ int numDivisions = 12;
+ int globalTranspose = 0;
+ bool evenQuantizeMode = true;
+ std::string currentFormula = "221222";
+ std::string numDivisionsString = "";
+ SmallLetterDisplay *numDivisionsDisplay;
+ SmallLetterDisplay *globalTransposeDisplay;
+
+ PeasTextField *textField;
+ // this one throws an error I think
+ Quantizer quant;
+
+ ComputerscareOhPeas()
+ {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(GLOBAL_TRANSPOSE, -1.f, 1.f, 0.0f, "Global Transpose");
+ configParam(NUM_DIVISIONS, 1.f, 24.f, 12.0f, "Number of Divisions");
+ for (int i = 0; i < numChannels; i++)
+ {
+ std::string chi = "Ch. " + std::to_string(i + 1);
+ configParam( SCALE_TRIM + i, -1.f, 1.f, 0.0f, chi + " Scale CV Amount");
+ configParam( SCALE_VAL + i, -2.f, 2.f, 1.0f, chi + " Scale Value");
+ configParam( OFFSET_TRIM + i, -1.f, 1.f, 0.0f, chi + " Offset CV Amount");
+ configParam( OFFSET_VAL + i, -5.f, 5.f, 0.0f, chi + " Offset Value");
+
+ }
+
+ quant = Quantizer(currentFormula, 12, 0);
+
}
- json_object_set_new(rootJ, "sequences", sequencesJ);
-
- return rootJ;
- }
-
- void fromJson(json_t *rootJ) override
- {
- json_t *sequencesJ = json_object_get(rootJ, "sequences");
- if (sequencesJ) {
- for (int i = 0; i < 1; i++) {
- json_t *sequenceJ = json_array_get(sequencesJ, i);
- if (sequenceJ)
- textField->text = json_string_value(sequenceJ);
- }
+ void process(const ProcessArgs &args) override;
+
+
+ void setQuant()
+ {
+ this->quant = Quantizer(this->currentFormula.c_str(), this->numDivisions, this->globalTranspose);
}
- setQuant();
- }
-
-
- void setQuant() {
- std::string value = this->textField->text;
- this->quant = Quantizer(value,this->numDivisions,this->globalTranspose);
- this->setNumDivisionsString();
- }
- void setNumDivisionsString() {
- std::string transposeString = (this->globalTranspose > 0 ? "+" : "" ) + std::to_string(this->globalTranspose);
- this->numDivisionsDisplay->value = std::to_string(this->numDivisions);
- this->globalTransposeDisplay->value = transposeString;
-
- }
- // For more advanced Module features, read Rack's engine.hpp header file
- // - toJson, fromJson: serialization of internal data
- // - onSampleRateChange: event triggered by a change of sample rate
- // - onReset, onRandomize, onCreate, onDelete: implements special behavior when user clicks these from the context menu
+ // For more advanced Module features, read Rack's engine.hpp header file
+ // - toJson, fromJson: serialization of internal data
+ // - onSampleRateChange: event triggered by a change of sample rate
+ // - onReset, onRandomize, onCreate, onDelete: implements special behavior when user clicks these from the context menu
};
+void PeasTextField::onEnter(const event::Enter &e)
+{
+ module->setQuant();
+}
+void ComputerscareOhPeas::process(const ProcessArgs &args)
+{
+ float A, B, C, D, Q, a, b, c, d;
-void ComputerscareOhPeas::step() {
- float A,B,C,D,Q,a,b,c,d;
+ int numDivisionsKnobValue = floor(params[NUM_DIVISIONS].getValue());
+ int iTranspose = floor(numDivisionsKnobValue * params[GLOBAL_TRANSPOSE].getValue());
+ int numInputChannels;
+ int numScaleCVChannels;
+ int numOffsetCVChannels;
- int numDivisionsKnobValue = floor(params[NUM_DIVISIONS].value);
- int iTranspose = floor(numDivisionsKnobValue * params[GLOBAL_TRANSPOSE].value);
+ //int globalTransposeKnobValue = (int) clamp(roundf(params[GLOBAL_TRANSPOSE].getValue()), -fNumDiv, fNumDiv);
+
+ if (numDivisionsKnobValue != numDivisions)
+ {
+ //printf("%i, %i, %i, %i\n",numDivisionsKnobValue,numDivisions,iTranspose,globalTranspose);
- //int globalTransposeKnobValue = (int) clamp(roundf(params[GLOBAL_TRANSPOSE].value), -fNumDiv, fNumDiv);
+ //what a hack!!!
+ if (numDivisionsKnobValue != 0)
+ {
+ numDivisions = numDivisionsKnobValue;
+ setQuant();
+ }
- if(numDivisionsKnobValue != numDivisions) {
- //printf("%i, %i, %i, %i\n",numDivisionsKnobValue,numDivisions,iTranspose,globalTranspose);
-
- //what a hack!!!
- if(numDivisionsKnobValue != 0){
- numDivisions = numDivisionsKnobValue;
- setQuant();
}
-
- }
- if(iTranspose != globalTranspose) {
+ if (iTranspose != globalTranspose)
+ {
//printf("%i, %i, %i, %i\n",numDivisionsKnobValue,numDivisions,iTranspose,globalTranspose);
- globalTranspose = iTranspose;
- setQuant();
- }
- for(int i = 0; i < numChannels; i++) {
-
- a = params[SCALE_VAL+i].value;
-
- b = params[SCALE_TRIM+i].value;
- B = inputs[SCALE_CV+i].value;
- A = inputs[CHANNEL_INPUT+i].value;
+ globalTranspose = iTranspose;
+ setQuant();
+ }
+ for (int i = 0; i < numChannels; i++)
+ {
+ if (outputs[SCALED_OUTPUT + i].isConnected() || outputs[QUANTIZED_OUTPUT + i].isConnected()) {
+ numInputChannels = inputs[CHANNEL_INPUT + i].getChannels();
+ numScaleCVChannels = inputs[SCALE_CV + i].getChannels();
+ numOffsetCVChannels = inputs[OFFSET_CV + i].getChannels();
+ outputs[SCALED_OUTPUT + i].setChannels(numInputChannels);
+ outputs[QUANTIZED_OUTPUT + i].setChannels(numInputChannels);
+ for (int ch = 0; ch < numInputChannels; ch++) {
+
+
+ a = params[SCALE_VAL + i].getValue();
- c = params[OFFSET_TRIM+i].value;
- C = inputs[OFFSET_CV+i].value;
- d = params[OFFSET_VAL+i].value;
+ b = params[SCALE_TRIM + i].getValue();
+ B = inputs[SCALE_CV + i].getVoltage(ch % numInputChannels);
+ A = inputs[CHANNEL_INPUT + i].getVoltage(ch);
- D = (b*B + a)*A + (c*C + d);
+ c = params[OFFSET_TRIM + i].getValue();
+ C = inputs[OFFSET_CV + i].getVoltage(ch % numInputChannels);
+ d = params[OFFSET_VAL + i].getValue();
- Q = quant.quantizeEven(D,iTranspose);
+ D = (b * B + a) * A + (c * C + d);
- outputs[SCALED_OUTPUT + i].value = D;
- outputs[QUANTIZED_OUTPUT + i].value = Q;
- }
+ Q = quant.quantizeEven(D, iTranspose);
+
+
+ outputs[SCALED_OUTPUT + i].setVoltage(D, ch);
+ outputs[QUANTIZED_OUTPUT + i].setVoltage(Q, ch);
+ }
+ }
+ }
}
-////////////////////////////////////
-struct StringDisplayWidget3 : TransparentWidget {
-
- std::string *value;
- std::shared_ptr<Font> font;
-
- StringDisplayWidget3() {
- font = Font::load(assetPlugin(plugin, "res/Oswald-Regular.ttf"));
- };
-
- void draw(NVGcontext *vg) override
- {
- // Background
- NVGcolor backgroundColor = nvgRGB(0x10, 0x00, 0x10);
- NVGcolor StrokeColor = nvgRGB(0xC0, 0xC7, 0xDE);
- nvgBeginPath(vg);
- nvgRoundedRect(vg, -1.0, -1.0, box.size.x+2, box.size.y+2, 4.0);
- nvgFillColor(vg, StrokeColor);
- nvgFill(vg);
- nvgBeginPath(vg);
- nvgRoundedRect(vg, 0.0, 0.0, box.size.x, box.size.y, 4.0);
- nvgFillColor(vg, backgroundColor);
- nvgFill(vg);
-
- // text
- nvgFontSize(vg, 15);
- nvgFontFaceId(vg, font->handle);
- nvgTextLetterSpacing(vg, 2.5);
-
- std::stringstream to_display;
- to_display << std::setw(8) << *value;
-
- Vec textPos = Vec(6.0f, 12.0f);
- NVGcolor textColor = nvgRGB(0xC0, 0xE7, 0xDE);
- nvgFillColor(vg, textColor);
- nvgTextBox(vg, textPos.x, textPos.y,80,to_display.str().c_str(), NULL);
-
- }
+struct SetQuantizationModeMenuItem : MenuItem
+{
+ ComputerscareOhPeas *peas;
+
+ bool mode = true;
+ SetQuantizationModeMenuItem(bool evenMode)
+ {
+ mode = evenMode;
+ }
+ void doAction()
+ {
+ peas->evenQuantizeMode = mode;
+ }
+ void step() override
+ {
+ rightText = CHECKMARK(peas->evenQuantizeMode == mode);
+ MenuItem::step();
+ }
};
+struct PeasTF2 : ComputerscareTextField
+{
+ ComputerscareOhPeas *module;
+ int fontSize = 16;
+ int rowIndex = 0;
+ bool inError = false;
+
+ PeasTF2()
+ {
+ ComputerscareTextField();
+ };
+ void draw(const DrawArgs &args) override
+ {
+ if (module)
+ {
+ if (text.c_str() != module->currentFormula)
+ {
+ module->currentFormula = text.c_str();
+ module->setQuant();
+ }
+ }
+ ComputerscareTextField::draw(args);
+ }
-void PeasTextField::onTextChange() {
- module->setQuant();
-}
-struct SetScaleMenuItem : MenuItem {
- ComputerscareOhPeas *peas;
- std::string scale="221222";
- SetScaleMenuItem(std::string scaleInput) {
- scale=scaleInput;
- }
- void onAction(EventAction &e) override {
- peas->textField->text = scale;
- peas->setQuant();
- }
+ //void draw(const DrawArgs &args) override;
+ //int getTextPosition(math::Vec mousePos) override;
};
-struct SetQuantizationModeMenuItem : MenuItem {
- ComputerscareOhPeas *peas;
- bool mode = true;
- SetQuantizationModeMenuItem(bool evenMode) {
- mode=evenMode;
- }
- void onAction(EventAction &e) override {
- peas->evenQuantizeMode = mode;
- }
- void step() override {
- rightText = CHECKMARK(peas->evenQuantizeMode == mode);
- MenuItem::step();
- }
+struct PeasSmallDisplay : SmallLetterDisplay
+{
+ ComputerscareOhPeas *module;
+ int type;
+ PeasSmallDisplay(int t)
+ {
+ type = t;
+ SmallLetterDisplay();
+ };
+ void draw(const DrawArgs &args)
+ {
+ //this->setNumDivisionsString();
+ if (module)
+ {
+ if (type == 0)
+ {
+
+ std::string transposeString = (module->globalTranspose > 0 ? "+" : "" ) + std::to_string(module->globalTranspose);
+ value = transposeString;
+ }
+ else
+ {
+ std::string numDivisionsDisplay = std::to_string(module->numDivisions);
+ value = numDivisionsDisplay;
+ }
+
+ }
+ SmallLetterDisplay::draw(args);
+ }
+
};
-struct ComputerscareOhPeasWidget : ModuleWidget {
- float randAmt = 0.f;
- ComputerscareOhPeasWidget(ComputerscareOhPeas *module) : ModuleWidget(module) {
- setPanel(SVG::load(assetPlugin(plugin, "res/ComputerscareOhPeasPanel.svg")));
-/*
- addInput(Port::create<InPort>(Vec(3, 330), Port::INPUT, module, ComputerscareOhPeas::TRG_INPUT));
- addInput(Port::create<InPort>(Vec(33, 330), Port::INPUT, module, ComputerscareOhPeas::VAL_INPUT));
- addInput(Port::create<InPort>(Vec(63, 330), Port::INPUT, module, ComputerscareOhPeas::CLR_INPUT));
-
- addParam(ParamWidget::create<LEDButton>(Vec(6, 290), module, ComputerscareOhPeas::MANUAL_TRIGGER, 0.0, 1.0, 0.0));
- addParam(ParamWidget::create<LEDButton>(Vec(66, 290), module, ComputerscareOhPeas::MANUAL_CLEAR_TRIGGER, 0.0, 1.0, 0.0));
-
- StringDisplayWidget3 *display = new StringDisplayWidget3();
- display->box.pos = Vec(1,24);
- display->box.size = Vec(88, 250);
- display->value = &module->strValue;
- addChild(display);
-*/
-
- double x = 1;
- double y = 7;
- //double dy = 18.4;
- double dx = 9.95;
- double xx;
- double yy=18;
-
-
- ParamWidget* numDivisionKnob = ParamWidget::create<MediumSnapKnob>(mm2px(Vec(11,yy-2)), module, ComputerscareOhPeas::NUM_DIVISIONS , 1.f, 24.f, 12.0f);
- addParam(numDivisionKnob);
-
- ParamWidget* rootKnob = ParamWidget::create<SmoothKnob>(mm2px(Vec(21,yy-2)), module, ComputerscareOhPeas::GLOBAL_TRANSPOSE , -1.f, 1.f, 0.0f);
- addParam(rootKnob);
-
- textFieldTemp = Widget::create<PeasTextField>(mm2px(Vec(x,y+24)));
- textFieldTemp->setModule(module);
- textFieldTemp->box.size = mm2px(Vec(44, 7));
- textFieldTemp->multiline = false;
- textFieldTemp->color = nvgRGB(0xC0, 0xE7, 0xDE);
+
+
+void quantizationModeMenuItemAdd(ComputerscareOhPeas *peas, Menu *menu, bool evenMode, std::string label)
+{
+ SetQuantizationModeMenuItem *menuItem = new SetQuantizationModeMenuItem(evenMode);
+ menuItem->text = label;
+ menuItem->peas = peas;
+ menu->addChild(menuItem);
+}
+//this->numDivisions,this->globalTranspose
+struct ComputerscareOhPeasWidget : ModuleWidget
+{
+ float randAmt = 0.f;
+ //PeasTextField* textFieldTemp;
+
+ //TextField *textFieldTemp;
+ ComputerscareOhPeasWidget(ComputerscareOhPeas *module)
+ {
+ setModule(module);
+ //setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareOhPeasPanel.svg")));
+ box.size = Vec(9 * 15, 380);
+ {
+ ComputerscareSVGPanel *panel = new ComputerscareSVGPanel();
+ panel->box.size = box.size;
+ panel->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareOhPeasPanel.svg")));
+
+ //module->panelRef = panel;
+
+ addChild(panel);
+
+ }
+ double x = 1;
+ double y = 7;
+ //double dy = 18.4;
+ double dx = 9.95;
+ double xx;
+ double yy = 18;
+ addParam(createParam<MediumSnapKnob>(mm2px(Vec(11, yy - 2)), module, ComputerscareOhPeas::NUM_DIVISIONS ));
+
+ addParam(createParam<SmoothKnob>(mm2px(Vec(21, yy - 2)), module, ComputerscareOhPeas::GLOBAL_TRANSPOSE));
+
+ textFieldTemp = createWidget<PeasTF2>(mm2px(Vec(x, y + 24)));
+ textFieldTemp->module = module;
+ textFieldTemp->box.size = mm2px(Vec(44, 7));
+ textFieldTemp->multiline = false;
+ textFieldTemp->color = nvgRGB(0xC0, 0xE7, 0xDE);
textFieldTemp->text = "221222";
- addChild(textFieldTemp);
- module->textField = textFieldTemp;
+ addChild(textFieldTemp);
- ndd = new SmallLetterDisplay();
- ndd->box.pos = mm2px(Vec(2,yy));
+ ndd = new PeasSmallDisplay(1);
+ ndd->module = module;
+ ndd->box.pos = mm2px(Vec(2, yy));
ndd->box.size = mm2px(Vec(9, 7));
ndd->value = "";
ndd->baseColor = COLOR_COMPUTERSCARE_LIGHT_GREEN;
addChild(ndd);
- module->numDivisionsDisplay = ndd;
- transposeDisplay = new SmallLetterDisplay();
- transposeDisplay->box.pos = mm2px(Vec(30,yy));
+ transposeDisplay = new PeasSmallDisplay(0);
+ transposeDisplay->module = module;
+
+ transposeDisplay->box.pos = mm2px(Vec(30, yy));
transposeDisplay->box.size = mm2px(Vec(11, 7));
transposeDisplay->letterSpacing = 2.f;
transposeDisplay->value = "";
transposeDisplay->baseColor = COLOR_COMPUTERSCARE_LIGHT_GREEN;
addChild(transposeDisplay);
- module->globalTransposeDisplay = transposeDisplay;
- for(int i = 0; i < numChannels; i++) {
+ for (int i = 0; i < numChannels; i++)
+ {
- xx = x + dx*i+randAmt*(2*randomUniform()-.5);
- y+=randAmt*(randomUniform()-.5);
- addInput(Port::create<InPort>(mm2px(Vec(xx, y-0.8)), Port::INPUT, module, ComputerscareOhPeas::CHANNEL_INPUT+i));
+ xx = x + dx * i + randAmt * (2 * random::uniform() - .5);
+ y += randAmt * (random::uniform() - .5);
+ addInput(createInput<InPort>(mm2px(Vec(xx, y - 0.8)), module, ComputerscareOhPeas::CHANNEL_INPUT + i));
- ParamWidget* scaleTrimKnob = ParamWidget::create<SmallKnob>(mm2px(Vec(xx+2,y+34)), module, ComputerscareOhPeas::SCALE_TRIM +i, -1.f, 1.f, 0.0f);
- addParam(scaleTrimKnob);
-
- addInput(Port::create<InPort>(mm2px(Vec(xx, y+40)), Port::INPUT, module, ComputerscareOhPeas::SCALE_CV+i));
+ addParam(createParam<SmallKnob>(mm2px(Vec(xx + 2, y + 34)), module, ComputerscareOhPeas::SCALE_TRIM + i));
- ParamWidget* scaleKnob = ParamWidget::create<SmoothKnob>(mm2px(Vec(xx,y+50)), module, ComputerscareOhPeas::SCALE_VAL +i, -1.f, 1.f, 0.0f);
- addParam(scaleKnob);
+ addInput(createInput<InPort>(mm2px(Vec(xx, y + 40)), module, ComputerscareOhPeas::SCALE_CV + i));
- ParamWidget* offsetTrimKnob = ParamWidget::create<ComputerscareDotKnob>(mm2px(Vec(xx+2,y+64)), module, ComputerscareOhPeas::OFFSET_TRIM +i, -1.f, 1.f, 0.0f);
- addParam(offsetTrimKnob);
-
- addInput(Port::create<InPort>(mm2px(Vec(xx, y+70)), Port::INPUT, module, ComputerscareOhPeas::OFFSET_CV+i));
+ addParam(createParam<SmoothKnob>(mm2px(Vec(xx, y + 50)), module, ComputerscareOhPeas::SCALE_VAL + i));
+ addParam(createParam<ComputerscareDotKnob>(mm2px(Vec(xx + 2, y + 64)), module, ComputerscareOhPeas::OFFSET_TRIM + i));
- ParamWidget* offsetKnob = ParamWidget::create<SmoothKnob>(mm2px(Vec(xx,y+80)), module, ComputerscareOhPeas::OFFSET_VAL +i, -5.f, 5.f, 0.0f);
- addParam(offsetKnob);
+ addInput(createInput<InPort>(mm2px(Vec(xx, y + 70)), module, ComputerscareOhPeas::OFFSET_CV + i));
- addOutput(Port::create<OutPort>(mm2px(Vec(xx , y+93)), Port::OUTPUT, module, ComputerscareOhPeas::SCALED_OUTPUT + i));
- addOutput(Port::create<InPort>(mm2px(Vec(xx+1 , y+108)), Port::OUTPUT, module, ComputerscareOhPeas::QUANTIZED_OUTPUT + i));
+ addParam(createParam<SmoothKnob>(mm2px(Vec(xx, y + 80)), module, ComputerscareOhPeas::OFFSET_VAL + i));
- }
- module->setQuant();
- }
- SmallLetterDisplay* trimPlusMinus;
- SmallLetterDisplay* ndd;
- SmallLetterDisplay* transposeDisplay;
+ addOutput(createOutput<OutPort>(mm2px(Vec(xx, y + 93)), module, ComputerscareOhPeas::SCALED_OUTPUT + i));
- PeasTextField* textFieldTemp;
- Menu *createContextMenu() override;
+ addOutput(createOutput<InPort>(mm2px(Vec(xx + 1, y + 108)), module, ComputerscareOhPeas::QUANTIZED_OUTPUT + i));
-};
+ }
+ }
+ json_t *toJson() override
+ {
+ json_t *rootJ = ModuleWidget::toJson();
+ // text
+ json_object_set_new(rootJ, "sequences", json_string(textFieldTemp->text.c_str()));
-void scaleItemAdd(ComputerscareOhPeas* peas, Menu* menu, std::string scale, std::string label) {
- SetScaleMenuItem *menuItem = new SetScaleMenuItem(scale);
- menuItem->text = label;
- menuItem->peas = peas;
- menu->addChild(menuItem);
-}
+ return rootJ;
+ }
+
+ void fromJson(json_t *rootJ) override
+ {
+ ModuleWidget::fromJson(rootJ);
-void quantizationModeMenuItemAdd(ComputerscareOhPeas* peas, Menu* menu, bool evenMode, std::string label) {
- SetQuantizationModeMenuItem *menuItem = new SetQuantizationModeMenuItem(evenMode);
- menuItem->text = label;
- menuItem->peas = peas;
- menu->addChild(menuItem);
+ // text
+ json_t *textJ = json_object_get(rootJ, "sequences");
+ if (textJ)
+ textFieldTemp->text = json_string_value(textJ);
+
+ //module->setQuant();
+ }
+
+
+ PeasTF2 *textFieldTemp;
+ SmallLetterDisplay *trimPlusMinus;
+ PeasSmallDisplay *ndd;
+ PeasSmallDisplay *transposeDisplay;
+ void scaleItemAdd(ComputerscareOhPeas *peas, Menu *menu, std::string scale, std::string label);
+ void appendContextMenu(Menu *menu) override;
+
+};
+struct SetScaleMenuItem : MenuItem
+{
+ ComputerscareOhPeas *peas;
+ ComputerscareOhPeasWidget *peasWidget;
+ std::string scale = "221222";
+ SetScaleMenuItem(std::string scaleInput)
+ {
+ scale = scaleInput;
+ }
+
+ void onAction(const event::Action &e) override
+ {
+ peasWidget->textFieldTemp->text = scale;
+ peas->setQuant();
+ }
+};
+void ComputerscareOhPeasWidget::scaleItemAdd(ComputerscareOhPeas *peas, Menu *menu, std::string scale, std::string label)
+{
+ SetScaleMenuItem *menuItem = new SetScaleMenuItem(scale);
+ menuItem->text = label;
+ menuItem->peas = peas;
+ menuItem->peasWidget = this;
+ menu->addChild(menuItem);
}
-
-Menu *ComputerscareOhPeasWidget::createContextMenu() {
- Menu *menu = ModuleWidget::createContextMenu();
- ComputerscareOhPeas *peas = dynamic_cast<ComputerscareOhPeas*>(module);
- assert(peas);
-
- MenuLabel *spacerLabel = new MenuLabel();
- menu->addChild(spacerLabel);
-
- /*
- // "closest" quantization mode is quite a bit slower than even
- MenuLabel *quantModeLabel = new MenuLabel();
- quantModeLabel->text = "Quantization Mode";
- menu->addChild(quantModeLabel);
-
- quantizationModeMenuItemAdd(peas,menu,true,"Even");
- quantizationModeMenuItemAdd(peas,menu,false,"Closest");
-
-
-
- MenuLabel *spacerLabel2 = new MenuLabel();
- menu->addChild(spacerLabel2);*/
-
-
- MenuLabel *modeLabel = new MenuLabel();
- modeLabel->text = "Scale Presets";
- menu->addChild(modeLabel);
-
- scaleItemAdd(peas,menu,"221222","Major");
- scaleItemAdd(peas,menu,"212212","Natural Minor");
- scaleItemAdd(peas,menu,"2232","Major Pentatonic");
- scaleItemAdd(peas,menu,"3223","Minor Pentatonic");
- scaleItemAdd(peas,menu,"32113","Blues");
- scaleItemAdd(peas,menu,"11111111111","Chromatic");
- scaleItemAdd(peas,menu,"212213","Harmonic Minor");
- scaleItemAdd(peas,menu,"43","Major Triad");
- scaleItemAdd(peas,menu,"34","Minor Triad");
- scaleItemAdd(peas,menu,"33","Diminished Triad");
- scaleItemAdd(peas,menu,"434","Major 7 Tetrachord");
- scaleItemAdd(peas,menu,"433","Dominant 7 Tetrachord");
- scaleItemAdd(peas,menu,"343","Minor 7 Tetrachord");
-
- return menu;
+void ComputerscareOhPeasWidget::appendContextMenu(Menu *menu)
+{
+ ComputerscareOhPeas *peas = dynamic_cast<ComputerscareOhPeas *>(this->module);
+
+ MenuLabel *spacerLabel = new MenuLabel();
+ menu->addChild(spacerLabel);
+
+
+ MenuLabel *modeLabel = new MenuLabel();
+ modeLabel->text = "Scale Presets";
+ menu->addChild(modeLabel);
+
+ scaleItemAdd(peas, menu, "221222", "Major");
+ scaleItemAdd(peas, menu, "212212", "Natural Minor");
+ scaleItemAdd(peas, menu, "2232", "Major Pentatonic");
+ scaleItemAdd(peas, menu, "3223", "Minor Pentatonic");
+ scaleItemAdd(peas, menu, "32113", "Blues");
+ scaleItemAdd(peas, menu, "11111111111", "Chromatic");
+ scaleItemAdd(peas, menu, "212213", "Harmonic Minor");
+ scaleItemAdd(peas, menu, "22222", "Whole-Tone");
+ scaleItemAdd(peas, menu, "2121212", "Whole-Half Diminished");
+
+ scaleItemAdd(peas, menu, "43", "Major Triad");
+ scaleItemAdd(peas, menu, "34", "Minor Triad");
+ scaleItemAdd(peas, menu, "33", "Diminished Triad");
+ scaleItemAdd(peas, menu, "434", "Major 7 Tetrachord");
+ scaleItemAdd(peas, menu, "433", "Dominant 7 Tetrachord");
+ scaleItemAdd(peas, menu, "343", "Minor 7 Tetrachord");
+ scaleItemAdd(peas, menu, "334", "Minor 7 b5 Tetrachord");
}
// Specify the Module and ModuleWidget subclass, human-readable
// author name for categorization per plugin, module slug (should never
// change), human-readable module name, and any number of tags
// (found in `include/tags.hpp`) separated by commas.
-Model *modelComputerscareOhPeas = Model::create<ComputerscareOhPeas, ComputerscareOhPeasWidget>("computerscare", "computerscare-ohpeas", "Oh Peas! Quad Quantenuverter", QUANTIZER_TAG, ATTENUATOR_TAG, QUAD_TAG, UTILITY_TAG);
+
+
+//Model *modelComputerscareDebug = createModel<ComputerscareDebug, ComputerscareDebugWidget>("computerscare-debug");
+
+Model *modelComputerscareOhPeas = createModel<ComputerscareOhPeas, ComputerscareOhPeasWidget>("computerscare-ohpeas");
diff --git a/src/ComputerscarePatchSequencer.cpp b/src/ComputerscarePatchSequencer.cpp
@@ -10,135 +10,103 @@ const int maxSteps = 16;
const int numInputs = 10;
const int numOutputs = 10;
+struct ComputerscareDebug;
+
struct ComputerscarePatchSequencer : Module {
- enum ParamIds {
+ enum ParamIds {
STEPS_PARAM,
MANUAL_CLOCK_PARAM,
EDIT_PARAM,
EDIT_PREV_PARAM,
- ENUMS(SWITCHES,100),
+ ENUMS(SWITCHES, 100),
RESET_PARAM,
- NUM_PARAMS
- };
- enum InputIds {
- TRG_INPUT,
- ENUMS(INPUT_JACKS, 10),
- RANDOMIZE_INPUT,
- RESET_INPUT,
- NUM_INPUTS
- };
- enum OutputIds {
- OUTPUTS,
- NUM_OUTPUTS = OUTPUTS + 10
- };
+ NUM_PARAMS
+ };
+ enum InputIds {
+ TRG_INPUT,
+ ENUMS(INPUT_JACKS, 10),
+ RANDOMIZE_INPUT,
+ RESET_INPUT,
+ NUM_INPUTS
+ };
+ enum OutputIds {
+ OUTPUTS,
+ NUM_OUTPUTS = OUTPUTS + 10
+ };
enum LightIds {
- SWITCH_LIGHTS,
- NUM_LIGHTS = SWITCH_LIGHTS + 200
- };
+ SWITCH_LIGHTS,
+ NUM_LIGHTS = SWITCH_LIGHTS + 200
+ };
- SchmittTrigger switch_triggers[10][10];
+ rack::dsp::SchmittTrigger switch_triggers[10][10];
- SchmittTrigger nextAddressRead;
- SchmittTrigger nextAddressEdit;
- SchmittTrigger prevAddressEdit;
- SchmittTrigger clockTrigger;
- SchmittTrigger randomizeTrigger;
- SchmittTrigger resetTriggerInput;
- SchmittTrigger resetTriggerButton;
+ rack::dsp::SchmittTrigger nextAddressRead;
+ rack::dsp::SchmittTrigger nextAddressEdit;
+ rack::dsp::SchmittTrigger prevAddressEdit;
+ rack::dsp::SchmittTrigger clockTrigger;
+ rack::dsp::SchmittTrigger randomizeTrigger;
+ rack::dsp::SchmittTrigger resetTriggerInput;
+ rack::dsp::SchmittTrigger resetTriggerButton;
int address = 0;
int editAddress = 0;
int addressPlusOne = 1;
int editAddressPlusOne = 1;
-
+ int counter = 0;
+
int numAddresses = 2;
bool switch_states[maxSteps][10][10] = {};
-
+
bool onlyRandomizeActive = true;
-
- float input_values[numInputs] = {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
- float sums[numOutputs] = {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
-
- int randomizationStepEnum = 0; //0: edit step, 1: active step, 2: all steps
- int randomizationOutputBoundsEnum = 1; //0: randomize exactly one per output, 1: randomize exactly one per output, 2: randomize 1 or more, 3: randomize 0 or more
-ComputerscarePatchSequencer() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
- void step() override;
+ float input_values[numInputs * 16] = {0.0};
+ float sums[numOutputs * 16] = {0.0};
+ int randomizationStepEnum = 0; //0: edit step, 1: active step, 2: all steps
+ int randomizationOutputBoundsEnum = 1; //0: randomize exactly one per output, 1: randomize exactly one per output, 2: randomize 1 or more, 3: randomize 0 or more
+ ComputerscarePatchSequencer() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
- json_t *toJson() override
- {
- json_t *rootJ = json_object();
-
- // button states
- json_t *button_statesJ = json_array();
- for(int k = 0; k < maxSteps; k++) {
- for (int i = 0; i < 10; i++)
- {
- for (int j = 0; j < 10; j++)
- {
- json_t *button_stateJ = json_integer((int) switch_states[k][i][j]);
- json_array_append_new(button_statesJ, button_stateJ);
- }
- }
- }
- json_object_set_new(rootJ, "buttons", button_statesJ);
- json_object_set_new(rootJ, "onlyRandomizeActive", json_boolean(onlyRandomizeActive));
- json_object_set_new(rootJ, "randomizationStepEnum", json_integer(getRandomizationStepEnum()));
- json_object_set_new(rootJ, "randomizationOutputBoundsEnum", json_integer(getRandomizationOutputBoundsEnum()));
- return rootJ;
- }
-
- void fromJson(json_t *rootJ) override
- {
- // button states
- json_t *button_statesJ = json_object_get(rootJ, "buttons");
- if (button_statesJ)
+ //configParam(GLOBAL_TRANSPOSE, -1.f, 1.f, 0.0f, "Global Transpose");
+ configParam(STEPS_PARAM, 1.f, 16.f, 2.0f, "Number of Steps");
+ for (int i = 0; i < 100; i++)
{
- for(int k = 0; k < maxSteps; k++) {
+ //std::string chi = "Ch. " + std::to_string(i + 1);
+ /* configParam( SCALE_TRIM + i, , 0.f, 1.f, 0.f);
+ configParam( SCALE_VAL + i, -5.f, 5.f, 0.0f, chi + " Scale Value");
+ configParam( OFFSET_TRIM + i, -1.f, 1.f, 0.0f, chi + " Offset CV Amount");
+ configParam( OFFSET_VAL + i, -5.f, 5.f, 0.0f, chi + " Offset Value");*/
- for (int i = 0; i < 10; i++) {
- for (int j = 0; j < 10; j++) {
- json_t *button_stateJ = json_array_get(button_statesJ, k*100+i*10 + j);
- if (button_stateJ)
- switch_states[k][i][j] = !!json_integer_value(button_stateJ);
- }
- }
}
- }
- json_t *onlyRandomizeActiveJ = json_object_get(rootJ, "onlyRandomizeActive");
- if (onlyRandomizeActiveJ){ onlyRandomizeActive = json_is_true(onlyRandomizeActiveJ); }
-
- json_t *randomizationStepEnumJ = json_object_get(rootJ, "randomizationStepEnum");
- if (randomizationStepEnumJ){ setRandomizationStepEnum(json_integer_value(randomizationStepEnumJ)); }
-
-json_t *randomizationOutputBoundsEnumJ = json_object_get(rootJ, "randomizationOutputBoundsEnum");
- if (randomizationOutputBoundsEnumJ){ setRandomizationOutputBoundsEnum(json_integer_value(randomizationOutputBoundsEnumJ)); }
-
- }
+ }
+ void process(const ProcessArgs &args) override;
+
+
+
+
int getRandomizationStepEnum() {
- return randomizationStepEnum;
- }
-
- int getRandomizationOutputBoundsEnum() {
+ return randomizationStepEnum;
+ }
+
+ int getRandomizationOutputBoundsEnum() {
return randomizationOutputBoundsEnum;
}
- void setRandomizationStepEnum(int randomizationStep) {
- randomizationStepEnum = randomizationStep;
- }
+ void setRandomizationStepEnum(int randomizationStep) {
+ randomizationStepEnum = randomizationStep;
+ }
void setRandomizationOutputBoundsEnum(int randomizationOutputBounds) {
randomizationOutputBoundsEnum = randomizationOutputBounds;
}
- void onRandomize() override {
- randomizePatchMatrix();
- }
+ void onRandomize() override {
+ randomizePatchMatrix();
+ }
void randomizePatchMatrix()
{
- if(onlyRandomizeActive) {
+ if (onlyRandomizeActive) {
randomizeMatrixOnlyActive();
}
else {
@@ -147,145 +115,164 @@ json_t *randomizationOutputBoundsEnumJ = json_object_get(rootJ, "randomizationOu
};
- // For more advanced Module features, read Rack's engine.hpp header file
- // - toJson, fromJson: serialization of internal data
- // - onSampleRateChange: event triggered by a change of sample rate
- // - onReset, onRandomize, onCreate, onDelete: implements special behavior when user clicks these from the context menu
-
- void randomizeMatrixOnlyActive() {
- int randomIndex;
-
- bool connectedInputs[10];
- bool connectedOutputs[10];
- int numConnectedInputs=0;
-
- std::vector<int> connectedInputIndices;
-
- for (int i = 0; i < 10; i++)
- {
- if(inputs[INPUT_JACKS + i].active) {
- numConnectedInputs++;
- connectedInputIndices.push_back(i);
- }
- connectedInputs[i] = inputs[INPUT_JACKS + i].active;
- connectedOutputs[i] = outputs[OUTPUTS + i].active;
- }
- for(int k = 0; k < maxSteps; k++) {
- if((randomizationStepEnum == 0 && k == editAddress) || (randomizationStepEnum == 1 && k == address) || randomizationStepEnum == 2) {
- for(int i = 0; i < 10; i++) {
- randomIndex = numConnectedInputs > 0 ? connectedInputIndices[floor(randomUniform()*numConnectedInputs)] : 0;
- if(connectedOutputs[i]) {
- for (int j = 0; j < 10; j++) {
- if(j==randomIndex)
- switch_states[k][j][i] = 1;
- else
- switch_states[k][j][i]=0;
- }
- }
- }
- }
- }
-
- }
-
- void randomizeMatrixIncludingDisconnected() {
- int randomIndex;
- for(int k = 0; k < maxSteps; k++) {
- if((randomizationStepEnum == 0 && k == editAddress) || (randomizationStepEnum == 1 && k == address) || randomizationStepEnum == 2) {
- for (int i = 0; i < 10; i++)
- {
- randomIndex = floor(randomUniform()*10);
-
- for (int j = 0; j < 10; j++)
- {
- if(randomizationOutputBoundsEnum == 3) {
- switch_states[k][j][i] = (j==randomIndex || randomUniform() < 0.2) ? 1 : 0;
+ // For more advanced Module features, read Rack's engine.hpp header file
+ // - toJson, fromJson: serialization of internal data
+ // - onSampleRateChange: event triggered by a change of sample rate
+ // - onReset, onRandomize, onCreate, onDelete: implements special behavior when user clicks these from the context menu
+
+ void randomizeMatrixOnlyActive() {
+ int randomIndex;
+
+ bool connectedInputs[10];
+ bool connectedOutputs[10];
+ int numConnectedInputs = 0;
+
+ std::vector<int> connectedInputIndices;
+
+ for (int i = 0; i < 10; i++)
+ {
+ if (inputs[INPUT_JACKS + i].isConnected()) {
+ numConnectedInputs++;
+ connectedInputIndices.push_back(i);
+ }
+
+ connectedInputs[i] = inputs[INPUT_JACKS + i].isConnected();
+ connectedOutputs[i] = outputs[OUTPUTS + i].isConnected();
+ }
+ for (int k = 0; k < maxSteps; k++) {
+ if ((randomizationStepEnum == 0 && k == editAddress) || (randomizationStepEnum == 1 && k == address) || randomizationStepEnum == 2) {
+ for (int i = 0; i < 10; i++) {
+ randomIndex = numConnectedInputs > 0 ? connectedInputIndices[floor(random::uniform() * numConnectedInputs)] : 0;
+ if (connectedOutputs[i]) {
+ for (int j = 0; j < 10; j++) {
+ if (j == randomIndex)
+ switch_states[k][j][i] = 1;
+ else
+ switch_states[k][j][i] = 0;
+ }
+ }
+ }
+ }
+ }
+
+ }
+
+ void randomizeMatrixIncludingDisconnected() {
+ int randomIndex;
+ for (int k = 0; k < maxSteps; k++) {
+ if ((randomizationStepEnum == 0 && k == editAddress) || (randomizationStepEnum == 1 && k == address) || randomizationStepEnum == 2) {
+ for (int i = 0; i < 10; i++)
+ {
+ randomIndex = floor(random::uniform() * 10);
+
+ for (int j = 0; j < 10; j++)
+ {
+ if (randomizationOutputBoundsEnum == 3) {
+ switch_states[k][j][i] = (j == randomIndex || random::uniform() < 0.2) ? 1 : 0;
+ }
+ else if (randomizationOutputBoundsEnum == 2) {
+ switch_states[k][j][i] = random::uniform() < 0.2 ? 1 : 0;
}
- else if(randomizationOutputBoundsEnum == 2) {
- switch_states[k][j][i] = randomUniform() < 0.2 ? 1 : 0;
+ else if (randomizationOutputBoundsEnum == 0) {
+ switch_states[k][j][i] = (j == randomIndex && random::uniform() < 0.7) ? 1 : 0;
}
- else if(randomizationOutputBoundsEnum == 0) {
- switch_states[k][j][i] = (j==randomIndex && randomUniform() < 0.7) ? 1 : 0;
+ else {
+ switch_states[k][j][i] = j == randomIndex ? 1 : 0;
}
- else {
- switch_states[k][j][i] = j==randomIndex ? 1 : 0;
- }
- }
- }
- }
- }
+ }
+ }
+ }
+ }
}
- void onReset() override
- {
- for(int k =0; k < maxSteps; k++) {
-
-
- for (int i = 0; i < 10; i++)
- {
- for (int j = 0; j < 10; j++)
- {
- switch_states[k][i][j] = 0;
- }
- }
- }
- }; // end randomize()
+ void onReset() override
+ {
+ for (int k = 0; k < maxSteps; k++) {
-};
+ for (int i = 0; i < 10; i++)
+ {
+ for (int j = 0; j < 10; j++)
+ {
+ switch_states[k][i][j] = 0;
+ }
+ }
+ }
+ }; // end randomize()
+
+};
-void ComputerscarePatchSequencer::step() {
- int numStepsKnobPosition = (int) clamp(roundf(params[STEPS_PARAM].value), 1.0f, 16.0f);
+void ComputerscarePatchSequencer::process(const ProcessArgs &args) {
+ int numStepsKnobPosition = (int) clamp(roundf(params[STEPS_PARAM].getValue()), 1.0f, 16.0f);
+ //int channels[10] = {0};
- for ( int i = 0 ; i < 10 ; i++)
+ for ( int j = 0 ; j < 10 ; j++)
{
- sums[i] = 0.0;
+ //channels[i] = inputs[INPUT_JACKS + i].getChannels();
+ for (int c = 0; c < 16; c++) {
+ sums[j * 16 + c] = 0.0;
+ }
+
+
}
for (int i = 0 ; i < 10 ; i++)
{
- for (int j = 0 ; j < 10 ; j++)
- {
- if (switch_triggers[i][j].process(params[SWITCHES+j*10 + i].value))
- {
- // handle button clicks in the patch matrix
- switch_states[editAddress][i][j] = !switch_states[editAddress][i][j];
- }
- // update the green lights (step you are editing) and the red lights (current active step)
- lights[SWITCH_LIGHTS + i + j * 10].value = (switch_states[editAddress][i][j]) ? 1.0 : 0.0;
- lights[SWITCH_LIGHTS + i + j * 10+100].value = (switch_states[address][i][j]) ? 1.0 : 0.0;
- }
+ for (int j = 0 ; j < 10 ; j++)
+ {
+ if (switch_triggers[i][j].process(params[SWITCHES + j * 10 + i].getValue()))
+ {
+ // handle button clicks in the patch matrix
+ switch_states[editAddress][i][j] = !switch_states[editAddress][i][j];
+ }
+
+
+ }
}
+ if (counter > 512) {
+ for (int i = 0 ; i < 10 ; i++)
+ {
+ for (int j = 0 ; j < 10 ; j++)
+ {
+ // update the green lights (step you are editing) and the red lights (current active step)
+ lights[SWITCH_LIGHTS + i + j * 10].value = (switch_states[editAddress][i][j]) ? 1.0 : 0.0;
+ lights[SWITCH_LIGHTS + i + j * 10 + 100].value = (switch_states[address][i][j]) ? 1.0 : 0.0;
+ }
+ }
+ counter = 0;
+ }
+ counter++;
+
- if(numStepsKnobPosition != numAddresses) {
- numAddresses = numStepsKnobPosition;
+ if (numStepsKnobPosition != numAddresses) {
+ numAddresses = numStepsKnobPosition;
}
- if(randomizeTrigger.process(inputs[RANDOMIZE_INPUT].value / 2.f)) {
- randomizePatchMatrix();
+ if (randomizeTrigger.process(inputs[RANDOMIZE_INPUT].getVoltage() / 2.f)) {
+ randomizePatchMatrix();
}
- if(nextAddressEdit.process(params[EDIT_PARAM].value) ) {
+ if (nextAddressEdit.process(params[EDIT_PARAM].getValue()) ) {
editAddress = editAddress + 1;
editAddress = editAddress % maxSteps;
}
- if(prevAddressEdit.process(params[EDIT_PREV_PARAM].value) ) {
+ if (prevAddressEdit.process(params[EDIT_PREV_PARAM].getValue()) ) {
editAddress = editAddress - 1;
editAddress = editAddress + maxSteps;
editAddress = editAddress % maxSteps;
}
- if(nextAddressRead.process(params[MANUAL_CLOCK_PARAM].value) || clockTrigger.process(inputs[TRG_INPUT].value / 2.f)) {
- numAddresses = (int) clamp(roundf(params[STEPS_PARAM].value /*+ inputs[STEPS_INPUT].value*/), 1.0f, 16.0f);
+ if (nextAddressRead.process(params[MANUAL_CLOCK_PARAM].getValue()) || clockTrigger.process(inputs[TRG_INPUT].getVoltage() / 2.f)) {
+ numAddresses = (int) clamp(roundf(params[STEPS_PARAM].getValue() /*+ inputs[STEPS_INPUT].getVoltage()*/), 1.0f, 16.0f);
address = address + 1;
address = address % numAddresses;
}
- if(resetTriggerButton.process(params[RESET_PARAM].value) || resetTriggerInput.process(inputs[RESET_INPUT].value / 2.f)) {
- numAddresses = (int) clamp(roundf(params[STEPS_PARAM].value), 1.0f, 16.0f);
+ if (resetTriggerButton.process(params[RESET_PARAM].getValue()) || resetTriggerInput.process(inputs[RESET_INPUT].getVoltage() / 2.f)) {
+ numAddresses = (int) clamp(roundf(params[STEPS_PARAM].getValue()), 1.0f, 16.0f);
address = 0;
}
@@ -295,24 +282,34 @@ void ComputerscarePatchSequencer::step() {
for (int i = 0 ; i < 10 ; i++)
{
- input_values[i] = inputs[INPUT_JACKS + i].value;
+ for (int c = 0; c < 16; c++) {
+
+
+ input_values[i * 16 + c] = inputs[INPUT_JACKS + i].getVoltage(c);
+ }
}
-
+
for (int i = 0 ; i < 10 ; i++)
{
- for (int j = 0 ; j < 10 ; j++)
- {
- // todo: toggle for each output of how to combine multiple active signals in a column
- // sum, average, and, or etc
- if (switch_states[address][j][i]) {
- sums[i] += input_values[j];
+ for (int j = 0 ; j < 10 ; j++)
+ {
+ // todo: toggle for each output of how to combine multiple active signals in a column
+ // sum, average, and, or etc
+ if (switch_states[address][i][j]) {
+ for (int c = 0; c < 16; c++) {
+ sums[j * 16 + c] += input_values[i * 16 + c];
+ }
+
}
- }
+ }
}
- /// outputs
- for (int i = 0 ; i < 10 ; i++)
+ /// outputs
+ for (int j = 0 ; j < 10 ; j++)
{
- outputs[OUTPUTS + i].value = sums[i];
+ outputs[OUTPUTS + j].setChannels(16);
+ for (int c = 0; c < 16; c++) {
+ outputs[OUTPUTS + j].setVoltage(sums[j * 16 + c], c);
+ }
}
}
@@ -320,34 +317,42 @@ void ComputerscarePatchSequencer::step() {
struct NumberDisplayWidget3 : TransparentWidget {
int *value;
+ ComputerscarePatchSequencer *module;
std::shared_ptr<Font> font;
NumberDisplayWidget3() {
- font = Font::load(assetPlugin(plugin, "res/digital-7.ttf"));
+ font = APP->window->loadFont(asset::plugin(pluginInstance, "res/digital-7.ttf"));
};
- void draw(NVGcontext *vg) override
+ void draw(const DrawArgs &args) override
{
// Background
- NVGcolor backgroundColor = nvgRGB(0x00, 0x00, 0x00);
-
- nvgBeginPath(vg);
- nvgRoundedRect(vg, 0.0, 0.0, box.size.x, box.size.y, 4.0);
- nvgFillColor(vg, backgroundColor);
- nvgFill(vg);
-
- // text
- nvgFontSize(vg, 13);
- nvgFontFaceId(vg, font->handle);
- nvgTextLetterSpacing(vg, 2.5);
-
- std::stringstream to_display;
- to_display << std::setw(3) << *value;
-
- Vec textPos = Vec(6.0f, 17.0f);
- NVGcolor textColor = nvgRGB(0xC0, 0xE7, 0xDE);
- nvgFillColor(vg, textColor);
- nvgText(vg, textPos.x, textPos.y, to_display.str().c_str(), NULL);
+ //if (module) {
+ NVGcolor backgroundColor = nvgRGB(0x00, 0x00, 0x00);
+
+ nvgBeginPath(args.vg);
+ nvgRoundedRect(args.vg, 0.0, 0.0, box.size.x, box.size.y, 4.0);
+ nvgFillColor(args.vg, backgroundColor);
+ nvgFill(args.vg);
+
+ // text
+ nvgFontSize(args.vg, 13);
+ nvgFontFaceId(args.vg, font->handle);
+ nvgTextLetterSpacing(args.vg, 2.5);
+
+ std::stringstream to_display;
+ if(module) {
+ to_display << std::setw(3) << *value;
+ }
+ else {
+ to_display << std::setw(3) << "16";
+ }
+
+ Vec textPos = Vec(6.0f, 17.0f);
+ NVGcolor textColor = nvgRGB(0xC0, 0xE7, 0xDE);
+ nvgFillColor(args.vg, textColor);
+ nvgText(args.vg, textPos.x, textPos.y, to_display.str().c_str(), NULL);
+ // }
}
};
@@ -355,121 +360,195 @@ struct NumberDisplayWidget3 : TransparentWidget {
struct ComputerscarePatchSequencerWidget : ModuleWidget {
- ComputerscarePatchSequencerWidget(ComputerscarePatchSequencer *module) : ModuleWidget(module) {
- setPanel(SVG::load(assetPlugin(plugin, "res/ComputerscarePatchSequencerPanel.svg")));
+ ComputerscarePatchSequencerWidget(ComputerscarePatchSequencer *module) {
+ setModule(module);
+ setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscarePatchSequencerPanel.svg")));
+
+ int top_row = 70;
+ int row_spacing = 26;
+ int column_spacing = 26;
+
+ int rdx = rand() % 8;
+ int rdy = rand() % 8;
+
+ for (int i = 0 ; i < 10 ; i++)
+ {
+
+
+ for (int j = 0 ; j < 10 ; j++ )
+ {
+ // the part you click
+ addParam(createParam<LEDButton>(Vec(35 + column_spacing * j + 2, top_row + row_spacing * i + 4), module, ComputerscarePatchSequencer::SWITCHES + i + j * 10));
+
- int top_row = 70;
- int row_spacing = 26;
- int column_spacing = 26;
- int rdx = rand() % 8;
- int rdy = rand() % 8;
+ // green light indicates the state of the matrix that is being edited
+ //ModuleLightWidget *bigOne = ModuleLightWidget::create<ComputerscareHugeLight<ComputerscareGreenLight>>(Vec(35 + column_spacing * j +0.4, top_row + row_spacing * i +2.4 ), module, ComputerscarePatchSequencer::SWITCH_LIGHTS + i + j * 10);
+ addChild(createLight<ComputerscareHugeLight<ComputerscareGreenLight>>(Vec(35 + column_spacing * j + 0.4, top_row + row_spacing * i + 2.4 ), module, ComputerscarePatchSequencer::SWITCH_LIGHTS + i + j * 10));
+
+
+
+ //addParam(createParam<LEDButton>(Vec(35 + column_spacing * j+2, top_row + row_spacing * i+4), module, ComputerscarePatchSequencer::SWITCHES + i + j * 10));
+
+
+
+ //addChild(bigOne);
+
+ double xpos = 35 + column_spacing * j + 6.3 + rand() % 8 - 4;
+ double ypos = top_row + row_spacing * i + 8.3 + rand() % 8 - 4;
+ // red light indicates the state of the matrix that is the active step
+ //computerscarered
+ //addParam(createParam<ComputerscareSmallLight>(Vec(xpos, ypos), module, ComputerscarePatchSequencer::SWITCH_LIGHTS + i + j * 10 + 100));
+ addChild(createLight<ComputerscareSmallLight<ComputerscareRedLight>>(Vec(xpos - rdy, ypos + rdx), module, ComputerscarePatchSequencer::SWITCH_LIGHTS + i + j * 10 + 100));
+
+ addChild(createLight<ComputerscareSmallLight<ComputerscareRedLight>>(Vec(xpos + rdx, ypos + rdy), module, ComputerscarePatchSequencer::SWITCH_LIGHTS + i + j * 10 + 100));
+
+ }
+
+ addInput(createInput<InPort>(Vec(3, i * row_spacing + top_row), module, ComputerscarePatchSequencer::INPUT_JACKS + i));
+
+ if (i % 2) {
+ addOutput(createOutput<PointingUpPentagonPort>(Vec(33 + i * column_spacing , top_row + 10 * row_spacing), module, ComputerscarePatchSequencer::OUTPUTS + i));
+ }
+ else {
+ addOutput(createOutput<InPort>(Vec(33 + i * column_spacing , top_row + 10 * row_spacing), module, ComputerscarePatchSequencer::OUTPUTS + i));
+ }
+ }
+
+ //clock input
+ addInput(createInput<InPort>(Vec(24, 37), module, ComputerscarePatchSequencer::TRG_INPUT));
+
+ //reset input
+ addInput(createInput<InPort>(Vec(24, 3), module, ComputerscarePatchSequencer::RESET_INPUT));
+
+ //manual clock button
+ addParam(createParam<LEDButton>(Vec(7 , 37), module, ComputerscarePatchSequencer::MANUAL_CLOCK_PARAM));
+
+ //reset button
+ addParam(createParam<LEDButton>(Vec(7 , 3), module, ComputerscarePatchSequencer::RESET_PARAM));
+
+ //randomize input
+ addInput(createInput<InPort>(Vec(270, 0), module, ComputerscarePatchSequencer::RANDOMIZE_INPUT));
+
+ //active step display
+ NumberDisplayWidget3 *display = new NumberDisplayWidget3();
+ display->box.pos = Vec(56, 40);
+ display->box.size = Vec(50, 20);
+ display->value = &module->addressPlusOne;
+ display->module = module;
+ addChild(display);
+
+ // number of steps display
+ NumberDisplayWidget3 *stepsDisplay = new NumberDisplayWidget3();
+ stepsDisplay->box.pos = Vec(150, 40);
+ stepsDisplay->box.size = Vec(50, 20);
+ stepsDisplay->module = module;
+ stepsDisplay->value = &module->numAddresses;
+ addChild(stepsDisplay);
+
+ //number-of-steps dial. Discrete, 16 positions
+ ParamWidget* stepsKnob = createParam<LrgKnob>(Vec(108, 30), module, ComputerscarePatchSequencer::STEPS_PARAM);
+ addParam(stepsKnob);
+
+ //editAddressNext button
+ addParam(createParam<LEDButton>(Vec(227 , 41), module, ComputerscarePatchSequencer::EDIT_PARAM));
+
+ //editAddressPrevious button
+ addParam(createParam<LEDButton>(Vec(208 , 41), module, ComputerscarePatchSequencer::EDIT_PREV_PARAM));
+
+ // currently editing step #:
+ NumberDisplayWidget3 *displayEdit = new NumberDisplayWidget3();
+ displayEdit->box.pos = Vec(246, 40);
+ displayEdit->box.size = Vec(50, 20);
+ displayEdit->module = module;
+ displayEdit->value = &module->editAddressPlusOne;
+ addChild(displayEdit);
+ fatherSon = module;
+ }
+ json_t *toJson() override
+ {
+ json_t *rootJ = ModuleWidget::toJson();
+ // button states
+ json_t *button_statesJ = json_array();
+ for (int k = 0; k < maxSteps; k++) {
+ for (int i = 0; i < 10; i++)
+ {
+ for (int j = 0; j < 10; j++)
+ {
+ json_t *button_stateJ = json_integer((int) fatherSon->switch_states[k][i][j]);
+ json_array_append_new(button_statesJ, button_stateJ);
+ }
+ }
+ }
+ json_object_set_new(rootJ, "buttons", button_statesJ);
+ json_object_set_new(rootJ, "onlyRandomizeActive", json_boolean(fatherSon->onlyRandomizeActive));
+ json_object_set_new(rootJ, "randomizationStepEnum", json_integer(fatherSon->getRandomizationStepEnum()));
+ json_object_set_new(rootJ, "randomizationOutputBoundsEnum", json_integer(fatherSon->getRandomizationOutputBoundsEnum()));
+ return rootJ;
+ }
- for (int i = 0 ; i < 10 ; i++)
+ void fromJson(json_t *rootJ) override
{
+ ModuleWidget::fromJson(rootJ);
+ // button states
+ json_t *button_statesJ = json_object_get(rootJ, "buttons");
+ if (button_statesJ)
+ {
+ for (int k = 0; k < maxSteps; k++) {
+
+ for (int i = 0; i < 10; i++) {
+ for (int j = 0; j < 10; j++) {
+ json_t *button_stateJ = json_array_get(button_statesJ, k * 100 + i * 10 + j);
+ if (button_stateJ)
+ fatherSon->switch_states[k][i][j] = !!json_integer_value(button_stateJ);
+ }
+ }
+ }
+ }
+ json_t *onlyRandomizeActiveJ = json_object_get(rootJ, "onlyRandomizeActive");
+ if (onlyRandomizeActiveJ) { fatherSon->onlyRandomizeActive = json_is_true(onlyRandomizeActiveJ); }
+
+ json_t *randomizationStepEnumJ = json_object_get(rootJ, "randomizationStepEnum");
+ if (randomizationStepEnumJ) { fatherSon->setRandomizationStepEnum(json_integer_value(randomizationStepEnumJ)); }
+ json_t *randomizationOutputBoundsEnumJ = json_object_get(rootJ, "randomizationOutputBoundsEnum");
+ if (randomizationOutputBoundsEnumJ) { fatherSon->setRandomizationOutputBoundsEnum(json_integer_value(randomizationOutputBoundsEnumJ)); }
- for(int j = 0 ; j < 10 ; j++ )
- {
- // the part you click
- addParam(ParamWidget::create<LEDButton>(Vec(35 + column_spacing * j+2, top_row + row_spacing * i+4), module, ComputerscarePatchSequencer::SWITCHES + i + j * 10, 0.0, 1.0, 0.0));
-
- // green light indicates the state of the matrix that is being edited
- ModuleLightWidget *bigOne = ModuleLightWidget::create<ComputerscareHugeLight<ComputerscareGreenLight>>(Vec(35 + column_spacing * j +0.4, top_row + row_spacing * i +2.4 ), module, ComputerscarePatchSequencer::SWITCH_LIGHTS + i + j * 10);
-
- addChild(bigOne);
-
- double xpos = 35 + column_spacing * j + 6.3 + rand() % 8 - 4;
- double ypos = top_row + row_spacing * i + 8.3 + rand() % 8 - 4;
- // red light indicates the state of the matrix that is the active step
- addChild(ModuleLightWidget::create<ComputerscareSmallLight<ComputerscareRedLight>>(Vec(xpos, ypos), module, ComputerscarePatchSequencer::SWITCH_LIGHTS + i + j * 10 + 100));
- addChild(ModuleLightWidget::create<ComputerscareSmallLight<ComputerscareRedLight>>(Vec(xpos + rdx, ypos + rdy), module, ComputerscarePatchSequencer::SWITCH_LIGHTS + i + j * 10 + 100));
-
- }
- addInput(Port::create<InPort>(Vec(3, i * row_spacing + top_row), Port::INPUT, module, ComputerscarePatchSequencer::INPUT_JACKS + i));
-
- if(i % 2) {
- addOutput(Port::create<PointingUpPentagonPort>(Vec(33 + i * column_spacing , top_row + 10 * row_spacing), Port::OUTPUT, module, ComputerscarePatchSequencer::OUTPUTS + i));
- }
- else {
- addOutput(Port::create<InPort>(Vec(33 + i * column_spacing , top_row + 10 * row_spacing), Port::OUTPUT, module, ComputerscarePatchSequencer::OUTPUTS + i));
- }
- }
-
- //clock input
- addInput(Port::create<InPort>(Vec(24, 37), Port::INPUT, module, ComputerscarePatchSequencer::TRG_INPUT));
-
- //reset input
- addInput(Port::create<InPort>(Vec(24, 3), Port::INPUT, module, ComputerscarePatchSequencer::RESET_INPUT));
-
- //manual clock button
- addParam(ParamWidget::create<LEDButton>(Vec(7 , 37), module, ComputerscarePatchSequencer::MANUAL_CLOCK_PARAM, 0.0, 1.0, 0.0));
-
- //reset button
- addParam(ParamWidget::create<LEDButton>(Vec(7 , 3), module, ComputerscarePatchSequencer::RESET_PARAM, 0.0, 1.0, 0.0));
-
- //randomize input
- addInput(Port::create<InPort>(Vec(270, 0), Port::INPUT, module, ComputerscarePatchSequencer::RANDOMIZE_INPUT));
-
- //active step display
- NumberDisplayWidget3 *display = new NumberDisplayWidget3();
- display->box.pos = Vec(56,40);
- display->box.size = Vec(50, 20);
- display->value = &module->addressPlusOne;
- addChild(display);
-
- // number of steps display
- NumberDisplayWidget3 *stepsDisplay = new NumberDisplayWidget3();
- stepsDisplay->box.pos = Vec(150,40);
- stepsDisplay->box.size = Vec(50, 20);
- stepsDisplay->value = &module->numAddresses;
- addChild(stepsDisplay);
-
- //number-of-steps dial. Discrete, 16 positions
- ParamWidget* stepsKnob = ParamWidget::create<LrgKnob>(Vec(108,30), module, ComputerscarePatchSequencer::STEPS_PARAM, 1.0f, 16.0f, 2.0f);
- addParam(stepsKnob);
-
- //editAddressNext button
- addParam(ParamWidget::create<LEDButton>(Vec(227 , 41), module, ComputerscarePatchSequencer::EDIT_PARAM, 0.0, 1.0, 0.0));
-
- //editAddressPrevious button
- addParam(ParamWidget::create<LEDButton>(Vec(208 , 41), module, ComputerscarePatchSequencer::EDIT_PREV_PARAM, 0.0, 1.0, 0.0));
-
- // currently editing step #:
- NumberDisplayWidget3 *displayEdit = new NumberDisplayWidget3();
- displayEdit->box.pos = Vec(246,40);
- displayEdit->box.size = Vec(50, 20);
- displayEdit->value = &module->editAddressPlusOne;
- addChild(displayEdit);
}
- Menu *createContextMenu() override;
+ void appendContextMenu(Menu *menu) override;
+
+ ComputerscarePatchSequencer *fatherSon;
+ //Menu *createContextMenu() override;
};
struct OnlyRandomizeActiveMenuItem : MenuItem {
- ComputerscarePatchSequencer *patchSequencer;
- void onAction(EventAction &e) override {
- patchSequencer->onlyRandomizeActive = !patchSequencer->onlyRandomizeActive;
- }
- void step() override {
- rightText = patchSequencer->onlyRandomizeActive ? "✔" : "";
- }
-};
+ ComputerscarePatchSequencer *patchSequencer;
+ OnlyRandomizeActiveMenuItem() {
+ }
+ void onAction(const event::Action &e) override {
+ patchSequencer->onlyRandomizeActive = !patchSequencer->onlyRandomizeActive;
+ }
+ void step() override {
+ rightText = patchSequencer->onlyRandomizeActive ? "✔" : "";
+ MenuItem::step();
+ }
+};
struct WhichStepToRandomizeItem : MenuItem {
- ComputerscarePatchSequencer *patchSequencer;
- int stepEnum;
- void onAction(EventAction &e) override {
- patchSequencer->setRandomizationStepEnum(stepEnum);
- }
- void step() override {
- rightText = CHECKMARK(patchSequencer->getRandomizationStepEnum() == stepEnum);
- MenuItem::step();
- }
+ ComputerscarePatchSequencer *patchSequencer;
+ int stepEnum;
+ void onAction(const event::Action &e) override {
+ patchSequencer->setRandomizationStepEnum(stepEnum);
+ }
+ void step() override {
+ rightText = CHECKMARK(patchSequencer->getRandomizationStepEnum() == stepEnum);
+ MenuItem::step();
+ }
};
struct WhichRandomizationOutputBoundsItem : MenuItem {
ComputerscarePatchSequencer *patchSequencer;
int boundsEnum;
- void onAction(EventAction &e) override {
+ void onAction(const event::Action &e) override {
patchSequencer->setRandomizationOutputBoundsEnum(boundsEnum);
}
void step() override {
@@ -477,44 +556,40 @@ struct WhichRandomizationOutputBoundsItem : MenuItem {
MenuItem::step();
}
};
+void ComputerscarePatchSequencerWidget::appendContextMenu(Menu *menu)
+{
+ ComputerscarePatchSequencer *patchSequencer = dynamic_cast<ComputerscarePatchSequencer *>(this->module);
+
+ MenuLabel *spacerLabel = new MenuLabel();
+ menu->addChild(spacerLabel);
+
+
+ MenuLabel *modeLabel = new MenuLabel();
+ modeLabel->text = "Randomization Options";
+ menu->addChild(modeLabel);
+
+
+ OnlyRandomizeActiveMenuItem *onlyRandomizeActiveMenuItem = new OnlyRandomizeActiveMenuItem();
+ onlyRandomizeActiveMenuItem->text = "Only Randomize Active Connections";
+ onlyRandomizeActiveMenuItem->patchSequencer = patchSequencer;
+ menu->addChild(onlyRandomizeActiveMenuItem);
-Menu *ComputerscarePatchSequencerWidget::createContextMenu() {
- Menu *menu = ModuleWidget::createContextMenu();
- ComputerscarePatchSequencer *patchSequencer = dynamic_cast<ComputerscarePatchSequencer*>(module);
- assert(patchSequencer);
-
- MenuLabel *spacerLabel = new MenuLabel();
- menu->addChild(spacerLabel);
-
- MenuLabel *modeLabel = new MenuLabel();
- modeLabel->text = "Randomization Options";
- menu->addChild(modeLabel);
-
- OnlyRandomizeActiveMenuItem *onlyRandomizeActiveMenuItem = new OnlyRandomizeActiveMenuItem();
- onlyRandomizeActiveMenuItem->text = "Only Randomize Active Connections";
- onlyRandomizeActiveMenuItem->patchSequencer = patchSequencer;
- menu->addChild(onlyRandomizeActiveMenuItem);
-
-
- menu->addChild(construct<MenuLabel>());
- menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Which Step to Randomize"));
- menu->addChild(construct<WhichStepToRandomizeItem>(&MenuItem::text, "Edit step", &WhichStepToRandomizeItem::patchSequencer, patchSequencer, &WhichStepToRandomizeItem::stepEnum, 0));
- menu->addChild(construct<WhichStepToRandomizeItem>(&MenuItem::text, "Active step", &WhichStepToRandomizeItem::patchSequencer, patchSequencer, &WhichStepToRandomizeItem::stepEnum, 1));
- menu->addChild(construct<WhichStepToRandomizeItem>(&MenuItem::text, "All steps", &WhichStepToRandomizeItem::patchSequencer, patchSequencer, &WhichStepToRandomizeItem::stepEnum, 2));
-
- // randomization output bounds
+ menu->addChild(construct<MenuLabel>());
+ menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Which Step to Randomize"));
+ menu->addChild(construct<WhichStepToRandomizeItem>(&MenuItem::text, "Edit step", &WhichStepToRandomizeItem::patchSequencer, patchSequencer, &WhichStepToRandomizeItem::stepEnum, 0));
+ menu->addChild(construct<WhichStepToRandomizeItem>(&MenuItem::text, "Active step", &WhichStepToRandomizeItem::patchSequencer, patchSequencer, &WhichStepToRandomizeItem::stepEnum, 1));
+ menu->addChild(construct<WhichStepToRandomizeItem>(&MenuItem::text, "All steps", &WhichStepToRandomizeItem::patchSequencer, patchSequencer, &WhichStepToRandomizeItem::stepEnum, 2));
+
+
+ // randomization output bounds
menu->addChild(construct<MenuLabel>());
menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Output Row Randomization Method"));
menu->addChild(construct<WhichRandomizationOutputBoundsItem>(&MenuItem::text, "One or none", &WhichRandomizationOutputBoundsItem::patchSequencer, patchSequencer, &WhichRandomizationOutputBoundsItem::boundsEnum, 0));
menu->addChild(construct<WhichRandomizationOutputBoundsItem>(&MenuItem::text, "Exactly one", &WhichRandomizationOutputBoundsItem::patchSequencer, patchSequencer, &WhichRandomizationOutputBoundsItem::boundsEnum, 1));
menu->addChild(construct<WhichRandomizationOutputBoundsItem>(&MenuItem::text, "Zero or more", &WhichRandomizationOutputBoundsItem::patchSequencer, patchSequencer, &WhichRandomizationOutputBoundsItem::boundsEnum, 2));
- menu->addChild(construct<WhichRandomizationOutputBoundsItem>(&MenuItem::text, "One or more", &WhichRandomizationOutputBoundsItem::patchSequencer, patchSequencer, &WhichRandomizationOutputBoundsItem::boundsEnum, 3));
-
+ menu->addChild(construct<WhichRandomizationOutputBoundsItem>(&MenuItem::text, "One or more", &WhichRandomizationOutputBoundsItem::patchSequencer, patchSequencer, &WhichRandomizationOutputBoundsItem::boundsEnum, 3));
- return menu;
}
-// Specify the Module and ModuleWidget subclass, human-readable
-// author name for categorization per plugin, module slug (should never
-// change), human-readable module name, and any number of tags
-// (found in `include/tags.hpp`) separated by commas.
-Model *modelComputerscarePatchSequencer = Model::create<ComputerscarePatchSequencer, ComputerscarePatchSequencerWidget>("computerscare", "computerscare-patch-sequencer", "Father & Son Patch Sequencer", UTILITY_TAG,SEQUENCER_TAG);
+
+Model *modelComputerscarePatchSequencer = createModel<ComputerscarePatchSequencer, ComputerscarePatchSequencerWidget>("computerscare-fatherandson");
+
diff --git a/src/ComputerscareRolyPouter.cpp b/src/ComputerscareRolyPouter.cpp
@@ -0,0 +1,152 @@
+#include "Computerscare.hpp"
+
+struct ComputerscareRolyPouter;
+
+const int numKnobs = 16;
+
+struct ComputerscareRolyPouter : Module {
+ int counter = 0;
+ int routing[numKnobs];
+ int numOutputChannels = 16;
+ ComputerscareSVGPanel* panelRef;
+ enum ParamIds {
+ KNOB,
+ NUM_PARAMS = KNOB + numKnobs
+ };
+ enum InputIds {
+ POLY_INPUT,
+ NUM_INPUTS
+ };
+ enum OutputIds {
+ POLY_OUTPUT,
+ NUM_OUTPUTS
+ };
+ enum LightIds {
+ NUM_LIGHTS
+ };
+
+
+ ComputerscareRolyPouter() {
+
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+
+ for (int i = 0; i < numKnobs; i++) {
+ configParam(KNOB + i, 1.f, 16.f, (i + 1), "output ch" + std::to_string(i + 1) + " = input ch");
+ routing[i] = i;
+ }
+
+ }
+ void process(const ProcessArgs &args) override {
+ counter++;
+ int inputChannels = inputs[POLY_INPUT].getChannels();
+ int knobSetting;
+ if (counter > 5012) {
+ //printf("%f \n",random::uniform());
+ counter = 0;
+ for (int i = 0; i < numKnobs; i++) {
+ routing[i] = (int)params[KNOB + i].getValue();
+ }
+
+ }
+ outputs[POLY_OUTPUT].setChannels(numOutputChannels);
+ for (int i = 0; i < numOutputChannels; i++) {
+ knobSetting = params[KNOB+i].getValue();
+ if(knobSetting > inputChannels) {
+ outputs[POLY_OUTPUT].setVoltage(0,i);
+ }
+ else {
+ outputs[POLY_OUTPUT].setVoltage(inputs[POLY_INPUT].getVoltage(knobSetting - 1), i);
+ }
+ }
+ }
+
+};
+struct PouterSmallDisplay : SmallLetterDisplay
+{
+ ComputerscareRolyPouter *module;
+ int ch;
+ PouterSmallDisplay(int outputChannelNumber)
+ {
+
+ ch = outputChannelNumber;
+ SmallLetterDisplay();
+ };
+ void draw(const DrawArgs &args)
+ {
+ //this->setNumDivisionsString();
+ if (module)
+ {
+
+
+ std::string str = std::to_string(module->routing[ch]);
+ value = str;
+
+
+
+ }
+ SmallLetterDisplay::draw(args);
+ }
+
+};
+
+struct ComputerscareRolyPouterWidget : ModuleWidget {
+ ComputerscareRolyPouterWidget(ComputerscareRolyPouter *module) {
+
+ setModule(module);
+ //setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareRolyPouterPanel.svg")));
+ box.size = Vec(4 * 15, 380);
+ {
+ ComputerscareSVGPanel *panel = new ComputerscareSVGPanel();
+ panel->box.size = box.size;
+ panel->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareRolyPouterPanel.svg")));
+
+ //module->panelRef = panel;
+
+ addChild(panel);
+
+ }
+ float xx;
+ float yy;
+ for (int i = 0; i < numKnobs; i++) {
+ xx = 1.4f + 24.3 * (i - i % 8) / 8;
+ yy = 66 + 36.5 * (i % 8) + 14.3 * (i - i % 8) / 8;
+ addLabeledKnob(std::to_string(i + 1), xx, yy, module, i, (i - i % 8) * 1.3 - 5, i<8 ? 4 : 0);
+ }
+
+
+ addInput(createInput<InPort>(Vec(1, 34), module, ComputerscareRolyPouter::POLY_INPUT));
+ addOutput(createOutput<PointingUpPentagonPort>(Vec(32, 24), module, ComputerscareRolyPouter::POLY_OUTPUT));
+
+ }
+ void addLabeledKnob(std::string label, int x, int y, ComputerscareRolyPouter *module, int index, float labelDx, float labelDy) {
+
+ pouterSmallDisplay = new PouterSmallDisplay(index);
+ pouterSmallDisplay->box.size = Vec(20, 20);
+ pouterSmallDisplay->box.pos = Vec(x-2.5 ,y+1.f);
+ pouterSmallDisplay->fontSize = 26;
+ pouterSmallDisplay->textAlign = 18;
+ pouterSmallDisplay->textColor = COLOR_COMPUTERSCARE_LIGHT_GREEN;
+ pouterSmallDisplay->breakRowWidth=20;
+ pouterSmallDisplay->module = module;
+
+
+ outputChannelLabel = new SmallLetterDisplay();
+ outputChannelLabel->box.size = Vec(5, 5);
+ outputChannelLabel->box.pos = Vec(x + labelDx, y - 12 + labelDy);
+ outputChannelLabel->fontSize = 14;
+ outputChannelLabel->textAlign = index < 8 ? 1 : 4;
+ outputChannelLabel->breakRowWidth=15;
+
+ outputChannelLabel->value = std::to_string(index + 1);
+
+ addParam(createParam<MediumDotSnapKnob>(Vec(x, y), module, ComputerscareRolyPouter::KNOB + index));
+ addChild(pouterSmallDisplay);
+ addChild(outputChannelLabel);
+
+ }
+ PouterSmallDisplay* pouterSmallDisplay;
+ SmallLetterDisplay* outputChannelLabel;
+};
+
+
+Model *modelComputerscareRolyPouter = createModel<ComputerscareRolyPouter, ComputerscareRolyPouterWidget>("computerscare-roly-pouter");
diff --git a/src/ComputerscareSVGPanel.cpp b/src/ComputerscareSVGPanel.cpp
@@ -0,0 +1,41 @@
+
+#include "Computerscare.hpp"
+
+namespace rack {
+namespace app {
+
+
+void PanelBorder::draw(const DrawArgs &ctx) {
+ NVGcolor borderColor = nvgRGBAf(0.5, 0.5, 0.5, 0.5);
+ nvgBeginPath(ctx.vg);
+ nvgRect(ctx.vg, 0.5, 0.5, box.size.x - 1.0, box.size.y - 1.0);
+ nvgStrokeColor(ctx.vg, borderColor);
+ nvgStrokeWidth(ctx.vg, 1.0);
+ //nvgStroke(ctx.vg);
+}
+
+
+void ComputerscareSVGPanel::step() {
+ if (math::isNear(APP->window->pixelRatio, 1.0)) {
+ // Small details draw poorly at low DPI, so oversample when drawing to the framebuffer
+ oversample = 2.0;
+ }
+ widget::FramebufferWidget::step();
+}
+
+void ComputerscareSVGPanel::setBackground(std::shared_ptr<Svg> svg) {
+ widget::SvgWidget *sw = new widget::SvgWidget;
+ sw->setSvg(svg);
+ addChild(sw);
+
+ // Set size
+ box.size = sw->box.size.div(RACK_GRID_SIZE).round().mult(RACK_GRID_SIZE);
+
+ PanelBorder *pb = new PanelBorder;
+ pb->box.size = box.size;
+ addChild(pb);
+}
+
+
+} // namespace app
+} // namespace rack
diff --git a/src/ComputerscareSolyPequencer.cpp b/src/ComputerscareSolyPequencer.cpp
@@ -0,0 +1,206 @@
+#include "Computerscare.hpp"
+
+struct ComputerscareSolyPequencer;
+
+struct ComputerscareSolyPequencer : Module {
+ int currentStep[16] = {0};
+ int numSteps[16] = {16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16};
+ bool autoNumSteps = true;
+ rack::dsp::SchmittTrigger clockTriggers[16];
+ rack::dsp::SchmittTrigger resetTriggers[16];
+
+ rack::dsp::SchmittTrigger globalManualClockTrigger;
+ rack::dsp::SchmittTrigger globalManualResetTrigger;
+
+
+ ComputerscareSVGPanel* panelRef;
+ enum ParamIds {
+ MANUAL_RUN_BUTTON,
+ MANUAL_CLOCK_BUTTON,
+ MANUAL_RESET_BUTTON,
+ NUM_STEPS_AUTO_BUTTON,
+ NUM_STEPS_KNOB,
+ NUM_PARAMS
+ };
+ enum InputIds {
+ POLY_INPUT,
+ CLOCK_INPUT,
+ RESET_INPUT,
+ RUN_INPUT,
+ NUM_STEPS_INPUT,
+ NUM_INPUTS
+ };
+ enum OutputIds {
+ POLY_OUTPUT,
+ NUM_OUTPUTS
+ };
+ enum LightIds {
+ NUM_LIGHTS
+ };
+
+
+ ComputerscareSolyPequencer() {
+
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(MANUAL_CLOCK_BUTTON, 0.f, 1.f, 0.f);
+ configParam(MANUAL_RESET_BUTTON, 0.f, 1.f, 0.f);
+ // configParam(KNOB + i, 1.f, 16.f, (i + 1), "output ch:" + std::to_string(i + 1) + " = input ch");
+
+ }
+ void resetAll() {
+ for (int i = 0; i < 16; i++) {
+ currentStep[i] = 0;
+ }
+ }
+ void process(const ProcessArgs &args) override {
+ int numInputChannels = inputs[POLY_INPUT].getChannels();
+ int numReset = inputs[RESET_INPUT].getChannels();
+ int numClock = inputs[CLOCK_INPUT].getChannels();
+ int numNumSteps = inputs[NUM_STEPS_INPUT].getChannels();
+ int numOutputChannels = numClock > 0 ? numClock : 1;
+ bool globalClocked = globalManualClockTrigger.process(params[MANUAL_CLOCK_BUTTON].getValue());
+ outputs[POLY_OUTPUT].setChannels(numOutputChannels);
+ if (inputs[POLY_INPUT].isConnected()) {
+ for (int j = 0; j < numOutputChannels; j++) {
+ if (globalClocked || clockTriggers[j].process(inputs[CLOCK_INPUT].getVoltage(j))) {
+ currentStep[j]++;
+ if (autoNumSteps) {
+ currentStep[j] = currentStep[j] % numInputChannels;
+ }
+ else {
+ currentStep[j] = currentStep[j] % numSteps[j];
+ }
+
+
+ }
+ if(j <= numReset) {
+ if(resetTriggers[j].process(inputs[RESET_INPUT].getVoltage(j))) {
+ currentStep[j] = 0;
+ }
+ }
+ }
+
+ for (int c = 0; c < numOutputChannels; c++) {
+ outputs[POLY_OUTPUT].setVoltage(inputs[POLY_INPUT].getVoltage(currentStep[c]), c);
+ }
+ }
+ if (globalManualResetTrigger.process(params[MANUAL_RESET_BUTTON].getValue())) {
+ resetAll();
+ }
+
+ }
+
+};
+struct PequencerSmallDisplay : SmallLetterDisplay
+{
+ ComputerscareSolyPequencer *module;
+ int ch;
+ PequencerSmallDisplay(int outputChannelNumber)
+ {
+
+ ch = outputChannelNumber;
+ SmallLetterDisplay();
+ };
+ void draw(const DrawArgs &args)
+ {
+ //this->setNumDivisionsString();
+ if (module)
+ {
+
+
+ //std::string str = std::to_string(module->routing[ch]);
+ value = std::to_string(module->currentStep[ch]);
+
+
+
+ }
+ SmallLetterDisplay::draw(args);
+ }
+
+};
+
+struct ComputerscareSolyPequencerWidget : ModuleWidget {
+ ComputerscareSolyPequencerWidget(ComputerscareSolyPequencer *module) {
+
+ setModule(module);
+ //setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareSolyPequencerPanel.svg")));
+ box.size = Vec(4 * 15, 380);
+ {
+ ComputerscareSVGPanel *panel = new ComputerscareSVGPanel();
+ panel->box.size = box.size;
+ panel->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareSolyPequencerPanel.svg")));
+
+ //module->panelRef = panel;
+
+ addChild(panel);
+
+ }
+
+ addOutput(createOutput<PointingUpPentagonPort>(Vec(14, 48), module, ComputerscareSolyPequencer::POLY_OUTPUT));
+
+
+ addLabeledKnob("Steps", 10, 124, module, 0, 0, 0);
+ stepNumberGrid(1,230,30,15,module);
+
+
+ addInput(createInput<InPort>(Vec(19, 102), module, ComputerscareSolyPequencer::POLY_INPUT));
+
+
+ addParam(createParam<ComputerscareClockButton>(Vec(10, 130), module, ComputerscareSolyPequencer::MANUAL_CLOCK_BUTTON));
+ addInput(createInput<InPort>(Vec(10, 144), module, ComputerscareSolyPequencer::CLOCK_INPUT));
+
+ addParam(createParam<ComputerscareResetButton>(Vec(30, 168), module, ComputerscareSolyPequencer::MANUAL_RESET_BUTTON));
+ addInput(createInput<InPort>(Vec(30, 182), module, ComputerscareSolyPequencer::RESET_INPUT));
+
+
+
+
+
+ }
+ void stepNumberGrid(int x, int y, int xspacing, int yspacing, ComputerscareSolyPequencer *module) {
+ for(int i = 0; i < 2; i++) {
+ for(int j = 0; j < 8; j++) {
+ psd = new PequencerSmallDisplay(i*8+j);
+ psd->box.size = Vec(10, 10);
+ psd->box.pos = Vec(x +i*xspacing , y + j*yspacing);
+ psd->fontSize = 18;
+ psd->textAlign = 18;
+ psd->textColor =nvgRGB(0x24, 0x44, 0x31);
+ psd->breakRowWidth = 20;
+ psd->module = module;
+ addChild(psd);
+ }
+ }
+ }
+ void addLabeledKnob(std::string label, int x, int y, ComputerscareSolyPequencer *module, int index, float labelDx, float labelDy) {
+
+ /*psd = new PequencerSmallDisplay(index);
+ psd->box.size = Vec(20, 20);
+ psd->box.pos = Vec(x - 2.5 , y + 1.f);
+ psd->fontSize = 26;
+ psd->textAlign = 18;
+ psd->textColor =nvgRGB(0x24, 0x44, 0x31);
+ psd->breakRowWidth = 20;
+ psd->module = module;*/
+
+
+ outputChannelLabel = new SmallLetterDisplay();
+ outputChannelLabel->box.size = Vec(5, 5);
+ outputChannelLabel->box.pos = Vec(x + labelDx, y - 12 + labelDy);
+ outputChannelLabel->fontSize = 14;
+ outputChannelLabel->textAlign = index < 8 ? 1 : 4;
+ outputChannelLabel->breakRowWidth = 15;
+
+ //outputChannelLabel->value = "hogman";
+
+ //addParam(createParam<MediumDotSnapKnob>(Vec(x, y), module, ComputerscareSolyPequencer::KNOB + index));
+ //addChild(psd);
+ addChild(outputChannelLabel);
+
+ }
+ PequencerSmallDisplay* psd;
+ SmallLetterDisplay* outputChannelLabel;
+};
+
+
+Model *modelComputerscareSolyPequencer = createModel<ComputerscareSolyPequencer, ComputerscareSolyPequencerWidget>("computerscare-soly-pequencer");
diff --git a/src/ComputerscareSvgPort.cpp b/src/ComputerscareSvgPort.cpp
@@ -0,0 +1,35 @@
+#include "app/SvgPort.hpp"
+#include "Computerscare.hpp"
+
+namespace rack {
+namespace app {
+
+
+ComputerscareSvgPort::ComputerscareSvgPort() {
+ fb = new widget::FramebufferWidget;
+ addChild(fb);
+
+ shadow = new CircularShadow;
+ fb->addChild(shadow);
+ // Avoid breakage if plugins fail to call setSvg()
+ // In that case, just disable the shadow.
+ shadow->box.size = math::Vec(0,0);
+
+ sw = new widget::SvgWidget;
+ fb->addChild(sw);
+}
+
+void ComputerscareSvgPort::setSvg(std::shared_ptr<Svg> svg) {
+ sw->setSvg(svg);
+ fb->box.size = sw->box.size;
+ box.size = sw->box.size;
+ shadow->box.size = math::Vec(0,0);
+ // Move shadow downward by 10%
+ shadow->box.pos = math::Vec(0, sw->box.size.y * 0.10);
+ // shadow->box = shadow->box.grow(math::Vec(2, 2));
+ fb->dirty = true;
+}
+
+
+} // namespace app
+} // namespace rack
diff --git a/src/ComputerscareTolyPools.cpp b/src/ComputerscareTolyPools.cpp
@@ -0,0 +1,203 @@
+#include "Computerscare.hpp"
+
+struct ComputerscareTolyPools;
+
+/*
+Input:
+
+first rotate
+knob, CV
+
+numChannels select (auto)
+knob,cv
+
+
+input:
+0123456789abcdef
+
+want:
+3456
+
+rotate 4,clip 4
+
+*/
+float mapChannelCountToVoltage(int ch) {
+ return ( (float) ch ) / 1.6f;
+}
+int mapVoltageToChannelCount(float voltage) {
+ return (int) round(voltage * 1.6f);
+}
+
+struct ComputerscareTolyPools : Module {
+ int counter = 83910;
+ int numChannels = 16;
+ int rotation = 0;
+ int numInputChannels=1;
+ ComputerscareSVGPanel* panelRef;
+ enum ParamIds {
+ ROTATE_KNOB,
+ NUM_CHANNELS_KNOB,
+ AUTO_CHANNELS_SWITCH,
+ NUM_PARAMS
+
+ };
+ enum InputIds {
+ POLY_INPUT,
+ ROTATE_CV,
+ NUM_CHANNELS_CV,
+ NUM_INPUTS
+ };
+ enum OutputIds {
+ POLY_OUTPUT,
+ NUM_CHANNELS_OUTPUT,
+ NUM_OUTPUTS
+ };
+ enum LightIds {
+ NUM_LIGHTS
+ };
+
+
+ ComputerscareTolyPools() {
+
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+
+ configParam(ROTATE_KNOB, 0.f, 15.f, 0.f, "Rotate input", " channels");
+ configParam(NUM_CHANNELS_KNOB, 1.f, 16.f, 16.f, "Number of Output Channels");
+
+
+ }
+ void process(const ProcessArgs &args) override {
+ counter++;
+ if (counter > 982) {
+ counter = 0;
+ numChannels = params[NUM_CHANNELS_KNOB].getValue();
+ rotation = params[ROTATE_KNOB].getValue();
+ numInputChannels = inputs[POLY_INPUT].getChannels();
+ }
+ if(inputs[NUM_CHANNELS_CV].isConnected()) {
+ numChannels = mapVoltageToChannelCount(inputs[NUM_CHANNELS_CV].getVoltage());
+ }
+ if(inputs[ROTATE_CV].isConnected()) {
+ rotation = mapVoltageToChannelCount(inputs[ROTATE_CV].getVoltage());
+ }
+ outputs[POLY_OUTPUT].setChannels(numChannels);
+ outputs[NUM_CHANNELS_OUTPUT].setVoltage(mapChannelCountToVoltage(numInputChannels));
+
+ for (int i = 0; i < numChannels; i++) {
+ outputs[POLY_OUTPUT].setVoltage(inputs[POLY_INPUT].getVoltage((i + rotation + 16) % 16), i);
+ }
+ }
+
+};
+struct PoolsSmallDisplay : SmallLetterDisplay
+{
+ ComputerscareTolyPools *module;
+ int ch;
+ int type = 0;
+ PoolsSmallDisplay(int someType)
+ {
+ type = someType;
+ SmallLetterDisplay();
+ };
+ void draw(const DrawArgs &args)
+ {
+ //this->setNumDivisionsString();
+ if (module)
+ {
+
+ if (type == 0) {
+ value = std::to_string(module->numChannels);
+ }
+ else if(type == 1) {
+ value = std::to_string(module->rotation);
+ }
+ else if(type==2) {
+ value = std::to_string(module->numInputChannels);
+ }
+
+ }
+ SmallLetterDisplay::draw(args);
+ }
+
+};
+
+struct ComputerscareTolyPoolsWidget : ModuleWidget {
+ ComputerscareTolyPoolsWidget(ComputerscareTolyPools *module) {
+
+ setModule(module);
+ //setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareTolyPoolsPanel.svg")));
+ box.size = Vec(4 * 15, 380);
+ {
+ ComputerscareSVGPanel *panel = new ComputerscareSVGPanel();
+ panel->box.size = box.size;
+ panel->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareTolyPoolsPanel.svg")));
+
+ //module->panelRef = panel;
+
+ addChild(panel);
+
+ }
+ /*float xx;
+ float yy;
+ for (int i = 0; i < numKnobs; i++) {
+ xx = 1.4f + 24.3 * (i - i % 8) / 8;
+ yy = 66 + 36.5 * (i % 8) + 14.3 * (i - i % 8) / 8;
+ addLabeledKnob(std::to_string(i + 1), xx, yy, module, i, (i - i % 8) * 1.3 - 5, i<8 ? 4 : 0);
+ }*/
+
+ //addParam
+
+ addInput(createInput<InPort>(Vec(1 , 50), module, ComputerscareTolyPools::POLY_INPUT));
+ poolsSmallDisplay = new PoolsSmallDisplay(2);
+ poolsSmallDisplay->box.size = Vec(14, 20);
+ poolsSmallDisplay->box.pos = Vec(-3 , 80);
+ poolsSmallDisplay->fontSize = 22;
+ poolsSmallDisplay->textAlign = 18;
+ poolsSmallDisplay->breakRowWidth = 20;
+ poolsSmallDisplay->module = module;
+ addChild(poolsSmallDisplay);
+
+
+ addLabeledKnob("Num Output Channels", 10, 156, module, ComputerscareTolyPools::NUM_CHANNELS_KNOB, -14, -24, 0);
+ addInput(createInput<InPort>(Vec(10, 186), module, ComputerscareTolyPools::NUM_CHANNELS_CV));
+
+ addLabeledKnob("Rotation", 10, 256, module, ComputerscareTolyPools::ROTATE_KNOB, -13, -5, 1);
+ addInput(createInput<InPort>(Vec(10,286), module, ComputerscareTolyPools::ROTATE_CV));
+
+
+ addOutput(createOutput<OutPort>(Vec(28, 30), module, ComputerscareTolyPools::POLY_OUTPUT));
+
+ addOutput(createOutput<PointingUpPentagonPort>(Vec(31, 76), module, ComputerscareTolyPools::NUM_CHANNELS_OUTPUT));
+ }
+ void addLabeledKnob(std::string label, int x, int y, ComputerscareTolyPools *module, int index, float labelDx, float labelDy, int type) {
+
+ poolsSmallDisplay = new PoolsSmallDisplay(type);
+ poolsSmallDisplay->box.size = Vec(20, 20);
+ poolsSmallDisplay->box.pos = Vec(x - 2.5 , y + 1.f);
+ poolsSmallDisplay->fontSize = 26;
+ poolsSmallDisplay->textAlign = 18;
+ poolsSmallDisplay->textColor = COLOR_COMPUTERSCARE_LIGHT_GREEN;
+ poolsSmallDisplay->breakRowWidth = 20;
+ poolsSmallDisplay->module = module;
+
+
+ outputChannelLabel = new SmallLetterDisplay();
+ outputChannelLabel->box.size = Vec(5, 5);
+ outputChannelLabel->box.pos = Vec(x + labelDx, y - 12 + labelDy);
+ outputChannelLabel->fontSize = 15;
+ outputChannelLabel->textAlign = 1;
+ outputChannelLabel->breakRowWidth = 55;
+
+ outputChannelLabel->value = label;
+
+ addParam(createParam<MediumDotSnapKnob>(Vec(x, y), module, index));
+ addChild(poolsSmallDisplay);
+ //addChild(outputChannelLabel);
+
+ }
+ PoolsSmallDisplay* poolsSmallDisplay;
+ SmallLetterDisplay* outputChannelLabel;
+};
+
+
+Model *modelComputerscareTolyPools = createModel<ComputerscareTolyPools, ComputerscareTolyPoolsWidget>("computerscare-toly-pools");
diff --git a/src/dtpulse.cpp b/src/dtpulse.cpp
@@ -365,6 +365,9 @@ bool matchParens(std::string value) {
theyMatch = (parensCount==0) && (squareCount ==0) && (curlyCount==0) && (angleCount==0);
return theyMatch;
}
+ void printVector(std::vector <int> intVector) {
+ printf("vector\n");
+ }
void whoKnows(std::string input) {
//AbsoluteSequence abs = AbsoluteSequence(input,knobandinputlookup);
/*abs.print();
@@ -420,8 +423,8 @@ LaundrySoupSequence::LaundrySoupSequence(std::string expr) {
void LaundrySoupSequence::print() {
printf(" Laundry tokenStack:\n");
printTokenVector(tokenStack);
- printf(" Laundry pulseSequence:\n");
- printVector(pulseSequence);
+ //printf(" Laundry pulseSequence:\n");
+ //printVector(pulseSequence);
}
std::vector<int> LaundrySoupSequence::makePulseSequence(std::vector<Token> tokens) {
std::vector<int> output = {};