tor-commits
Threads by month
- ----- 2025 -----
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
February 2019
- 16 participants
- 1788 discussions
commit 09ea0377ba1b6ed7892aec777640729f494afce8
Merge: 2a08a7b 0fb0128
Author: juga0 <juga(a)riseup.net>
Date: Sat Feb 23 10:55:43 2019 +0000
Merge branch 'bug29149_squashed'
Solved conflicts:
docs/source/specification.rst
INSTALL.rst | 2 +-
README.md | 2 +-
docs/source/activity_all.puml | 25 +
docs/source/activity_second_relay.puml | 30 +
docs/source/bandwidth_authorities.rst | 28 +
docs/source/bandwidth_distribution.rst | 38 +
docs/source/classes_original.puml | 220 +++
docs/source/code_design.rst | 60 +
docs/source/conf.py | 5 +-
docs/source/config.rst | 8 +-
docs/source/config_tor.rst | 41 +-
docs/source/data/critical_sections.dia | Bin 0 -> 3540 bytes
docs/source/data/scanner.dia | Bin 0 -> 1997 bytes
docs/source/data/use_cases_data_sources.dia | Bin 0 -> 1743 bytes
docs/source/diagrams.rst | 16 -
docs/source/documenting.rst | 4 +-
docs/source/how_works.rst | 158 ++
docs/source/images/20180901_163442.png | Bin 0 -> 38517 bytes
docs/source/images/20180901_164014.png | Bin 0 -> 43522 bytes
...710932-ac1eeea8-9960-11e8-9e7e-21fddff2f7a3.png | Bin 0 -> 38367 bytes
...710933-ac95e0bc-9960-11e8-9aaf-0bb1f83b65e2.png | Bin 0 -> 33525 bytes
docs/source/images/activity_all.svg | 1 +
docs/source/images/activity_second_relay.svg | 1 +
docs/source/images/advertised_bandwidth.png | Bin 0 -> 58213 bytes
docs/source/images/bwauth.svg | 1570 ++++++++++++++++++++
docs/source/images/bwauth_measured_7days.png | Bin 0 -> 28457 bytes
docs/source/images/bwauth_measured_90days.png | Bin 0 -> 52889 bytes
docs/source/images/classes_original.svg | 1 +
docs/source/images/classes_sbws.svg | 246 ---
docs/source/images/critical_sections.svg | 516 +++++++
docs/source/images/pycallgraph.png | Bin 0 -> 381993 bytes
docs/source/images/scanner.svg | 248 ++++
docs/source/images/threads.svg | 1 +
docs/source/images/torperf.png | Bin 0 -> 99045 bytes
docs/source/images/totalcw.png | Bin 0 -> 81651 bytes
docs/source/images/use_cases_classes.svg | 401 +++++
docs/source/images/use_cases_data_sources.svg | 291 ++++
docs/source/index.rst | 16 +-
docs/source/monitoring_bandwidth.rst | 35 +
docs/source/sbws.rst | 2 +-
docs/source/specification.rst | 167 ---
docs/source/state.rst | 2 +
docs/source/threads.puml | 23 +
docs/source/tor_bandwidth_files.rst | 32 +
sbws/core/scanner.py | 7 +
45 files changed, 3741 insertions(+), 456 deletions(-)
1
0

23 Feb '19
commit 07d36738cadf6c35b25420408a51ab1f6ce750ed
Author: juga0 <juga(a)riseup.net>
Date: Wed Jan 23 15:10:44 2019 +0000
docs: add which Tor version is recommended
---
INSTALL.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/INSTALL.rst b/INSTALL.rst
index bb41e6b..2cc2a10 100644
--- a/INSTALL.rst
+++ b/INSTALL.rst
@@ -19,7 +19,7 @@ Continue reading to install ``sbws`` in other ways.
System requirements
--------------------
-- Tor
+- Tor (last stable version is recommended)
- Python 3 (>= 3.5)
- virtualenv_ (while there is not ``stem`` release > 1.6.0, it is
recommended to install the required python dependencies in a virtualenv)
1
0
commit bc6ba301f09e9e14037dd7806a2e10e9904b0dfe
Author: juga0 <juga(a)riseup.net>
Date: Wed Jan 23 15:11:43 2019 +0000
docs: remove section already in INSTALL
---
docs/source/specification.rst | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/docs/source/specification.rst b/docs/source/specification.rst
index f35f517..598465f 100644
--- a/docs/source/specification.rst
+++ b/docs/source/specification.rst
@@ -78,17 +78,6 @@ ever measured within the validity period into a single file for the tor process
the bandwidth authority is running to read. The bandwidth authority includes
these aggregated results in its votes.
-Sbws dependencies
------------------
-
-Sbws scanners run tor for themselves and do not require a system tor process to
-exist. Tor MUST be installed, and it SHOULD be any up-to-date version supported
-by the network team.
-
-Sbws uses the python library Stem_ to launch and control tor and the python
-library Requests_ to make HTTP(S) requests. Both are generally packaged for
-most major Linux distributions, and are always available in PyPI.
-
How it all works
----------------
1
0
commit 11458e883bef296ec3a8f89e9d3d59bb758fbed9
Author: juga0 <juga(a)riseup.net>
Date: Thu Feb 7 10:27:34 2019 +0000
docs: remove prioritization section
since it's already explained in the previous paragraph.
---
docs/source/specification.rst | 46 -------------------------------------------
1 file changed, 46 deletions(-)
diff --git a/docs/source/specification.rst b/docs/source/specification.rst
index 4ad474c..83c7467 100644
--- a/docs/source/specification.rst
+++ b/docs/source/specification.rst
@@ -116,52 +116,6 @@ Classes used in the initialization:
Source code: :func:`sbws.core.scanner.run_speedtest`
-Simple relay prioritization
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This may be the most complex part of sbws.
-
-Sbws makes an effort to prioritize measurements of relays that don't have many
-recent results. For example: relays that just joined the Tor network or relays
-that haven't been online in the past few days. This goal is achieved using a
-min-priority queue and the concept of *freshness*.
-
-Freshness is defined as the amount of time between when the measurement was
-made and the time sbws will stop considering it valid. Thus, a measurement made
-more recently will have more time until it is no longer valid (higher
-freshness) and a measurement made a long time ago will have very little time
-until it is no longer valid (lower freshness).
-
-Over time, sbws will make many measurements for a given relay. The sum of these
-measurements' freshnesses is the relay's priority. As we are prioritizing like
-a min-priority queue, a higher sum of freshnesses means *worse* priority while
-a lower sum of freshnesses means *better* priority.
-
- Example: AlphaRelay33 joined the network yesterday and sbws has measured it
- once so far. BetaRelay87 has been in the network for years and has been
- getting measured regularly approximately once a day. BetaRelay87 has five
- measurements that are still valid, with freshnesses 10, 100, 500, 1000, and
- 1500. AlphaRelay33's one measurement has freshness 3000. Because the sum of
- BetaRelay87's 5 measurements is greater than AlphaRelay33's one measurement,
- AlphaRelay33 has *better* priority and will be measured next before
- BetaRelay87.
-
- Example: AlphaRelay33 is still a brand new relay with its one measurement
- in the last day with freshness 3000. CharlieRelay9 has been in the network
- for a long time, but had technical issues last week and hasn't been online in
- many days. When CharlieRelay9's operator finally gets him back online, he
- still has one valid measurement with freshness 10. Because AlphaRelay33's
- measurement is fresher, CharlieRelay9 has *better* priority and will get
- measured first.
-
-Sometimes measurements fail. Hopefully they fail because of transient issues,
-and with that hope in mind, it would be nice if a relay with a failed
-measurement didn't have to wait a long time to have another chance at a
-successful measurement. For this reason, when summing the freshnesses of
-results for a given relay, sbws will artificially *reduce* the freshness for
-measurements that were not successful. This makes the sum of freshnesses lower
-for that relay, and therefore the priority *better* so it can be measured again
-sooner.
Simple result storage
~~~~~~~~~~~~~~~~~~~~~
1
0
commit ad9b53e831dfe2b945a21e282cd63bc858dd1153
Author: juga0 <juga(a)riseup.net>
Date: Thu Feb 7 10:24:31 2019 +0000
docs: explain how sbws is initialized
---
docs/source/data/scanner.dia | Bin 0 -> 1997 bytes
docs/source/data/use_cases_data_sources.dia | Bin 0 -> 1743 bytes
docs/source/images/scanner.svg | 248 ++++++++++++++++
docs/source/images/use_cases_classes.svg | 401 ++++++++++++++++++++++++++
docs/source/images/use_cases_data_sources.svg | 291 +++++++++++++++++++
docs/source/specification.rst | 49 +++-
6 files changed, 985 insertions(+), 4 deletions(-)
diff --git a/docs/source/data/scanner.dia b/docs/source/data/scanner.dia
new file mode 100644
index 0000000..16bc840
Binary files /dev/null and b/docs/source/data/scanner.dia differ
diff --git a/docs/source/data/use_cases_data_sources.dia b/docs/source/data/use_cases_data_sources.dia
new file mode 100644
index 0000000..b111ab8
Binary files /dev/null and b/docs/source/data/use_cases_data_sources.dia differ
diff --git a/docs/source/images/scanner.svg b/docs/source/images/scanner.svg
new file mode 100644
index 0000000..8872437
--- /dev/null
+++ b/docs/source/images/scanner.svg
@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="542pt" height="242pt" viewBox="0 0 542 242" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 0.640625 2.296875 L 0.640625 -9.171875 L 7.140625 -9.171875 L 7.140625 2.296875 Z M 1.375 1.578125 L 6.421875 1.578125 L 6.421875 -8.4375 L 1.375 -8.4375 Z M 1.375 1.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 7.3125 -3.84375 L 7.3125 -3.28125 L 1.9375 -3.28125 C 1.988281 -2.46875 2.226562 -1.851562 2.65625 -1.4375 C 3.09375 -1.019531 3.695312 -0.8125 4.46875 -0.8125 C 4.914062 -0.8125 5.347656 -0.863281 5.765625 -0.96875 C 6.191406 -1.082031 6.613281 -1.25 7.03125 -1.46875 L 7.03125 -0.359375 C 6.613281 -0.179688 6.179688 -0.046875 5.734375 0.046875 C 5.296875 0.140625 4.851562 0.1875 4.40625 0.1875 C 3.269531 0.1875 2.367188 -0.140625 1.703125 -0.796875 C 1.046875 -1.460938 0.71875 -2.359375 0.71875 -3.484375 C 0.71875 -4.648438 1.03125 -5.570312 1.65625 -6.25 C 2.289062 -6.9375 3.140625 -7.28125 4.203125 -7.28125 C 5.160156 -7.28125 5.914062 -6.972656 6.46875 -6.359375 C 7.03125 -5.742188 7.3125 -4.90625 7.3125 -3.84375 Z M 6.140625 -4.1875 C 6.128906 -4.820312 5.945312 -5.332031 5.59375 -5.71875 C 5.25 -6.101562 4.789062 -6.296875 4.21875 -6.296875 C 3.5625 -6.296875 3.035156 -6.109375 2.640625 -5.734375 C 2.253906 -5.367188 2.03125 -4.851562 1.96875 -4
.1875 Z M 6.140625 -4.1875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 7.140625 -4.296875 L 7.140625 0 L 5.96875 0 L 5.96875 -4.25 C 5.96875 -4.925781 5.835938 -5.429688 5.578125 -5.765625 C 5.316406 -6.097656 4.921875 -6.265625 4.390625 -6.265625 C 3.765625 -6.265625 3.269531 -6.0625 2.90625 -5.65625 C 2.539062 -5.257812 2.359375 -4.710938 2.359375 -4.015625 L 2.359375 0 L 1.1875 0 L 1.1875 -7.109375 L 2.359375 -7.109375 L 2.359375 -6 C 2.640625 -6.425781 2.96875 -6.742188 3.34375 -6.953125 C 3.71875 -7.171875 4.15625 -7.28125 4.65625 -7.28125 C 5.46875 -7.28125 6.082031 -7.023438 6.5 -6.515625 C 6.925781 -6.015625 7.140625 -5.273438 7.140625 -4.296875 Z M 7.140625 -4.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 2.375 -9.125 L 2.375 -7.109375 L 4.78125 -7.109375 L 4.78125 -6.203125 L 2.375 -6.203125 L 2.375 -2.34375 C 2.375 -1.757812 2.453125 -1.382812 2.609375 -1.21875 C 2.773438 -1.0625 3.101562 -0.984375 3.59375 -0.984375 L 4.78125 -0.984375 L 4.78125 0 L 3.59375 0 C 2.6875 0 2.0625 -0.164062 1.71875 -0.5 C 1.375 -0.84375 1.203125 -1.457031 1.203125 -2.34375 L 1.203125 -6.203125 L 0.34375 -6.203125 L 0.34375 -7.109375 L 1.203125 -7.109375 L 1.203125 -9.125 Z M 2.375 -9.125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 5.34375 -6.015625 C 5.207031 -6.085938 5.0625 -6.140625 4.90625 -6.171875 C 4.757812 -6.210938 4.59375 -6.234375 4.40625 -6.234375 C 3.75 -6.234375 3.242188 -6.019531 2.890625 -5.59375 C 2.535156 -5.164062 2.359375 -4.550781 2.359375 -3.75 L 2.359375 0 L 1.1875 0 L 1.1875 -7.109375 L 2.359375 -7.109375 L 2.359375 -6 C 2.597656 -6.4375 2.914062 -6.757812 3.3125 -6.96875 C 3.707031 -7.175781 4.1875 -7.28125 4.75 -7.28125 C 4.832031 -7.28125 4.921875 -7.273438 5.015625 -7.265625 C 5.109375 -7.253906 5.21875 -7.238281 5.34375 -7.21875 Z M 5.34375 -6.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 4.1875 0.65625 C 3.851562 1.507812 3.53125 2.0625 3.21875 2.3125 C 2.90625 2.570312 2.488281 2.703125 1.96875 2.703125 L 1.03125 2.703125 L 1.03125 1.734375 L 1.71875 1.734375 C 2.039062 1.734375 2.289062 1.65625 2.46875 1.5 C 2.644531 1.34375 2.835938 0.984375 3.046875 0.421875 L 3.265625 -0.109375 L 0.390625 -7.109375 L 1.625 -7.109375 L 3.84375 -1.546875 L 6.0625 -7.109375 L 7.3125 -7.109375 Z M 4.1875 0.65625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 1.21875 -9.875 L 2.390625 -9.875 L 2.390625 0 L 1.21875 0 Z M 1.21875 -9.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 4.453125 -3.578125 C 3.515625 -3.578125 2.863281 -3.46875 2.5 -3.25 C 2.132812 -3.03125 1.953125 -2.660156 1.953125 -2.140625 C 1.953125 -1.734375 2.085938 -1.40625 2.359375 -1.15625 C 2.628906 -0.914062 3 -0.796875 3.46875 -0.796875 C 4.113281 -0.796875 4.632812 -1.023438 5.03125 -1.484375 C 5.425781 -1.941406 5.625 -2.550781 5.625 -3.3125 L 5.625 -3.578125 Z M 6.78125 -4.0625 L 6.78125 0 L 5.625 0 L 5.625 -1.078125 C 5.351562 -0.648438 5.019531 -0.332031 4.625 -0.125 C 4.226562 0.0820312 3.738281 0.1875 3.15625 0.1875 C 2.425781 0.1875 1.847656 -0.015625 1.421875 -0.421875 C 0.992188 -0.835938 0.78125 -1.382812 0.78125 -2.0625 C 0.78125 -2.863281 1.046875 -3.46875 1.578125 -3.875 C 2.117188 -4.28125 2.921875 -4.484375 3.984375 -4.484375 L 5.625 -4.484375 L 5.625 -4.609375 C 5.625 -5.140625 5.445312 -5.550781 5.09375 -5.84375 C 4.738281 -6.144531 4.238281 -6.296875 3.59375 -6.296875 C 3.1875 -6.296875 2.789062 -6.242188 2.40625 -6.140625 C 2.019531 -
6.046875 1.648438 -5.898438 1.296875 -5.703125 L 1.296875 -6.78125 C 1.722656 -6.945312 2.140625 -7.070312 2.546875 -7.15625 C 2.953125 -7.238281 3.34375 -7.28125 3.71875 -7.28125 C 4.75 -7.28125 5.515625 -7.015625 6.015625 -6.484375 C 6.523438 -5.953125 6.78125 -5.144531 6.78125 -4.0625 Z M 6.78125 -4.0625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-8">
+<path style="stroke:none;" d="M 5.75 -6.90625 L 5.75 -5.796875 C 5.425781 -5.960938 5.085938 -6.085938 4.734375 -6.171875 C 4.378906 -6.253906 4.007812 -6.296875 3.625 -6.296875 C 3.039062 -6.296875 2.601562 -6.207031 2.3125 -6.03125 C 2.03125 -5.851562 1.890625 -5.585938 1.890625 -5.234375 C 1.890625 -4.960938 1.988281 -4.75 2.1875 -4.59375 C 2.394531 -4.445312 2.816406 -4.300781 3.453125 -4.15625 L 3.84375 -4.0625 C 4.675781 -3.882812 5.265625 -3.632812 5.609375 -3.3125 C 5.960938 -2.988281 6.140625 -2.539062 6.140625 -1.96875 C 6.140625 -1.300781 5.878906 -0.773438 5.359375 -0.390625 C 4.835938 -0.00390625 4.117188 0.1875 3.203125 0.1875 C 2.816406 0.1875 2.414062 0.148438 2 0.078125 C 1.59375 0.00390625 1.160156 -0.109375 0.703125 -0.265625 L 0.703125 -1.46875 C 1.140625 -1.238281 1.566406 -1.066406 1.984375 -0.953125 C 2.398438 -0.847656 2.8125 -0.796875 3.21875 -0.796875 C 3.769531 -0.796875 4.191406 -0.890625 4.484375 -1.078125 C 4.785156 -1.265625 4.9375 -1.53125 4.9375 -1.8
75 C 4.9375 -2.1875 4.828125 -2.425781 4.609375 -2.59375 C 4.398438 -2.769531 3.9375 -2.9375 3.21875 -3.09375 L 2.8125 -3.1875 C 2.082031 -3.34375 1.554688 -3.578125 1.234375 -3.890625 C 0.910156 -4.203125 0.75 -4.632812 0.75 -5.1875 C 0.75 -5.851562 0.984375 -6.367188 1.453125 -6.734375 C 1.929688 -7.097656 2.609375 -7.28125 3.484375 -7.28125 C 3.910156 -7.28125 4.316406 -7.25 4.703125 -7.1875 C 5.085938 -7.125 5.4375 -7.03125 5.75 -6.90625 Z M 5.75 -6.90625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-9">
+<path style="stroke:none;" d="M 6.34375 -6.84375 L 6.34375 -5.75 C 6.007812 -5.925781 5.675781 -6.0625 5.34375 -6.15625 C 5.007812 -6.25 4.675781 -6.296875 4.34375 -6.296875 C 3.582031 -6.296875 2.992188 -6.050781 2.578125 -5.5625 C 2.160156 -5.082031 1.953125 -4.410156 1.953125 -3.546875 C 1.953125 -2.679688 2.160156 -2.007812 2.578125 -1.53125 C 2.992188 -1.050781 3.582031 -0.8125 4.34375 -0.8125 C 4.675781 -0.8125 5.007812 -0.851562 5.34375 -0.9375 C 5.675781 -1.03125 6.007812 -1.171875 6.34375 -1.359375 L 6.34375 -0.265625 C 6.019531 -0.117188 5.679688 -0.0078125 5.328125 0.0625 C 4.984375 0.144531 4.613281 0.1875 4.21875 0.1875 C 3.144531 0.1875 2.289062 -0.144531 1.65625 -0.8125 C 1.03125 -1.488281 0.71875 -2.398438 0.71875 -3.546875 C 0.71875 -4.703125 1.035156 -5.613281 1.671875 -6.28125 C 2.304688 -6.945312 3.179688 -7.28125 4.296875 -7.28125 C 4.648438 -7.28125 5 -7.242188 5.34375 -7.171875 C 5.6875 -7.097656 6.019531 -6.988281 6.34375 -6.84375 Z M 6.34375 -6.84375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-10">
+<path style="stroke:none;" d="M 3.296875 -9.484375 L 4.375 -9.484375 L 1.078125 1.203125 L 0 1.203125 Z M 3.296875 -9.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-11">
+<path style="stroke:none;" d="M 5.90625 -3.640625 C 5.90625 -4.484375 5.726562 -5.132812 5.375 -5.59375 C 5.03125 -6.0625 4.539062 -6.296875 3.90625 -6.296875 C 3.28125 -6.296875 2.789062 -6.0625 2.4375 -5.59375 C 2.09375 -5.132812 1.921875 -4.484375 1.921875 -3.640625 C 1.921875 -2.796875 2.09375 -2.140625 2.4375 -1.671875 C 2.789062 -1.210938 3.28125 -0.984375 3.90625 -0.984375 C 4.539062 -0.984375 5.03125 -1.210938 5.375 -1.671875 C 5.726562 -2.140625 5.90625 -2.796875 5.90625 -3.640625 Z M 7.078125 -0.875 C 7.078125 0.332031 6.804688 1.226562 6.265625 1.8125 C 5.722656 2.40625 4.898438 2.703125 3.796875 2.703125 C 3.390625 2.703125 3.003906 2.671875 2.640625 2.609375 C 2.273438 2.546875 1.921875 2.453125 1.578125 2.328125 L 1.578125 1.1875 C 1.921875 1.375 2.257812 1.507812 2.59375 1.59375 C 2.925781 1.6875 3.265625 1.734375 3.609375 1.734375 C 4.378906 1.734375 4.953125 1.535156 5.328125 1.140625 C 5.710938 0.742188 5.90625 0.140625 5.90625 -0.671875 L 5.90625 -1.25 C 5.664062
-0.832031 5.351562 -0.519531 4.96875 -0.3125 C 4.59375 -0.101562 4.144531 0 3.625 0 C 2.75 0 2.046875 -0.332031 1.515625 -1 C 0.984375 -1.664062 0.71875 -2.546875 0.71875 -3.640625 C 0.71875 -4.734375 0.984375 -5.613281 1.515625 -6.28125 C 2.046875 -6.945312 2.75 -7.28125 3.625 -7.28125 C 4.144531 -7.28125 4.59375 -7.175781 4.96875 -6.96875 C 5.351562 -6.757812 5.664062 -6.445312 5.90625 -6.03125 L 5.90625 -7.109375 L 7.078125 -7.109375 Z M 7.078125 -0.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-12">
+<path style="stroke:none;" d="M 3.984375 -6.296875 C 3.359375 -6.296875 2.863281 -6.050781 2.5 -5.5625 C 2.132812 -5.070312 1.953125 -4.398438 1.953125 -3.546875 C 1.953125 -2.691406 2.128906 -2.019531 2.484375 -1.53125 C 2.847656 -1.050781 3.347656 -0.8125 3.984375 -0.8125 C 4.597656 -0.8125 5.085938 -1.054688 5.453125 -1.546875 C 5.816406 -2.035156 6 -2.703125 6 -3.546875 C 6 -4.390625 5.816406 -5.054688 5.453125 -5.546875 C 5.085938 -6.046875 4.597656 -6.296875 3.984375 -6.296875 Z M 3.984375 -7.28125 C 4.992188 -7.28125 5.789062 -6.945312 6.375 -6.28125 C 6.957031 -5.625 7.25 -4.710938 7.25 -3.546875 C 7.25 -2.378906 6.957031 -1.460938 6.375 -0.796875 C 5.789062 -0.140625 4.992188 0.1875 3.984375 0.1875 C 2.960938 0.1875 2.160156 -0.140625 1.578125 -0.796875 C 1.003906 -1.460938 0.71875 -2.378906 0.71875 -3.546875 C 0.71875 -4.710938 1.003906 -5.625 1.578125 -6.28125 C 2.160156 -6.945312 2.960938 -7.28125 3.984375 -7.28125 Z M 3.984375 -7.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-13">
+<path style="stroke:none;" d="M 0.4375 -9.484375 L 1.734375 -9.484375 L 3.71875 -1.46875 L 5.703125 -9.484375 L 7.140625 -9.484375 L 9.140625 -1.46875 L 11.125 -9.484375 L 12.421875 -9.484375 L 10.046875 0 L 8.4375 0 L 6.4375 -8.234375 L 4.421875 0 L 2.8125 0 Z M 0.4375 -9.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-14">
+<path style="stroke:none;" d="M 6.328125 -3.546875 C 6.328125 -4.410156 6.148438 -5.082031 5.796875 -5.5625 C 5.441406 -6.050781 4.957031 -6.296875 4.34375 -6.296875 C 3.726562 -6.296875 3.242188 -6.050781 2.890625 -5.5625 C 2.535156 -5.082031 2.359375 -4.410156 2.359375 -3.546875 C 2.359375 -2.691406 2.535156 -2.019531 2.890625 -1.53125 C 3.242188 -1.039062 3.726562 -0.796875 4.34375 -0.796875 C 4.957031 -0.796875 5.441406 -1.039062 5.796875 -1.53125 C 6.148438 -2.019531 6.328125 -2.691406 6.328125 -3.546875 Z M 2.359375 -6.03125 C 2.597656 -6.457031 2.90625 -6.769531 3.28125 -6.96875 C 3.65625 -7.175781 4.101562 -7.28125 4.625 -7.28125 C 5.488281 -7.28125 6.191406 -6.9375 6.734375 -6.25 C 7.273438 -5.5625 7.546875 -4.660156 7.546875 -3.546875 C 7.546875 -2.429688 7.273438 -1.53125 6.734375 -0.84375 C 6.191406 -0.15625 5.488281 0.1875 4.625 0.1875 C 4.101562 0.1875 3.65625 0.0820312 3.28125 -0.125 C 2.90625 -0.332031 2.597656 -0.644531 2.359375 -1.0625 L 2.359375 0 L 1.1875 0 L 1.1
875 -9.875 L 2.359375 -9.875 Z M 2.359375 -6.03125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-15">
+<path style="stroke:none;" d="M 0.390625 -7.109375 L 1.625 -7.109375 L 3.84375 -1.140625 L 6.0625 -7.109375 L 7.3125 -7.109375 L 4.640625 0 L 3.046875 0 Z M 0.390625 -7.109375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-16">
+<path style="stroke:none;" d="M 5.90625 -6.03125 L 5.90625 -9.875 L 7.078125 -9.875 L 7.078125 0 L 5.90625 0 L 5.90625 -1.0625 C 5.65625 -0.644531 5.34375 -0.332031 4.96875 -0.125 C 4.59375 0.0820312 4.144531 0.1875 3.625 0.1875 C 2.769531 0.1875 2.070312 -0.15625 1.53125 -0.84375 C 0.988281 -1.53125 0.71875 -2.429688 0.71875 -3.546875 C 0.71875 -4.660156 0.988281 -5.5625 1.53125 -6.25 C 2.070312 -6.9375 2.769531 -7.28125 3.625 -7.28125 C 4.144531 -7.28125 4.59375 -7.175781 4.96875 -6.96875 C 5.34375 -6.769531 5.65625 -6.457031 5.90625 -6.03125 Z M 1.921875 -3.546875 C 1.921875 -2.691406 2.097656 -2.019531 2.453125 -1.53125 C 2.804688 -1.039062 3.289062 -0.796875 3.90625 -0.796875 C 4.53125 -0.796875 5.019531 -1.039062 5.375 -1.53125 C 5.726562 -2.019531 5.90625 -2.691406 5.90625 -3.546875 C 5.90625 -4.410156 5.726562 -5.082031 5.375 -5.5625 C 5.019531 -6.050781 4.53125 -6.296875 3.90625 -6.296875 C 3.289062 -6.296875 2.804688 -6.050781 2.453125 -5.5625 C 2.097656 -5.082031 1.921875
-4.410156 1.921875 -3.546875 Z M 1.921875 -3.546875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-17">
+<path style="stroke:none;" d="M 1.21875 -7.109375 L 2.390625 -7.109375 L 2.390625 0 L 1.21875 0 Z M 1.21875 -9.875 L 2.390625 -9.875 L 2.390625 -8.390625 L 1.21875 -8.390625 Z M 1.21875 -9.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-18">
+<path style="stroke:none;" d="M 1.109375 -2.8125 L 1.109375 -7.109375 L 2.265625 -7.109375 L 2.265625 -2.84375 C 2.265625 -2.175781 2.394531 -1.671875 2.65625 -1.328125 C 2.925781 -0.992188 3.320312 -0.828125 3.84375 -0.828125 C 4.476562 -0.828125 4.976562 -1.023438 5.34375 -1.421875 C 5.707031 -1.828125 5.890625 -2.378906 5.890625 -3.078125 L 5.890625 -7.109375 L 7.0625 -7.109375 L 7.0625 0 L 5.890625 0 L 5.890625 -1.09375 C 5.609375 -0.65625 5.28125 -0.332031 4.90625 -0.125 C 4.53125 0.0820312 4.09375 0.1875 3.59375 0.1875 C 2.78125 0.1875 2.160156 -0.0664062 1.734375 -0.578125 C 1.316406 -1.085938 1.109375 -1.832031 1.109375 -2.8125 Z M 4.046875 -7.28125 Z M 4.046875 -7.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-19">
+<path style="stroke:none;" d="M 7.140625 -4.296875 L 7.140625 0 L 5.96875 0 L 5.96875 -4.25 C 5.96875 -4.925781 5.835938 -5.429688 5.578125 -5.765625 C 5.316406 -6.097656 4.921875 -6.265625 4.390625 -6.265625 C 3.765625 -6.265625 3.269531 -6.0625 2.90625 -5.65625 C 2.539062 -5.257812 2.359375 -4.710938 2.359375 -4.015625 L 2.359375 0 L 1.1875 0 L 1.1875 -9.875 L 2.359375 -9.875 L 2.359375 -6 C 2.640625 -6.425781 2.96875 -6.742188 3.34375 -6.953125 C 3.71875 -7.171875 4.15625 -7.28125 4.65625 -7.28125 C 5.46875 -7.28125 6.082031 -7.023438 6.5 -6.515625 C 6.925781 -6.015625 7.140625 -5.273438 7.140625 -4.296875 Z M 7.140625 -4.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-20">
+<path style="stroke:none;" d="M 7.140625 -7.109375 L 4.5625 -3.65625 L 7.265625 0 L 5.890625 0 L 3.828125 -2.796875 L 1.75 0 L 0.375 0 L 3.140625 -3.71875 L 0.609375 -7.109375 L 1.984375 -7.109375 L 3.875 -4.578125 L 5.75 -7.109375 Z M 7.140625 -7.109375 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface24275">
+<rect x="0" y="0" width="542" height="242" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 11.847461 7.199922 L 14.852539 7.199922 L 14.852539 9.899922 L 11.847461 9.899922 Z M 11.847461 7.199922 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="206.710938" y="111.306749"/>
+ <use xlink:href="#glyph0-2" x="214.708984" y="111.306749"/>
+ <use xlink:href="#glyph0-3" x="222.948188" y="111.306749"/>
+ <use xlink:href="#glyph0-4" x="228.045302" y="111.306749"/>
+ <use xlink:href="#glyph0-5" x="233.390082" y="111.306749"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-4" x="207.472656" y="127.306749"/>
+ <use xlink:href="#glyph0-1" x="212.531793" y="127.306749"/>
+ <use xlink:href="#glyph0-6" x="220.529839" y="127.306749"/>
+ <use xlink:href="#glyph0-7" x="224.141764" y="127.306749"/>
+ <use xlink:href="#glyph0-5" x="232.108073" y="127.306749"/>
+</g>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2.26875 7.249922 L 6.53125 7.249922 L 6.53125 9.949922 L 2.26875 9.949922 Z M 2.26875 7.249922 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-8" x="16.597656" y="112.306749"/>
+ <use xlink:href="#glyph0-9" x="23.37066" y="112.306749"/>
+ <use xlink:href="#glyph0-7" x="30.518012" y="112.306749"/>
+ <use xlink:href="#glyph0-2" x="38.484321" y="112.306749"/>
+ <use xlink:href="#glyph0-2" x="46.723524" y="112.306749"/>
+ <use xlink:href="#glyph0-1" x="54.962728" y="112.306749"/>
+ <use xlink:href="#glyph0-4" x="62.960775" y="112.306749"/>
+ <use xlink:href="#glyph0-10" x="68.305556" y="112.306749"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-11" x="12.535156" y="128.306749"/>
+ <use xlink:href="#glyph0-1" x="20.787109" y="128.306749"/>
+ <use xlink:href="#glyph0-2" x="28.785156" y="128.306749"/>
+ <use xlink:href="#glyph0-1" x="37.02436" y="128.306749"/>
+ <use xlink:href="#glyph0-4" x="45.022407" y="128.306749"/>
+ <use xlink:href="#glyph0-7" x="50.367188" y="128.306749"/>
+ <use xlink:href="#glyph0-3" x="58.333496" y="128.306749"/>
+ <use xlink:href="#glyph0-12" x="63.43061" y="128.306749"/>
+ <use xlink:href="#glyph0-4" x="71.384169" y="128.306749"/>
+</g>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 26.086133 9.399922 L 29.213672 9.399922 L 29.213672 12.099922 L 26.086133 12.099922 Z M 26.086133 9.399922 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-13" x="495.464844" y="155.306749"/>
+ <use xlink:href="#glyph0-1" x="507.557129" y="155.306749"/>
+ <use xlink:href="#glyph0-14" x="515.555176" y="155.306749"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-8" x="489.058594" y="171.306749"/>
+ <use xlink:href="#glyph0-1" x="495.831597" y="171.306749"/>
+ <use xlink:href="#glyph0-4" x="503.829644" y="171.306749"/>
+ <use xlink:href="#glyph0-15" x="509.174425" y="171.306749"/>
+ <use xlink:href="#glyph0-1" x="516.867839" y="171.306749"/>
+ <use xlink:href="#glyph0-4" x="524.865885" y="171.306749"/>
+</g>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2.375 12.099922 L 6.425 12.099922 L 6.425 14.799922 L 2.375 14.799922 Z M 2.375 12.099922 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-16" x="15.5625" y="209.306749"/>
+ <use xlink:href="#glyph0-17" x="23.814453" y="209.306749"/>
+ <use xlink:href="#glyph0-4" x="27.426378" y="209.306749"/>
+ <use xlink:href="#glyph0-1" x="32.485514" y="209.306749"/>
+ <use xlink:href="#glyph0-9" x="40.483561" y="209.306749"/>
+ <use xlink:href="#glyph0-3" x="47.630914" y="209.306749"/>
+ <use xlink:href="#glyph0-12" x="52.728027" y="209.306749"/>
+ <use xlink:href="#glyph0-4" x="60.681586" y="209.306749"/>
+ <use xlink:href="#glyph0-5" x="66.026367" y="209.306749"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-7" x="15.015625" y="225.306749"/>
+ <use xlink:href="#glyph0-18" x="22.981934" y="225.306749"/>
+ <use xlink:href="#glyph0-3" x="31.221137" y="225.306749"/>
+ <use xlink:href="#glyph0-19" x="36.318251" y="225.306749"/>
+ <use xlink:href="#glyph0-12" x="44.557454" y="225.306749"/>
+ <use xlink:href="#glyph0-4" x="52.511013" y="225.306749"/>
+ <use xlink:href="#glyph0-17" x="57.855794" y="225.306749"/>
+ <use xlink:href="#glyph0-3" x="61.467719" y="225.306749"/>
+ <use xlink:href="#glyph0-5" x="66.564833" y="225.306749"/>
+</g>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 4.4 9.949922 L 4.4 11.876484 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 4.15 11.488203 L 4.4 11.988203 L 4.65 11.488203 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.754883 8.597969 L 11.623828 8.55207 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 7.140625 8.344258 L 6.642969 8.598945 L 7.145313 8.844258 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 11.238086 8.805781 L 11.735742 8.551094 L 11.233398 8.305781 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 21.007031 4.622578 L 25.771289 5.633516 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 21.438672 4.458516 L 20.897656 4.599336 L 21.334766 4.947773 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 25.339648 5.797578 L 25.880664 5.656758 L 25.443359 5.308516 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 11.740039 2.88 L 14.745117 2.88 L 14.745117 5.58 L 11.740039 5.58 Z M 11.740039 2.88 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="204.308594" y="24.904405"/>
+ <use xlink:href="#glyph0-2" x="212.306641" y="24.904405"/>
+ <use xlink:href="#glyph0-3" x="220.545844" y="24.904405"/>
+ <use xlink:href="#glyph0-4" x="225.642958" y="24.904405"/>
+ <use xlink:href="#glyph0-5" x="230.987739" y="24.904405"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-4" x="205.324219" y="40.904405"/>
+ <use xlink:href="#glyph0-1" x="210.383355" y="40.904405"/>
+ <use xlink:href="#glyph0-6" x="218.381402" y="40.904405"/>
+ <use xlink:href="#glyph0-7" x="221.993327" y="40.904405"/>
+ <use xlink:href="#glyph0-5" x="229.959635" y="40.904405"/>
+</g>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 18.046289 2.93 L 20.738867 2.93 L 20.738867 5.63 L 18.046289 5.63 Z M 18.046289 2.93 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="332.40625" y="25.904405"/>
+ <use xlink:href="#glyph0-20" x="340.17589" y="25.904405"/>
+ <use xlink:href="#glyph0-17" x="347.869303" y="25.904405"/>
+ <use xlink:href="#glyph0-3" x="351.481228" y="25.904405"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-4" x="328.324219" y="41.904405"/>
+ <use xlink:href="#glyph0-1" x="333.383355" y="41.904405"/>
+ <use xlink:href="#glyph0-6" x="341.381402" y="41.904405"/>
+ <use xlink:href="#glyph0-7" x="344.993327" y="41.904405"/>
+ <use xlink:href="#glyph0-5" x="352.959635" y="41.904405"/>
+</g>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 14.968555 4.23332 L 17.822656 4.27668 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 15.360547 3.989375 L 14.856836 4.231758 L 15.35293 4.48918 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.430859 4.520625 L 17.93457 4.278242 L 17.438281 4.02082 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 11.880078 11.860078 L 14.885156 11.860078 L 14.885156 14.560078 L 11.880078 14.560078 Z M 11.880078 11.860078 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="207.105469" y="204.505968"/>
+ <use xlink:href="#glyph0-2" x="215.103516" y="204.505968"/>
+ <use xlink:href="#glyph0-3" x="223.342719" y="204.505968"/>
+ <use xlink:href="#glyph0-4" x="228.439833" y="204.505968"/>
+ <use xlink:href="#glyph0-5" x="233.784614" y="204.505968"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-4" x="208.121094" y="220.505968"/>
+ <use xlink:href="#glyph0-1" x="213.18023" y="220.505968"/>
+ <use xlink:href="#glyph0-6" x="221.178277" y="220.505968"/>
+ <use xlink:href="#glyph0-7" x="224.790202" y="220.505968"/>
+ <use xlink:href="#glyph0-5" x="232.75651" y="220.505968"/>
+</g>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 18.186328 11.910078 L 20.878906 11.910078 L 20.878906 14.610078 L 18.186328 14.610078 Z M 18.186328 11.910078 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="335.207031" y="205.505968"/>
+ <use xlink:href="#glyph0-20" x="342.976671" y="205.505968"/>
+ <use xlink:href="#glyph0-17" x="350.670085" y="205.505968"/>
+ <use xlink:href="#glyph0-3" x="354.28201" y="205.505968"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-4" x="331.125" y="221.505968"/>
+ <use xlink:href="#glyph0-1" x="336.184136" y="221.505968"/>
+ <use xlink:href="#glyph0-6" x="344.182183" y="221.505968"/>
+ <use xlink:href="#glyph0-7" x="347.794108" y="221.505968"/>
+ <use xlink:href="#glyph0-5" x="355.760417" y="221.505968"/>
+</g>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 14.981641 8.732539 L 18.057031 13.077461 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 15.409961 8.905 L 14.917188 8.641328 L 15.001953 9.193867 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.628711 12.905 L 18.12168 13.168672 L 18.036914 12.616133 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 14.95957 12.999141 L 17.97168 4.490742 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 14.853516 12.549922 L 14.922266 13.104609 L 15.324805 12.716719 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 18.077734 4.940156 L 18.008984 4.385469 L 17.606445 4.773359 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.702539 8.456367 L 11.56875 4.37375 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.839258 8.015156 L 6.616992 8.528047 L 7.160547 8.398359 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 11.432031 4.814766 L 11.654297 4.301875 L 11.110547 4.431758 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 20.88125 4.452266 L 25.94375 10.577656 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 21.321094 4.592305 L 20.809961 4.366133 L 20.935742 4.910859 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 25.503711 10.437617 L 26.015039 10.663789 L 25.889063 10.119063 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.700586 8.746016 L 11.710547 13.063984 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 7.157813 8.810078 L 6.616016 8.672969 L 6.831445 9.188789 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 11.25332 12.999922 L 11.795313 13.137031 L 11.579883 12.621211 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 21.080273 13.162813 L 25.884766 10.847188 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 21.321289 12.769063 L 20.979492 13.211445 L 21.538477 13.219648 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 25.643555 11.240938 L 25.985547 10.798555 L 25.426562 10.790352 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 25.990039 4.33 L 29.117578 4.33 L 29.117578 7.03 L 25.990039 7.03 Z M 25.990039 4.33 " transform="matrix(20,0,0,20,-43.375,-55.6)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-13" x="493.539063" y="53.904405"/>
+ <use xlink:href="#glyph0-1" x="505.631348" y="53.904405"/>
+ <use xlink:href="#glyph0-14" x="513.629395" y="53.904405"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-8" x="487.132813" y="69.904405"/>
+ <use xlink:href="#glyph0-1" x="493.905816" y="69.904405"/>
+ <use xlink:href="#glyph0-4" x="501.903863" y="69.904405"/>
+ <use xlink:href="#glyph0-15" x="507.248644" y="69.904405"/>
+ <use xlink:href="#glyph0-1" x="514.942057" y="69.904405"/>
+ <use xlink:href="#glyph0-4" x="522.940104" y="69.904405"/>
+</g>
+</g>
+</svg>
diff --git a/docs/source/images/use_cases_classes.svg b/docs/source/images/use_cases_classes.svg
new file mode 100644
index 0000000..d0e6cd0
--- /dev/null
+++ b/docs/source/images/use_cases_classes.svg
@@ -0,0 +1,401 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="548pt" height="480pt" viewBox="0 0 548 480" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 0.796875 2.828125 L 0.796875 -11.28125 L 8.796875 -11.28125 L 8.796875 2.828125 Z M 1.703125 1.9375 L 7.90625 1.9375 L 7.90625 -10.390625 L 1.703125 -10.390625 Z M 1.703125 1.9375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 5.75 -6.5 C 6.375 -6.5 6.820312 -6.613281 7.09375 -6.84375 C 7.375 -7.082031 7.515625 -7.46875 7.515625 -8 C 7.515625 -8.53125 7.375 -8.910156 7.09375 -9.140625 C 6.820312 -9.367188 6.375 -9.484375 5.75 -9.484375 L 4.484375 -9.484375 L 4.484375 -6.5 Z M 4.484375 -4.421875 L 4.484375 0 L 1.46875 0 L 1.46875 -11.671875 L 6.0625 -11.671875 C 7.601562 -11.671875 8.726562 -11.410156 9.4375 -10.890625 C 10.15625 -10.378906 10.515625 -9.566406 10.515625 -8.453125 C 10.515625 -7.679688 10.328125 -7.046875 9.953125 -6.546875 C 9.585938 -6.054688 9.03125 -5.691406 8.28125 -5.453125 C 8.6875 -5.359375 9.050781 -5.144531 9.375 -4.8125 C 9.707031 -4.488281 10.039062 -3.988281 10.375 -3.3125 L 12 0 L 8.796875 0 L 7.375 -2.90625 C 7.09375 -3.488281 6.800781 -3.882812 6.5 -4.09375 C 6.207031 -4.3125 5.816406 -4.421875 5.328125 -4.421875 Z M 4.484375 -4.421875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 10.078125 -4.40625 L 10.078125 -3.609375 L 3.546875 -3.609375 C 3.609375 -2.953125 3.84375 -2.457031 4.25 -2.125 C 4.65625 -1.800781 5.222656 -1.640625 5.953125 -1.640625 C 6.546875 -1.640625 7.148438 -1.722656 7.765625 -1.890625 C 8.378906 -2.066406 9.015625 -2.332031 9.671875 -2.6875 L 9.671875 -0.53125 C 9.003906 -0.28125 8.335938 -0.09375 7.671875 0.03125 C 7.015625 0.164062 6.359375 0.234375 5.703125 0.234375 C 4.117188 0.234375 2.882812 -0.164062 2 -0.96875 C 1.125 -1.78125 0.6875 -2.914062 0.6875 -4.375 C 0.6875 -5.800781 1.117188 -6.921875 1.984375 -7.734375 C 2.847656 -8.554688 4.035156 -8.96875 5.546875 -8.96875 C 6.921875 -8.96875 8.019531 -8.550781 8.84375 -7.71875 C 9.664062 -6.894531 10.078125 -5.789062 10.078125 -4.40625 Z M 7.203125 -5.328125 C 7.203125 -5.859375 7.046875 -6.285156 6.734375 -6.609375 C 6.429688 -6.941406 6.03125 -7.109375 5.53125 -7.109375 C 4.988281 -7.109375 4.546875 -6.953125 4.203125 -6.640625 C 3.867188 -6.335938
3.660156 -5.898438 3.578125 -5.328125 Z M 7.203125 -5.328125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 1.34375 -12.15625 L 4.140625 -12.15625 L 4.140625 0 L 1.34375 0 Z M 1.34375 -12.15625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 5.265625 -3.9375 C 4.679688 -3.9375 4.242188 -3.835938 3.953125 -3.640625 C 3.660156 -3.441406 3.515625 -3.148438 3.515625 -2.765625 C 3.515625 -2.410156 3.628906 -2.132812 3.859375 -1.9375 C 4.097656 -1.738281 4.429688 -1.640625 4.859375 -1.640625 C 5.378906 -1.640625 5.816406 -1.828125 6.171875 -2.203125 C 6.535156 -2.578125 6.71875 -3.050781 6.71875 -3.625 L 6.71875 -3.9375 Z M 9.546875 -5 L 9.546875 0 L 6.71875 0 L 6.71875 -1.296875 C 6.34375 -0.765625 5.921875 -0.375 5.453125 -0.125 C 4.984375 0.113281 4.414062 0.234375 3.75 0.234375 C 2.84375 0.234375 2.101562 -0.03125 1.53125 -0.5625 C 0.96875 -1.09375 0.6875 -1.78125 0.6875 -2.625 C 0.6875 -3.65625 1.039062 -4.410156 1.75 -4.890625 C 2.457031 -5.367188 3.566406 -5.609375 5.078125 -5.609375 L 6.71875 -5.609375 L 6.71875 -5.828125 C 6.71875 -6.265625 6.539062 -6.585938 6.1875 -6.796875 C 5.84375 -7.003906 5.300781 -7.109375 4.5625 -7.109375 C 3.96875 -7.109375 3.410156 -7.046875 2.890625 -6.9218
75 C 2.378906 -6.804688 1.898438 -6.628906 1.453125 -6.390625 L 1.453125 -8.515625 C 2.054688 -8.660156 2.660156 -8.769531 3.265625 -8.84375 C 3.867188 -8.925781 4.472656 -8.96875 5.078125 -8.96875 C 6.648438 -8.96875 7.785156 -8.65625 8.484375 -8.03125 C 9.191406 -7.40625 9.546875 -6.394531 9.546875 -5 Z M 9.546875 -5 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 0.203125 -8.75 L 3 -8.75 L 5.34375 -2.8125 L 7.34375 -8.75 L 10.140625 -8.75 L 6.46875 0.828125 C 6.09375 1.804688 5.660156 2.488281 5.171875 2.875 C 4.679688 3.257812 4.03125 3.453125 3.21875 3.453125 L 1.609375 3.453125 L 1.609375 1.625 L 2.484375 1.625 C 2.953125 1.625 3.296875 1.546875 3.515625 1.390625 C 3.734375 1.242188 3.898438 0.972656 4.015625 0.578125 L 4.09375 0.34375 Z M 0.203125 -8.75 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 1.46875 -11.671875 L 4.484375 -11.671875 L 4.484375 -2.28125 L 9.765625 -2.28125 L 9.765625 0 L 1.46875 0 Z M 1.46875 -11.671875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 1.34375 -8.75 L 4.140625 -8.75 L 4.140625 0 L 1.34375 0 Z M 1.34375 -12.15625 L 4.140625 -12.15625 L 4.140625 -9.875 L 1.34375 -9.875 Z M 1.34375 -12.15625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-8">
+<path style="stroke:none;" d="M 8.1875 -8.484375 L 8.1875 -6.359375 C 7.582031 -6.609375 7 -6.796875 6.4375 -6.921875 C 5.882812 -7.046875 5.363281 -7.109375 4.875 -7.109375 C 4.34375 -7.109375 3.945312 -7.039062 3.6875 -6.90625 C 3.425781 -6.769531 3.296875 -6.566406 3.296875 -6.296875 C 3.296875 -6.066406 3.394531 -5.890625 3.59375 -5.765625 C 3.789062 -5.648438 4.140625 -5.566406 4.640625 -5.515625 L 5.140625 -5.4375 C 6.566406 -5.257812 7.523438 -4.960938 8.015625 -4.546875 C 8.515625 -4.128906 8.765625 -3.472656 8.765625 -2.578125 C 8.765625 -1.648438 8.421875 -0.945312 7.734375 -0.46875 C 7.046875 0 6.019531 0.234375 4.65625 0.234375 C 4.082031 0.234375 3.484375 0.1875 2.859375 0.09375 C 2.242188 0 1.613281 -0.140625 0.96875 -0.328125 L 0.96875 -2.453125 C 1.519531 -2.179688 2.085938 -1.976562 2.671875 -1.84375 C 3.265625 -1.707031 3.863281 -1.640625 4.46875 -1.640625 C 5.007812 -1.640625 5.414062 -1.710938 5.6875 -1.859375 C 5.96875 -2.015625 6.109375 -2.238281 6.109375 -2.53
125 C 6.109375 -2.78125 6.015625 -2.96875 5.828125 -3.09375 C 5.640625 -3.21875 5.257812 -3.3125 4.6875 -3.375 L 4.203125 -3.4375 C 2.953125 -3.59375 2.078125 -3.878906 1.578125 -4.296875 C 1.078125 -4.722656 0.828125 -5.367188 0.828125 -6.234375 C 0.828125 -7.160156 1.144531 -7.847656 1.78125 -8.296875 C 2.414062 -8.742188 3.390625 -8.96875 4.703125 -8.96875 C 5.222656 -8.96875 5.765625 -8.925781 6.328125 -8.84375 C 6.898438 -8.769531 7.519531 -8.648438 8.1875 -8.484375 Z M 8.1875 -8.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-9">
+<path style="stroke:none;" d="M 4.40625 -11.234375 L 4.40625 -8.75 L 7.28125 -8.75 L 7.28125 -6.75 L 4.40625 -6.75 L 4.40625 -3.046875 C 4.40625 -2.640625 4.484375 -2.363281 4.640625 -2.21875 C 4.804688 -2.070312 5.128906 -2 5.609375 -2 L 7.046875 -2 L 7.046875 0 L 4.640625 0 C 3.535156 0 2.753906 -0.226562 2.296875 -0.6875 C 1.835938 -1.15625 1.609375 -1.941406 1.609375 -3.046875 L 1.609375 -6.75 L 0.21875 -6.75 L 0.21875 -8.75 L 1.609375 -8.75 L 1.609375 -11.234375 Z M 4.40625 -11.234375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-10">
+<path style="stroke:none;" d="M 1.25 -3.40625 L 1.25 -8.75 L 4.0625 -8.75 L 4.0625 -7.875 C 4.0625 -7.40625 4.054688 -6.8125 4.046875 -6.09375 C 4.046875 -5.375 4.046875 -4.894531 4.046875 -4.65625 C 4.046875 -3.957031 4.0625 -3.453125 4.09375 -3.140625 C 4.132812 -2.828125 4.203125 -2.601562 4.296875 -2.46875 C 4.410156 -2.28125 4.554688 -2.132812 4.734375 -2.03125 C 4.921875 -1.9375 5.132812 -1.890625 5.375 -1.890625 C 5.957031 -1.890625 6.414062 -2.113281 6.75 -2.5625 C 7.082031 -3.007812 7.25 -3.632812 7.25 -4.4375 L 7.25 -8.75 L 10.046875 -8.75 L 10.046875 0 L 7.25 0 L 7.25 -1.265625 C 6.832031 -0.753906 6.382812 -0.375 5.90625 -0.125 C 5.4375 0.113281 4.921875 0.234375 4.359375 0.234375 C 3.347656 0.234375 2.578125 -0.078125 2.046875 -0.703125 C 1.515625 -1.328125 1.25 -2.226562 1.25 -3.40625 Z M 1.25 -3.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-11">
+<path style="stroke:none;" d="M 4.484375 -9.390625 L 4.484375 -2.28125 L 5.5625 -2.28125 C 6.789062 -2.28125 7.726562 -2.582031 8.375 -3.1875 C 9.019531 -3.800781 9.34375 -4.6875 9.34375 -5.84375 C 9.34375 -7 9.019531 -7.878906 8.375 -8.484375 C 7.726562 -9.085938 6.789062 -9.390625 5.5625 -9.390625 Z M 1.46875 -11.671875 L 4.640625 -11.671875 C 6.410156 -11.671875 7.726562 -11.539062 8.59375 -11.28125 C 9.46875 -11.03125 10.210938 -10.601562 10.828125 -10 C 11.378906 -9.476562 11.785156 -8.875 12.046875 -8.1875 C 12.316406 -7.5 12.453125 -6.71875 12.453125 -5.84375 C 12.453125 -4.96875 12.316406 -4.179688 12.046875 -3.484375 C 11.785156 -2.796875 11.378906 -2.191406 10.828125 -1.671875 C 10.203125 -1.066406 9.453125 -0.632812 8.578125 -0.375 C 7.703125 -0.125 6.390625 0 4.640625 0 L 1.46875 0 Z M 1.46875 -11.671875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-12">
+<path style="stroke:none;" d="M 9.453125 -7.296875 C 9.804688 -7.835938 10.226562 -8.25 10.71875 -8.53125 C 11.207031 -8.820312 11.742188 -8.96875 12.328125 -8.96875 C 13.328125 -8.96875 14.085938 -8.65625 14.609375 -8.03125 C 15.140625 -7.414062 15.40625 -6.515625 15.40625 -5.328125 L 15.40625 0 L 12.59375 0 L 12.59375 -4.5625 C 12.601562 -4.632812 12.609375 -4.707031 12.609375 -4.78125 C 12.609375 -4.851562 12.609375 -4.957031 12.609375 -5.09375 C 12.609375 -5.707031 12.515625 -6.15625 12.328125 -6.4375 C 12.148438 -6.71875 11.859375 -6.859375 11.453125 -6.859375 C 10.921875 -6.859375 10.507812 -6.640625 10.21875 -6.203125 C 9.9375 -5.765625 9.789062 -5.128906 9.78125 -4.296875 L 9.78125 0 L 6.96875 0 L 6.96875 -4.5625 C 6.96875 -5.53125 6.882812 -6.15625 6.71875 -6.4375 C 6.550781 -6.71875 6.253906 -6.859375 5.828125 -6.859375 C 5.285156 -6.859375 4.867188 -6.632812 4.578125 -6.1875 C 4.285156 -5.75 4.140625 -5.125 4.140625 -4.3125 L 4.140625 0 L 1.328125 0 L 1.328125 -8.75 L 4.1
40625 -8.75 L 4.140625 -7.46875 C 4.484375 -7.96875 4.878906 -8.34375 5.328125 -8.59375 C 5.773438 -8.84375 6.265625 -8.96875 6.796875 -8.96875 C 7.398438 -8.96875 7.929688 -8.820312 8.390625 -8.53125 C 8.859375 -8.238281 9.210938 -7.828125 9.453125 -7.296875 Z M 9.453125 -7.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-13">
+<path style="stroke:none;" d="M 4.140625 -1.265625 L 4.140625 3.328125 L 1.34375 3.328125 L 1.34375 -8.75 L 4.140625 -8.75 L 4.140625 -7.46875 C 4.523438 -7.976562 4.953125 -8.351562 5.421875 -8.59375 C 5.890625 -8.84375 6.429688 -8.96875 7.046875 -8.96875 C 8.117188 -8.96875 9 -8.535156 9.6875 -7.671875 C 10.382812 -6.816406 10.734375 -5.71875 10.734375 -4.375 C 10.734375 -3.019531 10.382812 -1.910156 9.6875 -1.046875 C 9 -0.191406 8.117188 0.234375 7.046875 0.234375 C 6.429688 0.234375 5.890625 0.113281 5.421875 -0.125 C 4.953125 -0.375 4.523438 -0.753906 4.140625 -1.265625 Z M 6 -6.9375 C 5.40625 -6.9375 4.945312 -6.710938 4.625 -6.265625 C 4.300781 -5.828125 4.140625 -5.195312 4.140625 -4.375 C 4.140625 -3.539062 4.300781 -2.90625 4.625 -2.46875 C 4.945312 -2.03125 5.40625 -1.8125 6 -1.8125 C 6.601562 -1.8125 7.0625 -2.03125 7.375 -2.46875 C 7.6875 -2.90625 7.84375 -3.539062 7.84375 -4.375 C 7.84375 -5.207031 7.6875 -5.84375 7.375 -6.28125 C 7.0625 -6.71875 6.601562 -6.9375 6 -6
.9375 Z M 6 -6.9375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-14">
+<path style="stroke:none;" d="M 1.46875 -11.671875 L 6.46875 -11.671875 C 7.945312 -11.671875 9.082031 -11.335938 9.875 -10.671875 C 10.675781 -10.015625 11.078125 -9.078125 11.078125 -7.859375 C 11.078125 -6.640625 10.675781 -5.695312 9.875 -5.03125 C 9.082031 -4.375 7.945312 -4.046875 6.46875 -4.046875 L 4.484375 -4.046875 L 4.484375 0 L 1.46875 0 Z M 4.484375 -9.484375 L 4.484375 -6.234375 L 6.140625 -6.234375 C 6.722656 -6.234375 7.171875 -6.375 7.484375 -6.65625 C 7.804688 -6.9375 7.96875 -7.335938 7.96875 -7.859375 C 7.96875 -8.378906 7.804688 -8.78125 7.484375 -9.0625 C 7.171875 -9.34375 6.722656 -9.484375 6.140625 -9.484375 Z M 4.484375 -9.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-15">
+<path style="stroke:none;" d="M 7.84375 -6.375 C 7.601562 -6.488281 7.359375 -6.570312 7.109375 -6.625 C 6.867188 -6.675781 6.628906 -6.703125 6.390625 -6.703125 C 5.671875 -6.703125 5.113281 -6.472656 4.71875 -6.015625 C 4.332031 -5.554688 4.140625 -4.894531 4.140625 -4.03125 L 4.140625 0 L 1.34375 0 L 1.34375 -8.75 L 4.140625 -8.75 L 4.140625 -7.3125 C 4.503906 -7.882812 4.914062 -8.300781 5.375 -8.5625 C 5.84375 -8.832031 6.40625 -8.96875 7.0625 -8.96875 C 7.15625 -8.96875 7.253906 -8.960938 7.359375 -8.953125 C 7.472656 -8.941406 7.632812 -8.925781 7.84375 -8.90625 Z M 7.84375 -6.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-16">
+<path style="stroke:none;" d="M 5.515625 -6.96875 C 4.890625 -6.96875 4.414062 -6.742188 4.09375 -6.296875 C 3.769531 -5.847656 3.609375 -5.207031 3.609375 -4.375 C 3.609375 -3.53125 3.769531 -2.882812 4.09375 -2.4375 C 4.414062 -2 4.890625 -1.78125 5.515625 -1.78125 C 6.117188 -1.78125 6.582031 -2 6.90625 -2.4375 C 7.226562 -2.882812 7.390625 -3.53125 7.390625 -4.375 C 7.390625 -5.207031 7.226562 -5.847656 6.90625 -6.296875 C 6.582031 -6.742188 6.117188 -6.96875 5.515625 -6.96875 Z M 5.515625 -8.96875 C 7.015625 -8.96875 8.1875 -8.5625 9.03125 -7.75 C 9.882812 -6.9375 10.3125 -5.8125 10.3125 -4.375 C 10.3125 -2.9375 9.882812 -1.804688 9.03125 -0.984375 C 8.1875 -0.171875 7.015625 0.234375 5.515625 0.234375 C 4.003906 0.234375 2.820312 -0.171875 1.96875 -0.984375 C 1.113281 -1.804688 0.6875 -2.9375 0.6875 -4.375 C 0.6875 -5.8125 1.113281 -6.9375 1.96875 -7.75 C 2.820312 -8.5625 4.003906 -8.96875 5.515625 -8.96875 Z M 5.515625 -8.96875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-17">
+<path style="stroke:none;" d="M 0.921875 -8.75 L 8.546875 -8.75 L 8.546875 -6.796875 L 3.9375 -2 L 8.546875 -2 L 8.546875 0 L 0.71875 0 L 0.71875 -1.953125 L 5.328125 -6.75 L 0.921875 -6.75 Z M 0.921875 -8.75 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 0.640625 2.296875 L 0.640625 -9.171875 L 7.140625 -9.171875 L 7.140625 2.296875 Z M 1.375 1.578125 L 6.421875 1.578125 L 6.421875 -8.4375 L 1.375 -8.4375 Z M 1.375 1.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M 5.90625 -3.640625 C 5.90625 -4.484375 5.726562 -5.132812 5.375 -5.59375 C 5.03125 -6.0625 4.539062 -6.296875 3.90625 -6.296875 C 3.28125 -6.296875 2.789062 -6.0625 2.4375 -5.59375 C 2.09375 -5.132812 1.921875 -4.484375 1.921875 -3.640625 C 1.921875 -2.796875 2.09375 -2.140625 2.4375 -1.671875 C 2.789062 -1.210938 3.28125 -0.984375 3.90625 -0.984375 C 4.539062 -0.984375 5.03125 -1.210938 5.375 -1.671875 C 5.726562 -2.140625 5.90625 -2.796875 5.90625 -3.640625 Z M 7.078125 -0.875 C 7.078125 0.332031 6.804688 1.226562 6.265625 1.8125 C 5.722656 2.40625 4.898438 2.703125 3.796875 2.703125 C 3.390625 2.703125 3.003906 2.671875 2.640625 2.609375 C 2.273438 2.546875 1.921875 2.453125 1.578125 2.328125 L 1.578125 1.1875 C 1.921875 1.375 2.257812 1.507812 2.59375 1.59375 C 2.925781 1.6875 3.265625 1.734375 3.609375 1.734375 C 4.378906 1.734375 4.953125 1.535156 5.328125 1.140625 C 5.710938 0.742188 5.90625 0.140625 5.90625 -0.671875 L 5.90625 -1.25 C 5.664062
-0.832031 5.351562 -0.519531 4.96875 -0.3125 C 4.59375 -0.101562 4.144531 0 3.625 0 C 2.75 0 2.046875 -0.332031 1.515625 -1 C 0.984375 -1.664062 0.71875 -2.546875 0.71875 -3.640625 C 0.71875 -4.734375 0.984375 -5.613281 1.515625 -6.28125 C 2.046875 -6.945312 2.75 -7.28125 3.625 -7.28125 C 4.144531 -7.28125 4.59375 -7.175781 4.96875 -6.96875 C 5.351562 -6.757812 5.664062 -6.445312 5.90625 -6.03125 L 5.90625 -7.109375 L 7.078125 -7.109375 Z M 7.078125 -0.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M 7.3125 -3.84375 L 7.3125 -3.28125 L 1.9375 -3.28125 C 1.988281 -2.46875 2.226562 -1.851562 2.65625 -1.4375 C 3.09375 -1.019531 3.695312 -0.8125 4.46875 -0.8125 C 4.914062 -0.8125 5.347656 -0.863281 5.765625 -0.96875 C 6.191406 -1.082031 6.613281 -1.25 7.03125 -1.46875 L 7.03125 -0.359375 C 6.613281 -0.179688 6.179688 -0.046875 5.734375 0.046875 C 5.296875 0.140625 4.851562 0.1875 4.40625 0.1875 C 3.269531 0.1875 2.367188 -0.140625 1.703125 -0.796875 C 1.046875 -1.460938 0.71875 -2.359375 0.71875 -3.484375 C 0.71875 -4.648438 1.03125 -5.570312 1.65625 -6.25 C 2.289062 -6.9375 3.140625 -7.28125 4.203125 -7.28125 C 5.160156 -7.28125 5.914062 -6.972656 6.46875 -6.359375 C 7.03125 -5.742188 7.3125 -4.90625 7.3125 -3.84375 Z M 6.140625 -4.1875 C 6.128906 -4.820312 5.945312 -5.332031 5.59375 -5.71875 C 5.25 -6.101562 4.789062 -6.296875 4.21875 -6.296875 C 3.5625 -6.296875 3.035156 -6.109375 2.640625 -5.734375 C 2.253906 -5.367188 2.03125 -4.851562 1.96875 -4
.1875 Z M 6.140625 -4.1875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M 2.375 -9.125 L 2.375 -7.109375 L 4.78125 -7.109375 L 4.78125 -6.203125 L 2.375 -6.203125 L 2.375 -2.34375 C 2.375 -1.757812 2.453125 -1.382812 2.609375 -1.21875 C 2.773438 -1.0625 3.101562 -0.984375 3.59375 -0.984375 L 4.78125 -0.984375 L 4.78125 0 L 3.59375 0 C 2.6875 0 2.0625 -0.164062 1.71875 -0.5 C 1.375 -0.84375 1.203125 -1.457031 1.203125 -2.34375 L 1.203125 -6.203125 L 0.34375 -6.203125 L 0.34375 -7.109375 L 1.203125 -7.109375 L 1.203125 -9.125 Z M 2.375 -9.125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-4">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph1-5">
+<path style="stroke:none;" d="M 5.90625 -6.03125 L 5.90625 -9.875 L 7.078125 -9.875 L 7.078125 0 L 5.90625 0 L 5.90625 -1.0625 C 5.65625 -0.644531 5.34375 -0.332031 4.96875 -0.125 C 4.59375 0.0820312 4.144531 0.1875 3.625 0.1875 C 2.769531 0.1875 2.070312 -0.15625 1.53125 -0.84375 C 0.988281 -1.53125 0.71875 -2.429688 0.71875 -3.546875 C 0.71875 -4.660156 0.988281 -5.5625 1.53125 -6.25 C 2.070312 -6.9375 2.769531 -7.28125 3.625 -7.28125 C 4.144531 -7.28125 4.59375 -7.175781 4.96875 -6.96875 C 5.34375 -6.769531 5.65625 -6.457031 5.90625 -6.03125 Z M 1.921875 -3.546875 C 1.921875 -2.691406 2.097656 -2.019531 2.453125 -1.53125 C 2.804688 -1.039062 3.289062 -0.796875 3.90625 -0.796875 C 4.53125 -0.796875 5.019531 -1.039062 5.375 -1.53125 C 5.726562 -2.019531 5.90625 -2.691406 5.90625 -3.546875 C 5.90625 -4.410156 5.726562 -5.082031 5.375 -5.5625 C 5.019531 -6.050781 4.53125 -6.296875 3.90625 -6.296875 C 3.289062 -6.296875 2.804688 -6.050781 2.453125 -5.5625 C 2.097656 -5.082031 1.921875
-4.410156 1.921875 -3.546875 Z M 1.921875 -3.546875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-6">
+<path style="stroke:none;" d="M 5.75 -6.90625 L 5.75 -5.796875 C 5.425781 -5.960938 5.085938 -6.085938 4.734375 -6.171875 C 4.378906 -6.253906 4.007812 -6.296875 3.625 -6.296875 C 3.039062 -6.296875 2.601562 -6.207031 2.3125 -6.03125 C 2.03125 -5.851562 1.890625 -5.585938 1.890625 -5.234375 C 1.890625 -4.960938 1.988281 -4.75 2.1875 -4.59375 C 2.394531 -4.445312 2.816406 -4.300781 3.453125 -4.15625 L 3.84375 -4.0625 C 4.675781 -3.882812 5.265625 -3.632812 5.609375 -3.3125 C 5.960938 -2.988281 6.140625 -2.539062 6.140625 -1.96875 C 6.140625 -1.300781 5.878906 -0.773438 5.359375 -0.390625 C 4.835938 -0.00390625 4.117188 0.1875 3.203125 0.1875 C 2.816406 0.1875 2.414062 0.148438 2 0.078125 C 1.59375 0.00390625 1.160156 -0.109375 0.703125 -0.265625 L 0.703125 -1.46875 C 1.140625 -1.238281 1.566406 -1.066406 1.984375 -0.953125 C 2.398438 -0.847656 2.8125 -0.796875 3.21875 -0.796875 C 3.769531 -0.796875 4.191406 -0.890625 4.484375 -1.078125 C 4.785156 -1.265625 4.9375 -1.53125 4.9375 -1.8
75 C 4.9375 -2.1875 4.828125 -2.425781 4.609375 -2.59375 C 4.398438 -2.769531 3.9375 -2.9375 3.21875 -3.09375 L 2.8125 -3.1875 C 2.082031 -3.34375 1.554688 -3.578125 1.234375 -3.890625 C 0.910156 -4.203125 0.75 -4.632812 0.75 -5.1875 C 0.75 -5.851562 0.984375 -6.367188 1.453125 -6.734375 C 1.929688 -7.097656 2.609375 -7.28125 3.484375 -7.28125 C 3.910156 -7.28125 4.316406 -7.25 4.703125 -7.1875 C 5.085938 -7.125 5.4375 -7.03125 5.75 -6.90625 Z M 5.75 -6.90625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-7">
+<path style="stroke:none;" d="M 6.34375 -6.84375 L 6.34375 -5.75 C 6.007812 -5.925781 5.675781 -6.0625 5.34375 -6.15625 C 5.007812 -6.25 4.675781 -6.296875 4.34375 -6.296875 C 3.582031 -6.296875 2.992188 -6.050781 2.578125 -5.5625 C 2.160156 -5.082031 1.953125 -4.410156 1.953125 -3.546875 C 1.953125 -2.679688 2.160156 -2.007812 2.578125 -1.53125 C 2.992188 -1.050781 3.582031 -0.8125 4.34375 -0.8125 C 4.675781 -0.8125 5.007812 -0.851562 5.34375 -0.9375 C 5.675781 -1.03125 6.007812 -1.171875 6.34375 -1.359375 L 6.34375 -0.265625 C 6.019531 -0.117188 5.679688 -0.0078125 5.328125 0.0625 C 4.984375 0.144531 4.613281 0.1875 4.21875 0.1875 C 3.144531 0.1875 2.289062 -0.144531 1.65625 -0.8125 C 1.03125 -1.488281 0.71875 -2.398438 0.71875 -3.546875 C 0.71875 -4.703125 1.035156 -5.613281 1.671875 -6.28125 C 2.304688 -6.945312 3.179688 -7.28125 4.296875 -7.28125 C 4.648438 -7.28125 5 -7.242188 5.34375 -7.171875 C 5.6875 -7.097656 6.019531 -6.988281 6.34375 -6.84375 Z M 6.34375 -6.84375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-8">
+<path style="stroke:none;" d="M 5.34375 -6.015625 C 5.207031 -6.085938 5.0625 -6.140625 4.90625 -6.171875 C 4.757812 -6.210938 4.59375 -6.234375 4.40625 -6.234375 C 3.75 -6.234375 3.242188 -6.019531 2.890625 -5.59375 C 2.535156 -5.164062 2.359375 -4.550781 2.359375 -3.75 L 2.359375 0 L 1.1875 0 L 1.1875 -7.109375 L 2.359375 -7.109375 L 2.359375 -6 C 2.597656 -6.4375 2.914062 -6.757812 3.3125 -6.96875 C 3.707031 -7.175781 4.1875 -7.28125 4.75 -7.28125 C 4.832031 -7.28125 4.921875 -7.273438 5.015625 -7.265625 C 5.109375 -7.253906 5.21875 -7.238281 5.34375 -7.21875 Z M 5.34375 -6.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-9">
+<path style="stroke:none;" d="M 1.21875 -7.109375 L 2.390625 -7.109375 L 2.390625 0 L 1.21875 0 Z M 1.21875 -9.875 L 2.390625 -9.875 L 2.390625 -8.390625 L 1.21875 -8.390625 Z M 1.21875 -9.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-10">
+<path style="stroke:none;" d="M 2.359375 -1.0625 L 2.359375 2.703125 L 1.1875 2.703125 L 1.1875 -7.109375 L 2.359375 -7.109375 L 2.359375 -6.03125 C 2.597656 -6.457031 2.90625 -6.769531 3.28125 -6.96875 C 3.65625 -7.175781 4.101562 -7.28125 4.625 -7.28125 C 5.488281 -7.28125 6.191406 -6.9375 6.734375 -6.25 C 7.273438 -5.5625 7.546875 -4.660156 7.546875 -3.546875 C 7.546875 -2.429688 7.273438 -1.53125 6.734375 -0.84375 C 6.191406 -0.15625 5.488281 0.1875 4.625 0.1875 C 4.101562 0.1875 3.65625 0.0820312 3.28125 -0.125 C 2.90625 -0.332031 2.597656 -0.644531 2.359375 -1.0625 Z M 6.328125 -3.546875 C 6.328125 -4.410156 6.148438 -5.082031 5.796875 -5.5625 C 5.441406 -6.050781 4.957031 -6.296875 4.34375 -6.296875 C 3.726562 -6.296875 3.242188 -6.050781 2.890625 -5.5625 C 2.535156 -5.082031 2.359375 -4.410156 2.359375 -3.546875 C 2.359375 -2.691406 2.535156 -2.019531 2.890625 -1.53125 C 3.242188 -1.039062 3.726562 -0.796875 4.34375 -0.796875 C 4.957031 -0.796875 5.441406 -1.039062 5.796875
-1.53125 C 6.148438 -2.019531 6.328125 -2.691406 6.328125 -3.546875 Z M 6.328125 -3.546875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-11">
+<path style="stroke:none;" d="M 3.984375 -6.296875 C 3.359375 -6.296875 2.863281 -6.050781 2.5 -5.5625 C 2.132812 -5.070312 1.953125 -4.398438 1.953125 -3.546875 C 1.953125 -2.691406 2.128906 -2.019531 2.484375 -1.53125 C 2.847656 -1.050781 3.347656 -0.8125 3.984375 -0.8125 C 4.597656 -0.8125 5.085938 -1.054688 5.453125 -1.546875 C 5.816406 -2.035156 6 -2.703125 6 -3.546875 C 6 -4.390625 5.816406 -5.054688 5.453125 -5.546875 C 5.085938 -6.046875 4.597656 -6.296875 3.984375 -6.296875 Z M 3.984375 -7.28125 C 4.992188 -7.28125 5.789062 -6.945312 6.375 -6.28125 C 6.957031 -5.625 7.25 -4.710938 7.25 -3.546875 C 7.25 -2.378906 6.957031 -1.460938 6.375 -0.796875 C 5.789062 -0.140625 4.992188 0.1875 3.984375 0.1875 C 2.960938 0.1875 2.160156 -0.140625 1.578125 -0.796875 C 1.003906 -1.460938 0.71875 -2.378906 0.71875 -3.546875 C 0.71875 -4.710938 1.003906 -5.625 1.578125 -6.28125 C 2.160156 -6.945312 2.960938 -7.28125 3.984375 -7.28125 Z M 3.984375 -7.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-12">
+<path style="stroke:none;" d="M 4.453125 -3.578125 C 3.515625 -3.578125 2.863281 -3.46875 2.5 -3.25 C 2.132812 -3.03125 1.953125 -2.660156 1.953125 -2.140625 C 1.953125 -1.734375 2.085938 -1.40625 2.359375 -1.15625 C 2.628906 -0.914062 3 -0.796875 3.46875 -0.796875 C 4.113281 -0.796875 4.632812 -1.023438 5.03125 -1.484375 C 5.425781 -1.941406 5.625 -2.550781 5.625 -3.3125 L 5.625 -3.578125 Z M 6.78125 -4.0625 L 6.78125 0 L 5.625 0 L 5.625 -1.078125 C 5.351562 -0.648438 5.019531 -0.332031 4.625 -0.125 C 4.226562 0.0820312 3.738281 0.1875 3.15625 0.1875 C 2.425781 0.1875 1.847656 -0.015625 1.421875 -0.421875 C 0.992188 -0.835938 0.78125 -1.382812 0.78125 -2.0625 C 0.78125 -2.863281 1.046875 -3.46875 1.578125 -3.875 C 2.117188 -4.28125 2.921875 -4.484375 3.984375 -4.484375 L 5.625 -4.484375 L 5.625 -4.609375 C 5.625 -5.140625 5.445312 -5.550781 5.09375 -5.84375 C 4.738281 -6.144531 4.238281 -6.296875 3.59375 -6.296875 C 3.1875 -6.296875 2.789062 -6.242188 2.40625 -6.140625 C 2.019531 -
6.046875 1.648438 -5.898438 1.296875 -5.703125 L 1.296875 -6.78125 C 1.722656 -6.945312 2.140625 -7.070312 2.546875 -7.15625 C 2.953125 -7.238281 3.34375 -7.28125 3.71875 -7.28125 C 4.75 -7.28125 5.515625 -7.015625 6.015625 -6.484375 C 6.523438 -5.953125 6.78125 -5.144531 6.78125 -4.0625 Z M 6.78125 -4.0625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-13">
+<path style="stroke:none;" d="M 7.140625 -4.296875 L 7.140625 0 L 5.96875 0 L 5.96875 -4.25 C 5.96875 -4.925781 5.835938 -5.429688 5.578125 -5.765625 C 5.316406 -6.097656 4.921875 -6.265625 4.390625 -6.265625 C 3.765625 -6.265625 3.269531 -6.0625 2.90625 -5.65625 C 2.539062 -5.257812 2.359375 -4.710938 2.359375 -4.015625 L 2.359375 0 L 1.1875 0 L 1.1875 -7.109375 L 2.359375 -7.109375 L 2.359375 -6 C 2.640625 -6.425781 2.96875 -6.742188 3.34375 -6.953125 C 3.71875 -7.171875 4.15625 -7.28125 4.65625 -7.28125 C 5.46875 -7.28125 6.082031 -7.023438 6.5 -6.515625 C 6.925781 -6.015625 7.140625 -5.273438 7.140625 -4.296875 Z M 7.140625 -4.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-14">
+<path style="stroke:none;" d="M 0.546875 -7.109375 L 1.71875 -7.109375 L 3.171875 -1.5625 L 4.625 -7.109375 L 6 -7.109375 L 7.46875 -1.5625 L 8.921875 -7.109375 L 10.09375 -7.109375 L 8.234375 0 L 6.84375 0 L 5.3125 -5.828125 L 3.78125 0 L 2.40625 0 Z M 0.546875 -7.109375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-15">
+<path style="stroke:none;" d="M 1.1875 -9.875 L 2.359375 -9.875 L 2.359375 -4.046875 L 5.84375 -7.109375 L 7.328125 -7.109375 L 3.5625 -3.78125 L 7.484375 0 L 5.96875 0 L 2.359375 -3.46875 L 2.359375 0 L 1.1875 0 Z M 1.1875 -9.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-16">
+<path style="stroke:none;" d="M 1.109375 -2.8125 L 1.109375 -7.109375 L 2.265625 -7.109375 L 2.265625 -2.84375 C 2.265625 -2.175781 2.394531 -1.671875 2.65625 -1.328125 C 2.925781 -0.992188 3.320312 -0.828125 3.84375 -0.828125 C 4.476562 -0.828125 4.976562 -1.023438 5.34375 -1.421875 C 5.707031 -1.828125 5.890625 -2.378906 5.890625 -3.078125 L 5.890625 -7.109375 L 7.0625 -7.109375 L 7.0625 0 L 5.890625 0 L 5.890625 -1.09375 C 5.609375 -0.65625 5.28125 -0.332031 4.90625 -0.125 C 4.53125 0.0820312 4.09375 0.1875 3.59375 0.1875 C 2.78125 0.1875 2.160156 -0.0664062 1.734375 -0.578125 C 1.316406 -1.085938 1.109375 -1.832031 1.109375 -2.8125 Z M 4.046875 -7.28125 Z M 4.046875 -7.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-17">
+<path style="stroke:none;" d="M 6.765625 -5.75 C 7.054688 -6.269531 7.40625 -6.65625 7.8125 -6.90625 C 8.21875 -7.15625 8.695312 -7.28125 9.25 -7.28125 C 9.988281 -7.28125 10.554688 -7.019531 10.953125 -6.5 C 11.359375 -5.976562 11.5625 -5.242188 11.5625 -4.296875 L 11.5625 0 L 10.390625 0 L 10.390625 -4.25 C 10.390625 -4.9375 10.265625 -5.441406 10.015625 -5.765625 C 9.773438 -6.097656 9.410156 -6.265625 8.921875 -6.265625 C 8.316406 -6.265625 7.835938 -6.0625 7.484375 -5.65625 C 7.128906 -5.257812 6.953125 -4.710938 6.953125 -4.015625 L 6.953125 0 L 5.78125 0 L 5.78125 -4.25 C 5.78125 -4.9375 5.660156 -5.441406 5.421875 -5.765625 C 5.179688 -6.097656 4.804688 -6.265625 4.296875 -6.265625 C 3.703125 -6.265625 3.226562 -6.0625 2.875 -5.65625 C 2.53125 -5.25 2.359375 -4.703125 2.359375 -4.015625 L 2.359375 0 L 1.1875 0 L 1.1875 -7.109375 L 2.359375 -7.109375 L 2.359375 -6 C 2.617188 -6.4375 2.9375 -6.757812 3.3125 -6.96875 C 3.6875 -7.175781 4.128906 -7.28125 4.640625 -7.28125 C 5.16
0156 -7.28125 5.597656 -7.148438 5.953125 -6.890625 C 6.316406 -6.628906 6.585938 -6.25 6.765625 -5.75 Z M 6.765625 -5.75 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-18">
+<path style="stroke:none;" d="M 1.21875 -9.875 L 2.390625 -9.875 L 2.390625 0 L 1.21875 0 Z M 1.21875 -9.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-19">
+<path style="stroke:none;" d="M 7.140625 -4.296875 L 7.140625 0 L 5.96875 0 L 5.96875 -4.25 C 5.96875 -4.925781 5.835938 -5.429688 5.578125 -5.765625 C 5.316406 -6.097656 4.921875 -6.265625 4.390625 -6.265625 C 3.765625 -6.265625 3.269531 -6.0625 2.90625 -5.65625 C 2.539062 -5.257812 2.359375 -4.710938 2.359375 -4.015625 L 2.359375 0 L 1.1875 0 L 1.1875 -9.875 L 2.359375 -9.875 L 2.359375 -6 C 2.640625 -6.425781 2.96875 -6.742188 3.34375 -6.953125 C 3.71875 -7.171875 4.15625 -7.28125 4.65625 -7.28125 C 5.46875 -7.28125 6.082031 -7.023438 6.5 -6.515625 C 6.925781 -6.015625 7.140625 -5.273438 7.140625 -4.296875 Z M 7.140625 -4.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-20">
+<path style="stroke:none;" d="M -0.03125 -9.484375 L 7.984375 -9.484375 L 7.984375 -8.390625 L 4.609375 -8.390625 L 4.609375 0 L 3.328125 0 L 3.328125 -8.390625 L -0.03125 -8.390625 Z M -0.03125 -9.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-21">
+<path style="stroke:none;" d="M 4.03125 -9.859375 C 3.46875 -8.890625 3.046875 -7.925781 2.765625 -6.96875 C 2.492188 -6.019531 2.359375 -5.054688 2.359375 -4.078125 C 2.359375 -3.097656 2.492188 -2.128906 2.765625 -1.171875 C 3.046875 -0.210938 3.46875 0.75 4.03125 1.71875 L 3.015625 1.71875 C 2.378906 0.71875 1.90625 -0.257812 1.59375 -1.21875 C 1.28125 -2.175781 1.125 -3.128906 1.125 -4.078125 C 1.125 -5.023438 1.28125 -5.972656 1.59375 -6.921875 C 1.90625 -7.878906 2.378906 -8.859375 3.015625 -9.859375 Z M 4.03125 -9.859375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-22">
+<path style="stroke:none;" d="M 1.046875 -9.859375 L 2.0625 -9.859375 C 2.695312 -8.859375 3.171875 -7.878906 3.484375 -6.921875 C 3.796875 -5.972656 3.953125 -5.023438 3.953125 -4.078125 C 3.953125 -3.128906 3.796875 -2.175781 3.484375 -1.21875 C 3.171875 -0.257812 2.695312 0.71875 2.0625 1.71875 L 1.046875 1.71875 C 1.609375 0.75 2.023438 -0.210938 2.296875 -1.171875 C 2.578125 -2.128906 2.71875 -3.097656 2.71875 -4.078125 C 2.71875 -5.054688 2.578125 -6.019531 2.296875 -6.96875 C 2.023438 -7.925781 1.609375 -8.890625 1.046875 -9.859375 Z M 1.046875 -9.859375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-23">
+<path style="stroke:none;" d="M 6.96875 -7.109375 L 6.96875 0 L 5.796875 0 L 5.796875 -6.203125 L 2.59375 -6.203125 L 2.59375 0 L 1.421875 0 L 1.421875 -6.203125 L 0.296875 -6.203125 L 0.296875 -7.109375 L 1.421875 -7.109375 L 1.421875 -7.609375 C 1.421875 -8.378906 1.601562 -8.945312 1.96875 -9.3125 C 2.332031 -9.6875 2.894531 -9.875 3.65625 -9.875 L 4.828125 -9.875 L 4.828125 -8.90625 L 3.703125 -8.90625 C 3.285156 -8.90625 2.992188 -8.816406 2.828125 -8.640625 C 2.671875 -8.472656 2.59375 -8.171875 2.59375 -7.734375 L 2.59375 -7.109375 Z M 5.796875 -9.859375 L 6.96875 -9.859375 L 6.96875 -8.390625 L 5.796875 -8.390625 Z M 5.796875 -9.859375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-24">
+<path style="stroke:none;" d="M 4.828125 -9.875 L 4.828125 -8.90625 L 3.703125 -8.90625 C 3.285156 -8.90625 2.992188 -8.816406 2.828125 -8.640625 C 2.671875 -8.472656 2.59375 -8.171875 2.59375 -7.734375 L 2.59375 -7.109375 L 4.515625 -7.109375 L 4.515625 -6.203125 L 2.59375 -6.203125 L 2.59375 0 L 1.421875 0 L 1.421875 -6.203125 L 0.296875 -6.203125 L 0.296875 -7.109375 L 1.421875 -7.109375 L 1.421875 -7.609375 C 1.421875 -8.398438 1.601562 -8.972656 1.96875 -9.328125 C 2.332031 -9.691406 2.914062 -9.875 3.71875 -9.875 Z M 4.828125 -9.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-25">
+<path style="stroke:none;" d="M 4.1875 0.65625 C 3.851562 1.507812 3.53125 2.0625 3.21875 2.3125 C 2.90625 2.570312 2.488281 2.703125 1.96875 2.703125 L 1.03125 2.703125 L 1.03125 1.734375 L 1.71875 1.734375 C 2.039062 1.734375 2.289062 1.65625 2.46875 1.5 C 2.644531 1.34375 2.835938 0.984375 3.046875 0.421875 L 3.265625 -0.109375 L 0.390625 -7.109375 L 1.625 -7.109375 L 3.84375 -1.546875 L 6.0625 -7.109375 L 7.3125 -7.109375 Z M 4.1875 0.65625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-26">
+<path style="stroke:none;" d="M 6.328125 -3.546875 C 6.328125 -4.410156 6.148438 -5.082031 5.796875 -5.5625 C 5.441406 -6.050781 4.957031 -6.296875 4.34375 -6.296875 C 3.726562 -6.296875 3.242188 -6.050781 2.890625 -5.5625 C 2.535156 -5.082031 2.359375 -4.410156 2.359375 -3.546875 C 2.359375 -2.691406 2.535156 -2.019531 2.890625 -1.53125 C 3.242188 -1.039062 3.726562 -0.796875 4.34375 -0.796875 C 4.957031 -0.796875 5.441406 -1.039062 5.796875 -1.53125 C 6.148438 -2.019531 6.328125 -2.691406 6.328125 -3.546875 Z M 2.359375 -6.03125 C 2.597656 -6.457031 2.90625 -6.769531 3.28125 -6.96875 C 3.65625 -7.175781 4.101562 -7.28125 4.625 -7.28125 C 5.488281 -7.28125 6.191406 -6.9375 6.734375 -6.25 C 7.273438 -5.5625 7.546875 -4.660156 7.546875 -3.546875 C 7.546875 -2.429688 7.273438 -1.53125 6.734375 -0.84375 C 6.191406 -0.15625 5.488281 0.1875 4.625 0.1875 C 4.101562 0.1875 3.65625 0.0820312 3.28125 -0.125 C 2.90625 -0.332031 2.597656 -0.644531 2.359375 -1.0625 L 2.359375 0 L 1.1875 0 L 1.1
875 -9.875 L 2.359375 -9.875 Z M 2.359375 -6.03125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-0">
+<path style="stroke:none;" d="M 0.65625 2.296875 L 0.65625 -9.171875 L 7.15625 -9.171875 L 7.15625 2.296875 Z M 1.390625 1.578125 L 6.4375 1.578125 L 6.4375 -8.4375 L 1.390625 -8.4375 Z M 1.390625 1.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-1">
+<path style="stroke:none;" d="M 6.171875 -6.859375 L 6.171875 -5.71875 C 5.835938 -5.914062 5.5 -6.0625 5.15625 -6.15625 C 4.820312 -6.25 4.476562 -6.296875 4.125 -6.296875 C 3.601562 -6.296875 3.210938 -6.210938 2.953125 -6.046875 C 2.691406 -5.878906 2.5625 -5.617188 2.5625 -5.265625 C 2.5625 -4.941406 2.65625 -4.703125 2.84375 -4.546875 C 3.039062 -4.390625 3.523438 -4.238281 4.296875 -4.09375 L 4.78125 -4 C 5.351562 -3.894531 5.785156 -3.675781 6.078125 -3.34375 C 6.378906 -3.007812 6.53125 -2.582031 6.53125 -2.0625 C 6.53125 -1.351562 6.28125 -0.800781 5.78125 -0.40625 C 5.289062 -0.0078125 4.597656 0.1875 3.703125 0.1875 C 3.359375 0.1875 2.992188 0.148438 2.609375 0.078125 C 2.222656 0.00390625 1.804688 -0.109375 1.359375 -0.265625 L 1.359375 -1.46875 C 1.785156 -1.238281 2.195312 -1.066406 2.59375 -0.953125 C 3 -0.847656 3.378906 -0.796875 3.734375 -0.796875 C 4.242188 -0.796875 4.640625 -0.898438 4.921875 -1.109375 C 5.210938 -1.316406 5.359375 -1.609375 5.359375 -1.984375
C 5.359375 -2.523438 4.835938 -2.898438 3.796875 -3.109375 L 3.75 -3.125 L 3.3125 -3.21875 C 2.632812 -3.34375 2.140625 -3.5625 1.828125 -3.875 C 1.523438 -4.1875 1.375 -4.609375 1.375 -5.140625 C 1.375 -5.828125 1.601562 -6.351562 2.0625 -6.71875 C 2.53125 -7.09375 3.191406 -7.28125 4.046875 -7.28125 C 4.421875 -7.28125 4.785156 -7.242188 5.140625 -7.171875 C 5.492188 -7.109375 5.835938 -7.003906 6.171875 -6.859375 Z M 6.171875 -6.859375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-2">
+<path style="stroke:none;" d="M 3.890625 -9.125 L 3.890625 -7.109375 L 6.546875 -7.109375 L 6.546875 -6.203125 L 3.890625 -6.203125 L 3.890625 -2.34375 C 3.890625 -1.820312 3.988281 -1.457031 4.1875 -1.25 C 4.394531 -1.039062 4.742188 -0.9375 5.234375 -0.9375 L 6.546875 -0.9375 L 6.546875 0 L 5.125 0 C 4.25 0 3.628906 -0.171875 3.265625 -0.515625 C 2.910156 -0.867188 2.734375 -1.476562 2.734375 -2.34375 L 2.734375 -6.203125 L 0.828125 -6.203125 L 0.828125 -7.109375 L 2.734375 -7.109375 L 2.734375 -9.125 Z M 3.890625 -9.125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-3">
+<path style="stroke:none;" d="M 7.0625 -3.84375 L 7.0625 -3.28125 L 2 -3.28125 L 2 -3.234375 C 2 -2.460938 2.203125 -1.863281 2.609375 -1.4375 C 3.015625 -1.019531 3.582031 -0.8125 4.3125 -0.8125 C 4.6875 -0.8125 5.078125 -0.867188 5.484375 -0.984375 C 5.890625 -1.097656 6.320312 -1.28125 6.78125 -1.53125 L 6.78125 -0.359375 C 6.34375 -0.179688 5.914062 -0.046875 5.5 0.046875 C 5.082031 0.140625 4.679688 0.1875 4.296875 0.1875 C 3.191406 0.1875 2.328125 -0.140625 1.703125 -0.796875 C 1.085938 -1.460938 0.78125 -2.378906 0.78125 -3.546875 C 0.78125 -4.679688 1.082031 -5.585938 1.6875 -6.265625 C 2.300781 -6.941406 3.113281 -7.28125 4.125 -7.28125 C 5.03125 -7.28125 5.742188 -6.972656 6.265625 -6.359375 C 6.796875 -5.742188 7.0625 -4.90625 7.0625 -3.84375 Z M 5.890625 -4.1875 C 5.867188 -4.875 5.703125 -5.394531 5.390625 -5.75 C 5.085938 -6.113281 4.648438 -6.296875 4.078125 -6.296875 C 3.515625 -6.296875 3.050781 -6.109375 2.6875 -5.734375 C 2.320312 -5.359375 2.109375 -4.84375 2.046
875 -4.1875 Z M 5.890625 -4.1875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-4">
+<path style="stroke:none;" d="M 4.296875 -6.390625 C 4.429688 -6.691406 4.609375 -6.914062 4.828125 -7.0625 C 5.054688 -7.207031 5.328125 -7.28125 5.640625 -7.28125 C 6.210938 -7.28125 6.613281 -7.054688 6.84375 -6.609375 C 7.082031 -6.171875 7.203125 -5.34375 7.203125 -4.125 L 7.203125 0 L 6.140625 0 L 6.140625 -4.0625 C 6.140625 -5.070312 6.082031 -5.695312 5.96875 -5.9375 C 5.851562 -6.175781 5.648438 -6.296875 5.359375 -6.296875 C 5.015625 -6.296875 4.78125 -6.164062 4.65625 -5.90625 C 4.53125 -5.644531 4.46875 -5.03125 4.46875 -4.0625 L 4.46875 0 L 3.40625 0 L 3.40625 -4.0625 C 3.40625 -5.082031 3.34375 -5.707031 3.21875 -5.9375 C 3.101562 -6.175781 2.890625 -6.296875 2.578125 -6.296875 C 2.265625 -6.296875 2.046875 -6.164062 1.921875 -5.90625 C 1.804688 -5.644531 1.75 -5.03125 1.75 -4.0625 L 1.75 0 L 0.6875 0 L 0.6875 -7.109375 L 1.75 -7.109375 L 1.75 -6.5 C 1.894531 -6.75 2.070312 -6.941406 2.28125 -7.078125 C 2.488281 -7.210938 2.722656 -7.28125 2.984375 -7.28125 C 3.304688
-7.28125 3.570312 -7.207031 3.78125 -7.0625 C 4 -6.914062 4.171875 -6.691406 4.296875 -6.390625 Z M 4.296875 -6.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-5">
+<path style="stroke:none;" d="M 7.828125 2.5625 L 7.828125 3.0625 L 0 3.0625 L 0 2.5625 Z M 7.828125 2.5625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-6">
+<path style="stroke:none;" d="M 1.234375 -2.6875 L 1.234375 -7.09375 L 2.40625 -7.09375 L 2.40625 -2.6875 C 2.40625 -2.050781 2.515625 -1.582031 2.734375 -1.28125 C 2.960938 -0.976562 3.316406 -0.828125 3.796875 -0.828125 C 4.347656 -0.828125 4.769531 -1.019531 5.0625 -1.40625 C 5.351562 -1.800781 5.5 -2.359375 5.5 -3.078125 L 5.5 -7.09375 L 6.671875 -7.09375 L 6.671875 0 L 5.5 0 L 5.5 -1.0625 C 5.289062 -0.65625 5.003906 -0.34375 4.640625 -0.125 C 4.285156 0.0820312 3.867188 0.1875 3.390625 0.1875 C 2.660156 0.1875 2.117188 -0.0507812 1.765625 -0.53125 C 1.410156 -1.007812 1.234375 -1.726562 1.234375 -2.6875 Z M 1.234375 -2.6875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-7">
+<path style="stroke:none;" d="M 1.625 -7.109375 L 4.609375 -7.109375 L 4.609375 -0.90625 L 6.9375 -0.90625 L 6.9375 0 L 1.125 0 L 1.125 -0.90625 L 3.453125 -0.90625 L 3.453125 -6.203125 L 1.625 -6.203125 Z M 3.453125 -9.875 L 4.609375 -9.875 L 4.609375 -8.390625 L 3.453125 -8.390625 Z M 3.453125 -9.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-8">
+<path style="stroke:none;" d="M 4.0625 -2.578125 C 4.0625 -2.054688 4.15625 -1.660156 4.34375 -1.390625 C 4.539062 -1.117188 4.828125 -0.984375 5.203125 -0.984375 L 6.5625 -0.984375 L 6.5625 0 L 5.078125 0 C 4.378906 0 3.835938 -0.222656 3.453125 -0.671875 C 3.078125 -1.117188 2.890625 -1.753906 2.890625 -2.578125 L 2.890625 -9.03125 L 1.015625 -9.03125 L 1.015625 -9.953125 L 4.0625 -9.953125 Z M 4.0625 -2.578125 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface274506">
+<rect x="0" y="0" width="548" height="480" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.3 8.250074 L 21.9125 8.250074 L 21.9125 9.650074 L 17.3 9.650074 Z M 17.3 8.250074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="11.011719" y="190.941461"/>
+ <use xlink:href="#glyph0-2" x="23.33214" y="190.941461"/>
+ <use xlink:href="#glyph0-3" x="34.183648" y="190.941461"/>
+ <use xlink:href="#glyph0-4" x="39.668132" y="190.941461"/>
+ <use xlink:href="#glyph0-5" x="49.973036" y="190.941461"/>
+ <use xlink:href="#glyph0-6" x="60.402724" y="190.941461"/>
+ <use xlink:href="#glyph0-7" x="70.598036" y="190.941461"/>
+ <use xlink:href="#glyph0-8" x="76.08252" y="190.941461"/>
+ <use xlink:href="#glyph0-9" x="85.605903" y="190.941461"/>
+</g>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.3 9.650074 L 21.9125 9.650074 L 21.9125 10.050074 L 17.3 10.050074 Z M 17.3 9.650074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.3 10.050074 L 21.9125 10.050074 L 21.9125 10.450074 L 17.3 10.450074 Z M 17.3 10.050074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 38.919922 9.250074 C 38.919922 10.575464 36.128516 11.650074 32.684961 11.650074 C 29.241602 11.650074 26.45 10.575464 26.45 9.250074 C 26.45 7.924488 29.241602 6.850074 32.684961 6.850074 C 36.128516 6.850074 38.919922 7.924488 38.919922 9.250074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-1" x="250.398438" y="179.837999"/>
+ <use xlink:href="#glyph1-2" x="258.650391" y="179.837999"/>
+ <use xlink:href="#glyph1-3" x="266.648438" y="179.837999"/>
+ <use xlink:href="#glyph1-4" x="271.745551" y="179.837999"/>
+ <use xlink:href="#glyph1-5" x="275.877767" y="179.837999"/>
+ <use xlink:href="#glyph1-2" x="284.12972" y="179.837999"/>
+ <use xlink:href="#glyph1-6" x="292.127767" y="179.837999"/>
+ <use xlink:href="#glyph1-7" x="298.90077" y="179.837999"/>
+ <use xlink:href="#glyph1-8" x="306.048123" y="179.837999"/>
+ <use xlink:href="#glyph1-9" x="311.392904" y="179.837999"/>
+ <use xlink:href="#glyph1-10" x="315.004829" y="179.837999"/>
+ <use xlink:href="#glyph1-3" x="323.256782" y="179.837999"/>
+ <use xlink:href="#glyph1-11" x="328.353895" y="179.837999"/>
+ <use xlink:href="#glyph1-8" x="336.307454" y="179.837999"/>
+ <use xlink:href="#glyph1-6" x="341.652235" y="179.837999"/>
+ <use xlink:href="#glyph1-4" x="348.425239" y="179.837999"/>
+ <use xlink:href="#glyph1-12" x="352.557454" y="179.837999"/>
+ <use xlink:href="#glyph1-13" x="360.523763" y="179.837999"/>
+ <use xlink:href="#glyph1-5" x="368.762967" y="179.837999"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-13" x="265.28125" y="195.837999"/>
+ <use xlink:href="#glyph1-2" x="273.520454" y="195.837999"/>
+ <use xlink:href="#glyph1-3" x="281.5185" y="195.837999"/>
+ <use xlink:href="#glyph1-14" x="286.615614" y="195.837999"/>
+ <use xlink:href="#glyph1-11" x="297.247938" y="195.837999"/>
+ <use xlink:href="#glyph1-15" x="305.201497" y="195.837999"/>
+ <use xlink:href="#glyph1-8" x="312.729709" y="195.837999"/>
+ <use xlink:href="#glyph1-4" x="318.07449" y="195.837999"/>
+ <use xlink:href="#glyph1-6" x="322.206706" y="195.837999"/>
+ <use xlink:href="#glyph1-3" x="328.979709" y="195.837999"/>
+ <use xlink:href="#glyph1-12" x="334.076823" y="195.837999"/>
+ <use xlink:href="#glyph1-3" x="342.043132" y="195.837999"/>
+ <use xlink:href="#glyph1-16" x="347.140245" y="195.837999"/>
+ <use xlink:href="#glyph1-6" x="355.379449" y="195.837999"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-5" x="275.457031" y="211.837999"/>
+ <use xlink:href="#glyph1-11" x="283.708984" y="211.837999"/>
+ <use xlink:href="#glyph1-7" x="291.662543" y="211.837999"/>
+ <use xlink:href="#glyph1-16" x="298.809896" y="211.837999"/>
+ <use xlink:href="#glyph1-17" x="307.049099" y="211.837999"/>
+ <use xlink:href="#glyph1-2" x="319.712674" y="211.837999"/>
+ <use xlink:href="#glyph1-13" x="327.71072" y="211.837999"/>
+ <use xlink:href="#glyph1-3" x="335.949924" y="211.837999"/>
+ <use xlink:href="#glyph1-6" x="341.047038" y="211.837999"/>
+ <use xlink:href="#glyph1-4" x="347.820041" y="211.837999"/>
+</g>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 25.6 9.250074 L 22 9.250074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 25.6 9.500074 L 26.4 9.250074 L 25.6 9.000074 Z M 25.6 9.500074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.1 3.550074 L 21.25 3.550074 L 21.85 4.150074 L 21.85 5.250074 L 17.1 5.250074 Z M 17.1 3.550074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill:none;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 21.25 3.550074 L 21.25 4.150074 L 21.85 4.150074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-1" x="9" y="102.837999"/>
+ <use xlink:href="#glyph2-2" x="16.826606" y="102.837999"/>
+ <use xlink:href="#glyph2-3" x="24.653212" y="102.837999"/>
+ <use xlink:href="#glyph2-4" x="32.479818" y="102.837999"/>
+ <use xlink:href="#glyph2-5" x="40.306424" y="102.837999"/>
+ <use xlink:href="#glyph2-6" x="48.13303" y="102.837999"/>
+ <use xlink:href="#glyph2-2" x="55.959635" y="102.837999"/>
+ <use xlink:href="#glyph2-7" x="63.786241" y="102.837999"/>
+ <use xlink:href="#glyph2-8" x="71.612847" y="102.837999"/>
+ <use xlink:href="#glyph2-1" x="79.439453" y="102.837999"/>
+</g>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 34.677539 4.462964 C 34.677539 5.243238 32.779688 5.875855 30.438672 5.875855 C 28.097656 5.875855 26.2 5.243238 26.2 4.462964 C 26.2 3.682496 28.097656 3.050074 30.438672 3.050074 C 32.779688 3.050074 34.677539 3.682496 34.677539 4.462964 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-18" x="207.035156" y="100.095812"/>
+ <use xlink:href="#glyph1-12" x="210.647081" y="100.095812"/>
+ <use xlink:href="#glyph1-16" x="218.61339" y="100.095812"/>
+ <use xlink:href="#glyph1-13" x="226.852593" y="100.095812"/>
+ <use xlink:href="#glyph1-7" x="235.091797" y="100.095812"/>
+ <use xlink:href="#glyph1-19" x="242.239149" y="100.095812"/>
+ <use xlink:href="#glyph1-4" x="250.478353" y="100.095812"/>
+ <use xlink:href="#glyph1-20" x="254.610569" y="100.095812"/>
+ <use xlink:href="#glyph1-11" x="260.342448" y="100.095812"/>
+ <use xlink:href="#glyph1-8" x="268.296007" y="100.095812"/>
+ <use xlink:href="#glyph1-4" x="273.640788" y="100.095812"/>
+ <use xlink:href="#glyph1-21" x="277.773003" y="100.095812"/>
+ <use xlink:href="#glyph1-3" x="282.844889" y="100.095812"/>
+ <use xlink:href="#glyph1-19" x="287.942003" y="100.095812"/>
+ <use xlink:href="#glyph1-8" x="296.181207" y="100.095812"/>
+ <use xlink:href="#glyph1-2" x="301.240343" y="100.095812"/>
+ <use xlink:href="#glyph1-12" x="309.23839" y="100.095812"/>
+ <use xlink:href="#glyph1-5" x="317.204698" y="100.095812"/>
+ <use xlink:href="#glyph1-22" x="325.456651" y="100.095812"/>
+</g>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 25.35 4.471754 L 22.6 4.500074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 25.352539 4.721754 L 26.15 4.463355 L 25.347461 4.221754 Z M 25.352539 4.721754 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.35 14.650074 L 23.35 14.650074 L 23.35 16.050074 L 17.35 16.050074 Z M 17.35 14.650074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="12" y="318.941461"/>
+ <use xlink:href="#glyph0-2" x="24.320421" y="318.941461"/>
+ <use xlink:href="#glyph0-8" x="35.171929" y="318.941461"/>
+ <use xlink:href="#glyph0-10" x="44.695313" y="318.941461"/>
+ <use xlink:href="#glyph0-3" x="56.085829" y="318.941461"/>
+ <use xlink:href="#glyph0-9" x="61.570313" y="318.941461"/>
+ <use xlink:href="#glyph0-11" x="69.218696" y="318.941461"/>
+ <use xlink:href="#glyph0-10" x="82.499946" y="318.941461"/>
+ <use xlink:href="#glyph0-12" x="93.890462" y="318.941461"/>
+ <use xlink:href="#glyph0-13" x="110.562283" y="318.941461"/>
+</g>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.35 16.050074 L 23.35 16.050074 L 23.35 16.450074 L 17.35 16.450074 Z M 17.35 16.050074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.35 16.450074 L 23.35 16.450074 L 23.35 16.850074 L 17.35 16.850074 Z M 17.35 16.450074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 37.607422 15.617847 C 37.607422 16.621949 35.16582 17.435816 32.153711 17.435816 C 29.141797 17.435816 26.7 16.621949 26.7 15.617847 C 26.7 14.613941 29.141797 13.800074 32.153711 13.800074 C 35.16582 13.800074 37.607422 14.613941 37.607422 15.617847 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-8" x="241.023438" y="315.197374"/>
+ <use xlink:href="#glyph1-2" x="246.082574" y="315.197374"/>
+ <use xlink:href="#glyph1-12" x="254.080621" y="315.197374"/>
+ <use xlink:href="#glyph1-5" x="262.046929" y="315.197374"/>
+ <use xlink:href="#glyph1-4" x="270.298882" y="315.197374"/>
+ <use xlink:href="#glyph1-17" x="274.431098" y="315.197374"/>
+ <use xlink:href="#glyph1-2" x="287.094672" y="315.197374"/>
+ <use xlink:href="#glyph1-12" x="295.092719" y="315.197374"/>
+ <use xlink:href="#glyph1-6" x="303.059028" y="315.197374"/>
+ <use xlink:href="#glyph1-16" x="309.832031" y="315.197374"/>
+ <use xlink:href="#glyph1-8" x="318.071235" y="315.197374"/>
+ <use xlink:href="#glyph1-2" x="323.130371" y="315.197374"/>
+ <use xlink:href="#glyph1-17" x="331.128418" y="315.197374"/>
+ <use xlink:href="#glyph1-2" x="343.791992" y="315.197374"/>
+ <use xlink:href="#glyph1-13" x="351.790039" y="315.197374"/>
+ <use xlink:href="#glyph1-3" x="360.029243" y="315.197374"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-23" x="289.792969" y="331.197374"/>
+ <use xlink:href="#glyph1-18" x="297.981445" y="331.197374"/>
+ <use xlink:href="#glyph1-2" x="301.59337" y="331.197374"/>
+ <use xlink:href="#glyph1-6" x="309.591417" y="331.197374"/>
+</g>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 25.850195 15.635621 L 23.388672 15.686793 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 25.855469 15.885621 L 26.65 15.619019 L 25.844922 15.385621 Z M 25.855469 15.885621 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.25 20.550074 L 24.757422 20.550074 L 24.757422 21.950074 L 17.25 21.950074 Z M 17.25 20.550074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="10.054688" y="436.941461"/>
+ <use xlink:href="#glyph0-2" x="22.375109" y="436.941461"/>
+ <use xlink:href="#glyph0-3" x="33.226617" y="436.941461"/>
+ <use xlink:href="#glyph0-4" x="38.7111" y="436.941461"/>
+ <use xlink:href="#glyph0-5" x="49.016005" y="436.941461"/>
+ <use xlink:href="#glyph0-14" x="59.445692" y="436.941461"/>
+ <use xlink:href="#glyph0-15" x="71.172309" y="436.941461"/>
+ <use xlink:href="#glyph0-7" x="79.062934" y="436.941461"/>
+ <use xlink:href="#glyph0-16" x="84.547418" y="436.941461"/>
+ <use xlink:href="#glyph0-15" x="95.539714" y="436.941461"/>
+ <use xlink:href="#glyph0-7" x="103.430339" y="436.941461"/>
+ <use xlink:href="#glyph0-9" x="108.914822" y="436.941461"/>
+ <use xlink:href="#glyph0-7" x="116.563205" y="436.941461"/>
+ <use xlink:href="#glyph0-17" x="122.047689" y="436.941461"/>
+ <use xlink:href="#glyph0-2" x="131.360297" y="436.941461"/>
+ <use xlink:href="#glyph0-15" x="142.211806" y="436.941461"/>
+</g>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.25 21.950074 L 24.757422 21.950074 L 24.757422 22.350074 L 17.25 22.350074 Z M 17.25 21.950074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.25 22.350074 L 24.757422 22.350074 L 24.757422 22.750074 L 17.25 22.750074 Z M 17.25 22.350074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 38.919922 9.250074 C 39.292383 9.516675 39.801758 9.480738 40.133008 9.164332 C 40.464062 8.847925 40.523242 8.340699 40.273633 7.956714 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 40.046875 7.705738 L 40.604883 7.73855 L 40.371875 7.892847 L 40.355469 8.171754 Z M 40.046875 7.705738 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 40.944922 6.500074 C 40.944922 7.052222 39.938672 7.500074 38.697461 7.500074 C 37.45625 7.500074 36.45 7.052222 36.45 6.500074 C 36.45 5.94773 37.45625 5.500074 38.697461 5.500074 C 39.938672 5.500074 40.944922 5.94773 40.944922 6.500074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-8" x="411.097656" y="140.837999"/>
+ <use xlink:href="#glyph1-2" x="416.156793" y="140.837999"/>
+ <use xlink:href="#glyph1-24" x="424.154839" y="140.837999"/>
+ <use xlink:href="#glyph1-8" x="428.731391" y="140.837999"/>
+ <use xlink:href="#glyph1-2" x="433.790527" y="140.837999"/>
+ <use xlink:href="#glyph1-6" x="441.788574" y="140.837999"/>
+ <use xlink:href="#glyph1-19" x="448.561578" y="140.837999"/>
+</g>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 40.775 21.279175 C 40.775 22.537964 37.713672 23.558277 33.9375 23.558277 C 30.161328 23.558277 27.1 22.537964 27.1 21.279175 C 27.1 20.020386 30.161328 19.000074 33.9375 19.000074 C 37.713672 19.000074 40.775 20.020386 40.775 21.279175 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-8" x="293.28125" y="428.42003"/>
+ <use xlink:href="#glyph1-2" x="298.340386" y="428.42003"/>
+ <use xlink:href="#glyph1-11" x="306.338433" y="428.42003"/>
+ <use xlink:href="#glyph1-8" x="314.291992" y="428.42003"/>
+ <use xlink:href="#glyph1-5" x="319.408366" y="428.42003"/>
+ <use xlink:href="#glyph1-2" x="327.660319" y="428.42003"/>
+ <use xlink:href="#glyph1-8" x="335.658366" y="428.42003"/>
+ <use xlink:href="#glyph1-4" x="341.003147" y="428.42003"/>
+ <use xlink:href="#glyph1-8" x="345.135362" y="428.42003"/>
+ <use xlink:href="#glyph1-2" x="350.194499" y="428.42003"/>
+ <use xlink:href="#glyph1-18" x="358.192546" y="428.42003"/>
+ <use xlink:href="#glyph1-12" x="361.80447" y="428.42003"/>
+ <use xlink:href="#glyph1-25" x="369.770779" y="428.42003"/>
+ <use xlink:href="#glyph1-6" x="377.464193" y="428.42003"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-26" x="248.59375" y="444.42003"/>
+ <use xlink:href="#glyph1-25" x="256.845703" y="444.42003"/>
+ <use xlink:href="#glyph1-4" x="264.539117" y="444.42003"/>
+ <use xlink:href="#glyph1-3" x="268.671332" y="444.42003"/>
+ <use xlink:href="#glyph1-19" x="273.768446" y="444.42003"/>
+ <use xlink:href="#glyph1-2" x="282.00765" y="444.42003"/>
+ <use xlink:href="#glyph1-9" x="290.005697" y="444.42003"/>
+ <use xlink:href="#glyph1-8" x="293.617622" y="444.42003"/>
+ <use xlink:href="#glyph1-4" x="298.962402" y="444.42003"/>
+ <use xlink:href="#glyph1-17" x="303.094618" y="444.42003"/>
+ <use xlink:href="#glyph1-2" x="315.758192" y="444.42003"/>
+ <use xlink:href="#glyph1-12" x="323.756239" y="444.42003"/>
+ <use xlink:href="#glyph1-6" x="331.722548" y="444.42003"/>
+ <use xlink:href="#glyph1-16" x="338.495551" y="444.42003"/>
+ <use xlink:href="#glyph1-8" x="346.734755" y="444.42003"/>
+ <use xlink:href="#glyph1-2" x="351.793891" y="444.42003"/>
+ <use xlink:href="#glyph1-17" x="359.791938" y="444.42003"/>
+ <use xlink:href="#glyph1-2" x="372.455512" y="444.42003"/>
+ <use xlink:href="#glyph1-13" x="380.453559" y="444.42003"/>
+ <use xlink:href="#glyph1-3" x="388.692763" y="444.42003"/>
+ <use xlink:href="#glyph1-6" x="393.789876" y="444.42003"/>
+ <use xlink:href="#glyph1-4" x="400.56288" y="444.42003"/>
+ <use xlink:href="#glyph1-12" x="404.695095" y="444.42003"/>
+ <use xlink:href="#glyph1-1" x="412.661404" y="444.42003"/>
+ <use xlink:href="#glyph1-2" x="420.913357" y="444.42003"/>
+</g>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 26.25 21.268629 L 24.757422 21.250074 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 26.246875 21.518629 L 27.05 21.278589 L 26.253125 21.018629 Z M 26.246875 21.518629 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 40.775 21.279175 C 41.071875 16.325464 38.042383 11.777418 33.357031 10.142457 C 28.67168 8.5073 23.470312 10.183082 20.620508 14.245777 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 20.410156 14.555738 L 20.468164 13.999683 L 20.611719 14.239527 L 20.889844 14.268629 Z M 20.410156 14.555738 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 40.9 21.150074 C 43.48457 18.381324 44.700586 14.604761 44.217188 10.848121 C 43.733789 7.091675 41.601172 3.745972 38.399805 1.721754 C 35.198633 -0.30227 31.261523 -0.794262 27.660742 0.379957 C 24.059766 1.55398 21.169336 4.272144 19.776563 7.794214 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 19.643359 8.144605 L 19.573438 7.589918 L 19.767773 7.790699 L 20.045117 7.755933 Z M 19.643359 8.144605 " transform="matrix(20,0,0,20,-340,6.932117)"/>
+</g>
+</svg>
diff --git a/docs/source/images/use_cases_data_sources.svg b/docs/source/images/use_cases_data_sources.svg
new file mode 100644
index 0000000..22d1f32
--- /dev/null
+++ b/docs/source/images/use_cases_data_sources.svg
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="472pt" height="242pt" viewBox="0 0 472 242" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 0.640625 2.296875 L 0.640625 -9.171875 L 7.140625 -9.171875 L 7.140625 2.296875 Z M 1.375 1.578125 L 6.421875 1.578125 L 6.421875 -8.4375 L 1.375 -8.4375 Z M 1.375 1.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 5.75 -6.90625 L 5.75 -5.796875 C 5.425781 -5.960938 5.085938 -6.085938 4.734375 -6.171875 C 4.378906 -6.253906 4.007812 -6.296875 3.625 -6.296875 C 3.039062 -6.296875 2.601562 -6.207031 2.3125 -6.03125 C 2.03125 -5.851562 1.890625 -5.585938 1.890625 -5.234375 C 1.890625 -4.960938 1.988281 -4.75 2.1875 -4.59375 C 2.394531 -4.445312 2.816406 -4.300781 3.453125 -4.15625 L 3.84375 -4.0625 C 4.675781 -3.882812 5.265625 -3.632812 5.609375 -3.3125 C 5.960938 -2.988281 6.140625 -2.539062 6.140625 -1.96875 C 6.140625 -1.300781 5.878906 -0.773438 5.359375 -0.390625 C 4.835938 -0.00390625 4.117188 0.1875 3.203125 0.1875 C 2.816406 0.1875 2.414062 0.148438 2 0.078125 C 1.59375 0.00390625 1.160156 -0.109375 0.703125 -0.265625 L 0.703125 -1.46875 C 1.140625 -1.238281 1.566406 -1.066406 1.984375 -0.953125 C 2.398438 -0.847656 2.8125 -0.796875 3.21875 -0.796875 C 3.769531 -0.796875 4.191406 -0.890625 4.484375 -1.078125 C 4.785156 -1.265625 4.9375 -1.53125 4.9375 -1.8
75 C 4.9375 -2.1875 4.828125 -2.425781 4.609375 -2.59375 C 4.398438 -2.769531 3.9375 -2.9375 3.21875 -3.09375 L 2.8125 -3.1875 C 2.082031 -3.34375 1.554688 -3.578125 1.234375 -3.890625 C 0.910156 -4.203125 0.75 -4.632812 0.75 -5.1875 C 0.75 -5.851562 0.984375 -6.367188 1.453125 -6.734375 C 1.929688 -7.097656 2.609375 -7.28125 3.484375 -7.28125 C 3.910156 -7.28125 4.316406 -7.25 4.703125 -7.1875 C 5.085938 -7.125 5.4375 -7.03125 5.75 -6.90625 Z M 5.75 -6.90625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 6.328125 -3.546875 C 6.328125 -4.410156 6.148438 -5.082031 5.796875 -5.5625 C 5.441406 -6.050781 4.957031 -6.296875 4.34375 -6.296875 C 3.726562 -6.296875 3.242188 -6.050781 2.890625 -5.5625 C 2.535156 -5.082031 2.359375 -4.410156 2.359375 -3.546875 C 2.359375 -2.691406 2.535156 -2.019531 2.890625 -1.53125 C 3.242188 -1.039062 3.726562 -0.796875 4.34375 -0.796875 C 4.957031 -0.796875 5.441406 -1.039062 5.796875 -1.53125 C 6.148438 -2.019531 6.328125 -2.691406 6.328125 -3.546875 Z M 2.359375 -6.03125 C 2.597656 -6.457031 2.90625 -6.769531 3.28125 -6.96875 C 3.65625 -7.175781 4.101562 -7.28125 4.625 -7.28125 C 5.488281 -7.28125 6.191406 -6.9375 6.734375 -6.25 C 7.273438 -5.5625 7.546875 -4.660156 7.546875 -3.546875 C 7.546875 -2.429688 7.273438 -1.53125 6.734375 -0.84375 C 6.191406 -0.15625 5.488281 0.1875 4.625 0.1875 C 4.101562 0.1875 3.65625 0.0820312 3.28125 -0.125 C 2.90625 -0.332031 2.597656 -0.644531 2.359375 -1.0625 L 2.359375 0 L 1.1875 0 L 1.1
875 -9.875 L 2.359375 -9.875 Z M 2.359375 -6.03125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 0.546875 -7.109375 L 1.71875 -7.109375 L 3.171875 -1.5625 L 4.625 -7.109375 L 6 -7.109375 L 7.46875 -1.5625 L 8.921875 -7.109375 L 10.09375 -7.109375 L 8.234375 0 L 6.84375 0 L 5.3125 -5.828125 L 3.78125 0 L 2.40625 0 Z M 0.546875 -7.109375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 6.34375 -6.84375 L 6.34375 -5.75 C 6.007812 -5.925781 5.675781 -6.0625 5.34375 -6.15625 C 5.007812 -6.25 4.675781 -6.296875 4.34375 -6.296875 C 3.582031 -6.296875 2.992188 -6.050781 2.578125 -5.5625 C 2.160156 -5.082031 1.953125 -4.410156 1.953125 -3.546875 C 1.953125 -2.679688 2.160156 -2.007812 2.578125 -1.53125 C 2.992188 -1.050781 3.582031 -0.8125 4.34375 -0.8125 C 4.675781 -0.8125 5.007812 -0.851562 5.34375 -0.9375 C 5.675781 -1.03125 6.007812 -1.171875 6.34375 -1.359375 L 6.34375 -0.265625 C 6.019531 -0.117188 5.679688 -0.0078125 5.328125 0.0625 C 4.984375 0.144531 4.613281 0.1875 4.21875 0.1875 C 3.144531 0.1875 2.289062 -0.144531 1.65625 -0.8125 C 1.03125 -1.488281 0.71875 -2.398438 0.71875 -3.546875 C 0.71875 -4.703125 1.035156 -5.613281 1.671875 -6.28125 C 2.304688 -6.945312 3.179688 -7.28125 4.296875 -7.28125 C 4.648438 -7.28125 5 -7.242188 5.34375 -7.171875 C 5.6875 -7.097656 6.019531 -6.988281 6.34375 -6.84375 Z M 6.34375 -6.84375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 4.453125 -3.578125 C 3.515625 -3.578125 2.863281 -3.46875 2.5 -3.25 C 2.132812 -3.03125 1.953125 -2.660156 1.953125 -2.140625 C 1.953125 -1.734375 2.085938 -1.40625 2.359375 -1.15625 C 2.628906 -0.914062 3 -0.796875 3.46875 -0.796875 C 4.113281 -0.796875 4.632812 -1.023438 5.03125 -1.484375 C 5.425781 -1.941406 5.625 -2.550781 5.625 -3.3125 L 5.625 -3.578125 Z M 6.78125 -4.0625 L 6.78125 0 L 5.625 0 L 5.625 -1.078125 C 5.351562 -0.648438 5.019531 -0.332031 4.625 -0.125 C 4.226562 0.0820312 3.738281 0.1875 3.15625 0.1875 C 2.425781 0.1875 1.847656 -0.015625 1.421875 -0.421875 C 0.992188 -0.835938 0.78125 -1.382812 0.78125 -2.0625 C 0.78125 -2.863281 1.046875 -3.46875 1.578125 -3.875 C 2.117188 -4.28125 2.921875 -4.484375 3.984375 -4.484375 L 5.625 -4.484375 L 5.625 -4.609375 C 5.625 -5.140625 5.445312 -5.550781 5.09375 -5.84375 C 4.738281 -6.144531 4.238281 -6.296875 3.59375 -6.296875 C 3.1875 -6.296875 2.789062 -6.242188 2.40625 -6.140625 C 2.019531 -
6.046875 1.648438 -5.898438 1.296875 -5.703125 L 1.296875 -6.78125 C 1.722656 -6.945312 2.140625 -7.070312 2.546875 -7.15625 C 2.953125 -7.238281 3.34375 -7.28125 3.71875 -7.28125 C 4.75 -7.28125 5.515625 -7.015625 6.015625 -6.484375 C 6.523438 -5.953125 6.78125 -5.144531 6.78125 -4.0625 Z M 6.78125 -4.0625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 7.140625 -4.296875 L 7.140625 0 L 5.96875 0 L 5.96875 -4.25 C 5.96875 -4.925781 5.835938 -5.429688 5.578125 -5.765625 C 5.316406 -6.097656 4.921875 -6.265625 4.390625 -6.265625 C 3.765625 -6.265625 3.269531 -6.0625 2.90625 -5.65625 C 2.539062 -5.257812 2.359375 -4.710938 2.359375 -4.015625 L 2.359375 0 L 1.1875 0 L 1.1875 -7.109375 L 2.359375 -7.109375 L 2.359375 -6 C 2.640625 -6.425781 2.96875 -6.742188 3.34375 -6.953125 C 3.71875 -7.171875 4.15625 -7.28125 4.65625 -7.28125 C 5.46875 -7.28125 6.082031 -7.023438 6.5 -6.515625 C 6.925781 -6.015625 7.140625 -5.273438 7.140625 -4.296875 Z M 7.140625 -4.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-8">
+<path style="stroke:none;" d="M 7.3125 -3.84375 L 7.3125 -3.28125 L 1.9375 -3.28125 C 1.988281 -2.46875 2.226562 -1.851562 2.65625 -1.4375 C 3.09375 -1.019531 3.695312 -0.8125 4.46875 -0.8125 C 4.914062 -0.8125 5.347656 -0.863281 5.765625 -0.96875 C 6.191406 -1.082031 6.613281 -1.25 7.03125 -1.46875 L 7.03125 -0.359375 C 6.613281 -0.179688 6.179688 -0.046875 5.734375 0.046875 C 5.296875 0.140625 4.851562 0.1875 4.40625 0.1875 C 3.269531 0.1875 2.367188 -0.140625 1.703125 -0.796875 C 1.046875 -1.460938 0.71875 -2.359375 0.71875 -3.484375 C 0.71875 -4.648438 1.03125 -5.570312 1.65625 -6.25 C 2.289062 -6.9375 3.140625 -7.28125 4.203125 -7.28125 C 5.160156 -7.28125 5.914062 -6.972656 6.46875 -6.359375 C 7.03125 -5.742188 7.3125 -4.90625 7.3125 -3.84375 Z M 6.140625 -4.1875 C 6.128906 -4.820312 5.945312 -5.332031 5.59375 -5.71875 C 5.25 -6.101562 4.789062 -6.296875 4.21875 -6.296875 C 3.5625 -6.296875 3.035156 -6.109375 2.640625 -5.734375 C 2.253906 -5.367188 2.03125 -4.851562 1.96875 -4
.1875 Z M 6.140625 -4.1875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-9">
+<path style="stroke:none;" d="M 5.34375 -6.015625 C 5.207031 -6.085938 5.0625 -6.140625 4.90625 -6.171875 C 4.757812 -6.210938 4.59375 -6.234375 4.40625 -6.234375 C 3.75 -6.234375 3.242188 -6.019531 2.890625 -5.59375 C 2.535156 -5.164062 2.359375 -4.550781 2.359375 -3.75 L 2.359375 0 L 1.1875 0 L 1.1875 -7.109375 L 2.359375 -7.109375 L 2.359375 -6 C 2.597656 -6.4375 2.914062 -6.757812 3.3125 -6.96875 C 3.707031 -7.175781 4.1875 -7.28125 4.75 -7.28125 C 4.832031 -7.28125 4.921875 -7.273438 5.015625 -7.265625 C 5.109375 -7.253906 5.21875 -7.238281 5.34375 -7.21875 Z M 5.34375 -6.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-10">
+<path style="stroke:none;" d="M 5.90625 -6.03125 L 5.90625 -9.875 L 7.078125 -9.875 L 7.078125 0 L 5.90625 0 L 5.90625 -1.0625 C 5.65625 -0.644531 5.34375 -0.332031 4.96875 -0.125 C 4.59375 0.0820312 4.144531 0.1875 3.625 0.1875 C 2.769531 0.1875 2.070312 -0.15625 1.53125 -0.84375 C 0.988281 -1.53125 0.71875 -2.429688 0.71875 -3.546875 C 0.71875 -4.660156 0.988281 -5.5625 1.53125 -6.25 C 2.070312 -6.9375 2.769531 -7.28125 3.625 -7.28125 C 4.144531 -7.28125 4.59375 -7.175781 4.96875 -6.96875 C 5.34375 -6.769531 5.65625 -6.457031 5.90625 -6.03125 Z M 1.921875 -3.546875 C 1.921875 -2.691406 2.097656 -2.019531 2.453125 -1.53125 C 2.804688 -1.039062 3.289062 -0.796875 3.90625 -0.796875 C 4.53125 -0.796875 5.019531 -1.039062 5.375 -1.53125 C 5.726562 -2.019531 5.90625 -2.691406 5.90625 -3.546875 C 5.90625 -4.410156 5.726562 -5.082031 5.375 -5.5625 C 5.019531 -6.050781 4.53125 -6.296875 3.90625 -6.296875 C 3.289062 -6.296875 2.804688 -6.050781 2.453125 -5.5625 C 2.097656 -5.082031 1.921875
-4.410156 1.921875 -3.546875 Z M 1.921875 -3.546875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-11">
+<path style="stroke:none;" d="M 6.765625 -5.75 C 7.054688 -6.269531 7.40625 -6.65625 7.8125 -6.90625 C 8.21875 -7.15625 8.695312 -7.28125 9.25 -7.28125 C 9.988281 -7.28125 10.554688 -7.019531 10.953125 -6.5 C 11.359375 -5.976562 11.5625 -5.242188 11.5625 -4.296875 L 11.5625 0 L 10.390625 0 L 10.390625 -4.25 C 10.390625 -4.9375 10.265625 -5.441406 10.015625 -5.765625 C 9.773438 -6.097656 9.410156 -6.265625 8.921875 -6.265625 C 8.316406 -6.265625 7.835938 -6.0625 7.484375 -5.65625 C 7.128906 -5.257812 6.953125 -4.710938 6.953125 -4.015625 L 6.953125 0 L 5.78125 0 L 5.78125 -4.25 C 5.78125 -4.9375 5.660156 -5.441406 5.421875 -5.765625 C 5.179688 -6.097656 4.804688 -6.265625 4.296875 -6.265625 C 3.703125 -6.265625 3.226562 -6.0625 2.875 -5.65625 C 2.53125 -5.25 2.359375 -4.703125 2.359375 -4.015625 L 2.359375 0 L 1.1875 0 L 1.1875 -7.109375 L 2.359375 -7.109375 L 2.359375 -6 C 2.617188 -6.4375 2.9375 -6.757812 3.3125 -6.96875 C 3.6875 -7.175781 4.128906 -7.28125 4.640625 -7.28125 C 5.16
0156 -7.28125 5.597656 -7.148438 5.953125 -6.890625 C 6.316406 -6.628906 6.585938 -6.25 6.765625 -5.75 Z M 6.765625 -5.75 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-12">
+<path style="stroke:none;" d="M 1.109375 -2.8125 L 1.109375 -7.109375 L 2.265625 -7.109375 L 2.265625 -2.84375 C 2.265625 -2.175781 2.394531 -1.671875 2.65625 -1.328125 C 2.925781 -0.992188 3.320312 -0.828125 3.84375 -0.828125 C 4.476562 -0.828125 4.976562 -1.023438 5.34375 -1.421875 C 5.707031 -1.828125 5.890625 -2.378906 5.890625 -3.078125 L 5.890625 -7.109375 L 7.0625 -7.109375 L 7.0625 0 L 5.890625 0 L 5.890625 -1.09375 C 5.609375 -0.65625 5.28125 -0.332031 4.90625 -0.125 C 4.53125 0.0820312 4.09375 0.1875 3.59375 0.1875 C 2.78125 0.1875 2.160156 -0.0664062 1.734375 -0.578125 C 1.316406 -1.085938 1.109375 -1.832031 1.109375 -2.8125 Z M 4.046875 -7.28125 Z M 4.046875 -7.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-13">
+<path style="stroke:none;" d="M 2.375 -9.125 L 2.375 -7.109375 L 4.78125 -7.109375 L 4.78125 -6.203125 L 2.375 -6.203125 L 2.375 -2.34375 C 2.375 -1.757812 2.453125 -1.382812 2.609375 -1.21875 C 2.773438 -1.0625 3.101562 -0.984375 3.59375 -0.984375 L 4.78125 -0.984375 L 4.78125 0 L 3.59375 0 C 2.6875 0 2.0625 -0.164062 1.71875 -0.5 C 1.375 -0.84375 1.203125 -1.457031 1.203125 -2.34375 L 1.203125 -6.203125 L 0.34375 -6.203125 L 0.34375 -7.109375 L 1.203125 -7.109375 L 1.203125 -9.125 Z M 2.375 -9.125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-14">
+<path style="stroke:none;" d="M 6.96875 -7.109375 L 6.96875 0 L 5.796875 0 L 5.796875 -6.203125 L 2.59375 -6.203125 L 2.59375 0 L 1.421875 0 L 1.421875 -6.203125 L 0.296875 -6.203125 L 0.296875 -7.109375 L 1.421875 -7.109375 L 1.421875 -7.609375 C 1.421875 -8.378906 1.601562 -8.945312 1.96875 -9.3125 C 2.332031 -9.6875 2.894531 -9.875 3.65625 -9.875 L 4.828125 -9.875 L 4.828125 -8.90625 L 3.703125 -8.90625 C 3.285156 -8.90625 2.992188 -8.816406 2.828125 -8.640625 C 2.671875 -8.472656 2.59375 -8.171875 2.59375 -7.734375 L 2.59375 -7.109375 Z M 5.796875 -9.859375 L 6.96875 -9.859375 L 6.96875 -8.390625 L 5.796875 -8.390625 Z M 5.796875 -9.859375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-15">
+<path style="stroke:none;" d="M 1.21875 -9.875 L 2.390625 -9.875 L 2.390625 0 L 1.21875 0 Z M 1.21875 -9.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-16">
+<path style="stroke:none;" d="M 7.140625 -4.296875 L 7.140625 0 L 5.96875 0 L 5.96875 -4.25 C 5.96875 -4.925781 5.835938 -5.429688 5.578125 -5.765625 C 5.316406 -6.097656 4.921875 -6.265625 4.390625 -6.265625 C 3.765625 -6.265625 3.269531 -6.0625 2.90625 -5.65625 C 2.539062 -5.257812 2.359375 -4.710938 2.359375 -4.015625 L 2.359375 0 L 1.1875 0 L 1.1875 -9.875 L 2.359375 -9.875 L 2.359375 -6 C 2.640625 -6.425781 2.96875 -6.742188 3.34375 -6.953125 C 3.71875 -7.171875 4.15625 -7.28125 4.65625 -7.28125 C 5.46875 -7.28125 6.082031 -7.023438 6.5 -6.515625 C 6.925781 -6.015625 7.140625 -5.273438 7.140625 -4.296875 Z M 7.140625 -4.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-17">
+<path style="stroke:none;" d="M 2.5625 -8.421875 L 2.5625 -1.046875 L 4.109375 -1.046875 C 5.410156 -1.046875 6.363281 -1.34375 6.96875 -1.9375 C 7.582031 -2.53125 7.890625 -3.46875 7.890625 -4.75 C 7.890625 -6.019531 7.582031 -6.945312 6.96875 -7.53125 C 6.363281 -8.125 5.410156 -8.421875 4.109375 -8.421875 Z M 1.28125 -9.484375 L 3.90625 -9.484375 C 5.75 -9.484375 7.097656 -9.097656 7.953125 -8.328125 C 8.816406 -7.566406 9.25 -6.375 9.25 -4.75 C 9.25 -3.113281 8.816406 -1.910156 7.953125 -1.140625 C 7.085938 -0.378906 5.738281 0 3.90625 0 L 1.28125 0 Z M 1.28125 -9.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-18">
+<path style="stroke:none;" d="M 3.984375 -6.296875 C 3.359375 -6.296875 2.863281 -6.050781 2.5 -5.5625 C 2.132812 -5.070312 1.953125 -4.398438 1.953125 -3.546875 C 1.953125 -2.691406 2.128906 -2.019531 2.484375 -1.53125 C 2.847656 -1.050781 3.347656 -0.8125 3.984375 -0.8125 C 4.597656 -0.8125 5.085938 -1.054688 5.453125 -1.546875 C 5.816406 -2.035156 6 -2.703125 6 -3.546875 C 6 -4.390625 5.816406 -5.054688 5.453125 -5.546875 C 5.085938 -6.046875 4.597656 -6.296875 3.984375 -6.296875 Z M 3.984375 -7.28125 C 4.992188 -7.28125 5.789062 -6.945312 6.375 -6.28125 C 6.957031 -5.625 7.25 -4.710938 7.25 -3.546875 C 7.25 -2.378906 6.957031 -1.460938 6.375 -0.796875 C 5.789062 -0.140625 4.992188 0.1875 3.984375 0.1875 C 2.960938 0.1875 2.160156 -0.140625 1.578125 -0.796875 C 1.003906 -1.460938 0.71875 -2.378906 0.71875 -3.546875 C 0.71875 -4.710938 1.003906 -5.625 1.578125 -6.28125 C 2.160156 -6.945312 2.960938 -7.28125 3.984375 -7.28125 Z M 3.984375 -7.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 0.65625 2.296875 L 0.65625 -9.171875 L 7.15625 -9.171875 L 7.15625 2.296875 Z M 1.390625 1.578125 L 6.4375 1.578125 L 6.4375 -8.4375 L 1.390625 -8.4375 Z M 1.390625 1.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M 5.453125 -6.203125 L 5.453125 -9.875 L 6.609375 -9.875 L 6.609375 0 L 5.453125 0 L 5.453125 -0.890625 C 5.253906 -0.546875 4.992188 -0.28125 4.671875 -0.09375 C 4.347656 0.09375 3.972656 0.1875 3.546875 0.1875 C 2.691406 0.1875 2.015625 -0.144531 1.515625 -0.8125 C 1.023438 -1.476562 0.78125 -2.398438 0.78125 -3.578125 C 0.78125 -4.734375 1.023438 -5.640625 1.515625 -6.296875 C 2.015625 -6.953125 2.691406 -7.28125 3.546875 -7.28125 C 3.972656 -7.28125 4.347656 -7.1875 4.671875 -7 C 5.003906 -6.820312 5.265625 -6.554688 5.453125 -6.203125 Z M 2.015625 -3.546875 C 2.015625 -2.640625 2.15625 -1.957031 2.4375 -1.5 C 2.726562 -1.039062 3.15625 -0.8125 3.71875 -0.8125 C 4.28125 -0.8125 4.707031 -1.039062 5 -1.5 C 5.300781 -1.96875 5.453125 -2.648438 5.453125 -3.546875 C 5.453125 -4.453125 5.300781 -5.132812 5 -5.59375 C 4.707031 -6.0625 4.28125 -6.296875 3.71875 -6.296875 C 3.15625 -6.296875 2.726562 -6.0625 2.4375 -5.59375 C 2.15625 -5.132812 2.015625 -4.4
53125 2.015625 -3.546875 Z M 2.015625 -3.546875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M 4.453125 -3.578125 L 4.0625 -3.578125 C 3.382812 -3.578125 2.875 -3.457031 2.53125 -3.21875 C 2.1875 -2.976562 2.015625 -2.617188 2.015625 -2.140625 C 2.015625 -1.710938 2.140625 -1.378906 2.390625 -1.140625 C 2.648438 -0.910156 3.007812 -0.796875 3.46875 -0.796875 C 4.113281 -0.796875 4.617188 -1.019531 4.984375 -1.46875 C 5.359375 -1.914062 5.546875 -2.53125 5.546875 -3.3125 L 5.546875 -3.578125 Z M 6.71875 -4.0625 L 6.71875 0 L 5.546875 0 L 5.546875 -1.046875 C 5.296875 -0.628906 4.976562 -0.316406 4.59375 -0.109375 C 4.21875 0.0859375 3.757812 0.1875 3.21875 0.1875 C 2.5 0.1875 1.921875 -0.015625 1.484375 -0.421875 C 1.054688 -0.835938 0.84375 -1.382812 0.84375 -2.0625 C 0.84375 -2.851562 1.109375 -3.453125 1.640625 -3.859375 C 2.171875 -4.273438 2.953125 -4.484375 3.984375 -4.484375 L 5.546875 -4.484375 L 5.546875 -4.671875 C 5.546875 -5.234375 5.398438 -5.644531 5.109375 -5.90625 C 4.828125 -6.164062 4.378906 -6.296875 3.765625 -6.296875 C 3.359
375 -6.296875 2.953125 -6.238281 2.546875 -6.125 C 2.140625 -6.007812 1.742188 -5.84375 1.359375 -5.625 L 1.359375 -6.78125 C 1.796875 -6.945312 2.210938 -7.070312 2.609375 -7.15625 C 3.003906 -7.238281 3.390625 -7.28125 3.765625 -7.28125 C 4.347656 -7.28125 4.847656 -7.191406 5.265625 -7.015625 C 5.679688 -6.847656 6.019531 -6.585938 6.28125 -6.234375 C 6.4375 -6.023438 6.546875 -5.765625 6.609375 -5.453125 C 6.679688 -5.140625 6.71875 -4.675781 6.71875 -4.0625 Z M 6.71875 -4.0625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M 3.890625 -9.125 L 3.890625 -7.109375 L 6.546875 -7.109375 L 6.546875 -6.203125 L 3.890625 -6.203125 L 3.890625 -2.34375 C 3.890625 -1.820312 3.988281 -1.457031 4.1875 -1.25 C 4.394531 -1.039062 4.742188 -0.9375 5.234375 -0.9375 L 6.546875 -0.9375 L 6.546875 0 L 5.125 0 C 4.25 0 3.628906 -0.171875 3.265625 -0.515625 C 2.910156 -0.867188 2.734375 -1.476562 2.734375 -2.34375 L 2.734375 -6.203125 L 0.828125 -6.203125 L 0.828125 -7.109375 L 2.734375 -7.109375 L 2.734375 -9.125 Z M 3.890625 -9.125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-4">
+<path style="stroke:none;" d="M 1.625 -7.109375 L 4.609375 -7.109375 L 4.609375 -0.90625 L 6.9375 -0.90625 L 6.9375 0 L 1.125 0 L 1.125 -0.90625 L 3.453125 -0.90625 L 3.453125 -6.203125 L 1.625 -6.203125 Z M 3.453125 -9.875 L 4.609375 -9.875 L 4.609375 -8.390625 L 3.453125 -8.390625 Z M 3.453125 -9.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-5">
+<path style="stroke:none;" d="M 7.328125 -5.640625 C 7.078125 -5.835938 6.820312 -5.976562 6.5625 -6.0625 C 6.3125 -6.15625 6.03125 -6.203125 5.71875 -6.203125 C 4.988281 -6.203125 4.429688 -5.972656 4.046875 -5.515625 C 3.660156 -5.054688 3.46875 -4.394531 3.46875 -3.53125 L 3.46875 0 L 2.296875 0 L 2.296875 -7.109375 L 3.46875 -7.109375 L 3.46875 -5.71875 C 3.664062 -6.21875 3.96875 -6.601562 4.375 -6.875 C 4.78125 -7.144531 5.257812 -7.28125 5.8125 -7.28125 C 6.09375 -7.28125 6.359375 -7.242188 6.609375 -7.171875 C 6.859375 -7.097656 7.097656 -6.988281 7.328125 -6.84375 Z M 7.328125 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-6">
+<path style="stroke:none;" d="M 5.640625 -9.484375 L 6.84375 -9.484375 L 1.859375 1.203125 L 0.640625 1.203125 Z M 5.640625 -9.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-7">
+<path style="stroke:none;" d="M 2.375 -1.078125 L 6.71875 -1.078125 L 6.71875 0 L 0.96875 0 L 0.96875 -1.078125 C 1.757812 -1.910156 2.445312 -2.644531 3.03125 -3.28125 C 3.625 -3.925781 4.035156 -4.378906 4.265625 -4.640625 C 4.691406 -5.160156 4.976562 -5.578125 5.125 -5.890625 C 5.269531 -6.210938 5.34375 -6.539062 5.34375 -6.875 C 5.34375 -7.40625 5.1875 -7.816406 4.875 -8.109375 C 4.5625 -8.410156 4.132812 -8.5625 3.59375 -8.5625 C 3.207031 -8.5625 2.800781 -8.492188 2.375 -8.359375 C 1.957031 -8.222656 1.515625 -8.007812 1.046875 -7.71875 L 1.046875 -9.015625 C 1.472656 -9.222656 1.894531 -9.378906 2.3125 -9.484375 C 2.738281 -9.597656 3.160156 -9.65625 3.578125 -9.65625 C 4.503906 -9.65625 5.25 -9.40625 5.8125 -8.90625 C 6.375 -8.414062 6.65625 -7.769531 6.65625 -6.96875 C 6.65625 -6.5625 6.5625 -6.15625 6.375 -5.75 C 6.1875 -5.34375 5.878906 -4.894531 5.453125 -4.40625 C 5.222656 -4.132812 4.878906 -3.753906 4.421875 -3.265625 C 3.972656 -2.773438 3.289062 -2.046875 2.375 -1
.078125 Z M 2.375 -1.078125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-8">
+<path style="stroke:none;" d="M 3.0625 -4.765625 C 3.0625 -4.992188 3.144531 -5.191406 3.3125 -5.359375 C 3.476562 -5.535156 3.671875 -5.625 3.890625 -5.625 C 4.128906 -5.625 4.332031 -5.535156 4.5 -5.359375 C 4.675781 -5.191406 4.765625 -4.992188 4.765625 -4.765625 C 4.765625 -4.523438 4.679688 -4.320312 4.515625 -4.15625 C 4.347656 -3.988281 4.140625 -3.90625 3.890625 -3.90625 C 3.660156 -3.90625 3.460938 -3.984375 3.296875 -4.140625 C 3.140625 -4.304688 3.0625 -4.515625 3.0625 -4.765625 Z M 3.90625 -8.640625 C 3.3125 -8.640625 2.867188 -8.316406 2.578125 -7.671875 C 2.285156 -7.023438 2.140625 -6.046875 2.140625 -4.734375 C 2.140625 -3.421875 2.285156 -2.441406 2.578125 -1.796875 C 2.867188 -1.148438 3.3125 -0.828125 3.90625 -0.828125 C 4.507812 -0.828125 4.957031 -1.148438 5.25 -1.796875 C 5.539062 -2.441406 5.6875 -3.421875 5.6875 -4.734375 C 5.6875 -6.046875 5.539062 -7.023438 5.25 -7.671875 C 4.957031 -8.316406 4.507812 -8.640625 3.90625 -8.640625 Z M 3.90625 -9.65625 C 4.914
062 -9.65625 5.679688 -9.238281 6.203125 -8.40625 C 6.722656 -7.570312 6.984375 -6.347656 6.984375 -4.734375 C 6.984375 -3.109375 6.722656 -1.878906 6.203125 -1.046875 C 5.679688 -0.222656 4.914062 0.1875 3.90625 0.1875 C 2.894531 0.1875 2.128906 -0.222656 1.609375 -1.046875 C 1.097656 -1.878906 0.84375 -3.109375 0.84375 -4.734375 C 0.84375 -6.347656 1.097656 -7.570312 1.609375 -8.40625 C 2.128906 -9.238281 2.894531 -9.65625 3.90625 -9.65625 Z M 3.90625 -9.65625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-9">
+<path style="stroke:none;" d="M 1.71875 -1.078125 L 3.703125 -1.078125 L 3.703125 -8.328125 L 1.5625 -7.84375 L 1.5625 -9 L 3.6875 -9.484375 L 4.984375 -9.484375 L 4.984375 -1.078125 L 6.9375 -1.078125 L 6.9375 0 L 1.71875 0 Z M 1.71875 -1.078125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-10">
+<path style="stroke:none;" d="M 3.78125 -4.203125 C 4.332031 -4.203125 4.757812 -4.398438 5.0625 -4.796875 C 5.375 -5.191406 5.53125 -5.734375 5.53125 -6.421875 C 5.53125 -7.117188 5.375 -7.660156 5.0625 -8.046875 C 4.757812 -8.441406 4.332031 -8.640625 3.78125 -8.640625 C 3.21875 -8.640625 2.789062 -8.453125 2.5 -8.078125 C 2.207031 -7.703125 2.0625 -7.148438 2.0625 -6.421875 C 2.0625 -5.679688 2.203125 -5.125 2.484375 -4.75 C 2.773438 -4.382812 3.207031 -4.203125 3.78125 -4.203125 Z M 1.5 -0.203125 L 1.5 -1.375 C 1.757812 -1.21875 2.039062 -1.097656 2.34375 -1.015625 C 2.644531 -0.929688 2.957031 -0.890625 3.28125 -0.890625 C 4.09375 -0.890625 4.707031 -1.195312 5.125 -1.8125 C 5.539062 -2.425781 5.75 -3.328125 5.75 -4.515625 C 5.550781 -4.085938 5.269531 -3.757812 4.90625 -3.53125 C 4.550781 -3.3125 4.144531 -3.203125 3.6875 -3.203125 C 2.769531 -3.203125 2.0625 -3.484375 1.5625 -4.046875 C 1.0625 -4.609375 0.8125 -5.40625 0.8125 -6.4375 C 0.8125 -7.457031 1.066406 -8.25 1.578125
-8.8125 C 2.085938 -9.375 2.816406 -9.65625 3.765625 -9.65625 C 4.859375 -9.65625 5.660156 -9.257812 6.171875 -8.46875 C 6.679688 -7.675781 6.9375 -6.429688 6.9375 -4.734375 C 6.9375 -3.140625 6.628906 -1.921875 6.015625 -1.078125 C 5.398438 -0.234375 4.507812 0.1875 3.34375 0.1875 C 3.03125 0.1875 2.71875 0.148438 2.40625 0.078125 C 2.09375 0.015625 1.789062 -0.078125 1.5 -0.203125 Z M 1.5 -0.203125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-11">
+<path style="stroke:none;" d="M 3.109375 -1.9375 L 4.703125 -1.9375 L 4.703125 0 L 3.109375 0 Z M 3.109375 -1.9375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-12">
+<path style="stroke:none;" d="M 7.09375 -7.109375 L 4.546875 -3.703125 L 7.34375 0 L 6 0 L 3.90625 -2.84375 L 1.828125 0 L 0.484375 0 L 3.28125 -3.703125 L 0.734375 -7.109375 L 2.03125 -7.109375 L 3.90625 -4.53125 L 5.78125 -7.109375 Z M 7.09375 -7.109375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-13">
+<path style="stroke:none;" d="M 0.296875 -9.484375 L 7.53125 -9.484375 L 7.53125 -8.390625 L 4.5625 -8.390625 L 4.5625 0 L 3.28125 0 L 3.28125 -8.390625 L 0.296875 -8.390625 Z M 0.296875 -9.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-14">
+<path style="stroke:none;" d="M 3.90625 -6.296875 C 3.3125 -6.296875 2.863281 -6.0625 2.5625 -5.59375 C 2.257812 -5.132812 2.109375 -4.453125 2.109375 -3.546875 C 2.109375 -2.648438 2.257812 -1.96875 2.5625 -1.5 C 2.863281 -1.039062 3.3125 -0.8125 3.90625 -0.8125 C 4.507812 -0.8125 4.960938 -1.039062 5.265625 -1.5 C 5.566406 -1.96875 5.71875 -2.648438 5.71875 -3.546875 C 5.71875 -4.453125 5.566406 -5.132812 5.265625 -5.59375 C 4.960938 -6.0625 4.507812 -6.296875 3.90625 -6.296875 Z M 3.90625 -7.28125 C 4.894531 -7.28125 5.648438 -6.957031 6.171875 -6.3125 C 6.691406 -5.675781 6.953125 -4.753906 6.953125 -3.546875 C 6.953125 -2.335938 6.691406 -1.410156 6.171875 -0.765625 C 5.648438 -0.128906 4.894531 0.1875 3.90625 0.1875 C 2.925781 0.1875 2.175781 -0.128906 1.65625 -0.765625 C 1.132812 -1.410156 0.875 -2.335938 0.875 -3.546875 C 0.875 -4.753906 1.132812 -5.675781 1.65625 -6.3125 C 2.175781 -6.957031 2.925781 -7.28125 3.90625 -7.28125 Z M 3.90625 -7.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-15">
+<path style="stroke:none;" d="M 6.8125 -0.34375 C 6.488281 -0.164062 6.15625 -0.0351562 5.8125 0.046875 C 5.46875 0.140625 5.101562 0.1875 4.71875 0.1875 C 3.5 0.1875 2.550781 -0.238281 1.875 -1.09375 C 1.207031 -1.957031 0.875 -3.171875 0.875 -4.734375 C 0.875 -6.273438 1.210938 -7.476562 1.890625 -8.34375 C 2.566406 -9.21875 3.507812 -9.65625 4.71875 -9.65625 C 5.101562 -9.65625 5.46875 -9.609375 5.8125 -9.515625 C 6.15625 -9.429688 6.488281 -9.300781 6.8125 -9.125 L 6.8125 -7.8125 C 6.5 -8.070312 6.160156 -8.269531 5.796875 -8.40625 C 5.441406 -8.539062 5.082031 -8.609375 4.71875 -8.609375 C 3.882812 -8.609375 3.257812 -8.285156 2.84375 -7.640625 C 2.425781 -6.992188 2.21875 -6.023438 2.21875 -4.734375 C 2.21875 -3.429688 2.425781 -2.457031 2.84375 -1.8125 C 3.257812 -1.175781 3.882812 -0.859375 4.71875 -0.859375 C 5.09375 -0.859375 5.457031 -0.925781 5.8125 -1.0625 C 6.164062 -1.195312 6.5 -1.394531 6.8125 -1.65625 Z M 6.8125 -0.34375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-16">
+<path style="stroke:none;" d="M 6.671875 -4.40625 L 6.671875 0 L 5.5 0 L 5.5 -4.40625 C 5.5 -5.039062 5.382812 -5.507812 5.15625 -5.8125 C 4.9375 -6.113281 4.585938 -6.265625 4.109375 -6.265625 C 3.554688 -6.265625 3.132812 -6.070312 2.84375 -5.6875 C 2.550781 -5.300781 2.40625 -4.742188 2.40625 -4.015625 L 2.40625 0 L 1.234375 0 L 1.234375 -7.109375 L 2.40625 -7.109375 L 2.40625 -6.046875 C 2.613281 -6.453125 2.894531 -6.757812 3.25 -6.96875 C 3.601562 -7.175781 4.023438 -7.28125 4.515625 -7.28125 C 5.234375 -7.28125 5.769531 -7.039062 6.125 -6.5625 C 6.488281 -6.09375 6.671875 -5.375 6.671875 -4.40625 Z M 6.671875 -4.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-17">
+<path style="stroke:none;" d="M 6.171875 -6.859375 L 6.171875 -5.71875 C 5.835938 -5.914062 5.5 -6.0625 5.15625 -6.15625 C 4.820312 -6.25 4.476562 -6.296875 4.125 -6.296875 C 3.601562 -6.296875 3.210938 -6.210938 2.953125 -6.046875 C 2.691406 -5.878906 2.5625 -5.617188 2.5625 -5.265625 C 2.5625 -4.941406 2.65625 -4.703125 2.84375 -4.546875 C 3.039062 -4.390625 3.523438 -4.238281 4.296875 -4.09375 L 4.78125 -4 C 5.351562 -3.894531 5.785156 -3.675781 6.078125 -3.34375 C 6.378906 -3.007812 6.53125 -2.582031 6.53125 -2.0625 C 6.53125 -1.351562 6.28125 -0.800781 5.78125 -0.40625 C 5.289062 -0.0078125 4.597656 0.1875 3.703125 0.1875 C 3.359375 0.1875 2.992188 0.148438 2.609375 0.078125 C 2.222656 0.00390625 1.804688 -0.109375 1.359375 -0.265625 L 1.359375 -1.46875 C 1.785156 -1.238281 2.195312 -1.066406 2.59375 -0.953125 C 3 -0.847656 3.378906 -0.796875 3.734375 -0.796875 C 4.242188 -0.796875 4.640625 -0.898438 4.921875 -1.109375 C 5.210938 -1.316406 5.359375 -1.609375 5.359375 -1.984375
C 5.359375 -2.523438 4.835938 -2.898438 3.796875 -3.109375 L 3.75 -3.125 L 3.3125 -3.21875 C 2.632812 -3.34375 2.140625 -3.5625 1.828125 -3.875 C 1.523438 -4.1875 1.375 -4.609375 1.375 -5.140625 C 1.375 -5.828125 1.601562 -6.351562 2.0625 -6.71875 C 2.53125 -7.09375 3.191406 -7.28125 4.046875 -7.28125 C 4.421875 -7.28125 4.785156 -7.242188 5.140625 -7.171875 C 5.492188 -7.109375 5.835938 -7.003906 6.171875 -6.859375 Z M 6.171875 -6.859375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-18">
+<path style="stroke:none;" d="M 7.0625 -3.84375 L 7.0625 -3.28125 L 2 -3.28125 L 2 -3.234375 C 2 -2.460938 2.203125 -1.863281 2.609375 -1.4375 C 3.015625 -1.019531 3.582031 -0.8125 4.3125 -0.8125 C 4.6875 -0.8125 5.078125 -0.867188 5.484375 -0.984375 C 5.890625 -1.097656 6.320312 -1.28125 6.78125 -1.53125 L 6.78125 -0.359375 C 6.34375 -0.179688 5.914062 -0.046875 5.5 0.046875 C 5.082031 0.140625 4.679688 0.1875 4.296875 0.1875 C 3.191406 0.1875 2.328125 -0.140625 1.703125 -0.796875 C 1.085938 -1.460938 0.78125 -2.378906 0.78125 -3.546875 C 0.78125 -4.679688 1.082031 -5.585938 1.6875 -6.265625 C 2.300781 -6.941406 3.113281 -7.28125 4.125 -7.28125 C 5.03125 -7.28125 5.742188 -6.972656 6.265625 -6.359375 C 6.796875 -5.742188 7.0625 -4.90625 7.0625 -3.84375 Z M 5.890625 -4.1875 C 5.867188 -4.875 5.703125 -5.394531 5.390625 -5.75 C 5.085938 -6.113281 4.648438 -6.296875 4.078125 -6.296875 C 3.515625 -6.296875 3.050781 -6.109375 2.6875 -5.734375 C 2.320312 -5.359375 2.109375 -4.84375 2.046
875 -4.1875 Z M 5.890625 -4.1875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-19">
+<path style="stroke:none;" d="M 1.234375 -2.6875 L 1.234375 -7.09375 L 2.40625 -7.09375 L 2.40625 -2.6875 C 2.40625 -2.050781 2.515625 -1.582031 2.734375 -1.28125 C 2.960938 -0.976562 3.316406 -0.828125 3.796875 -0.828125 C 4.347656 -0.828125 4.769531 -1.019531 5.0625 -1.40625 C 5.351562 -1.800781 5.5 -2.359375 5.5 -3.078125 L 5.5 -7.09375 L 6.671875 -7.09375 L 6.671875 0 L 5.5 0 L 5.5 -1.0625 C 5.289062 -0.65625 5.003906 -0.34375 4.640625 -0.125 C 4.285156 0.0820312 3.867188 0.1875 3.390625 0.1875 C 2.660156 0.1875 2.117188 -0.0507812 1.765625 -0.53125 C 1.410156 -1.007812 1.234375 -1.726562 1.234375 -2.6875 Z M 1.234375 -2.6875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-20">
+<path style="stroke:none;" d="M 3.1875 -1.921875 L 4.78125 -1.921875 L 4.78125 -0.609375 L 3.53125 1.828125 L 2.5625 1.828125 L 3.1875 -0.609375 Z M 3.1875 -1.921875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-21">
+<path style="stroke:none;" d="M 6.734375 -0.359375 C 6.421875 -0.179688 6.097656 -0.046875 5.765625 0.046875 C 5.429688 0.140625 5.09375 0.1875 4.75 0.1875 C 3.644531 0.1875 2.78125 -0.140625 2.15625 -0.796875 C 1.539062 -1.460938 1.234375 -2.378906 1.234375 -3.546875 C 1.234375 -4.710938 1.539062 -5.625 2.15625 -6.28125 C 2.78125 -6.945312 3.644531 -7.28125 4.75 -7.28125 C 5.09375 -7.28125 5.425781 -7.234375 5.75 -7.140625 C 6.070312 -7.054688 6.398438 -6.921875 6.734375 -6.734375 L 6.734375 -5.515625 C 6.421875 -5.785156 6.109375 -5.984375 5.796875 -6.109375 C 5.492188 -6.234375 5.144531 -6.296875 4.75 -6.296875 C 4.019531 -6.296875 3.457031 -6.054688 3.0625 -5.578125 C 2.664062 -5.109375 2.46875 -4.429688 2.46875 -3.546875 C 2.46875 -2.671875 2.664062 -1.992188 3.0625 -1.515625 C 3.457031 -1.046875 4.019531 -0.8125 4.75 -0.8125 C 5.15625 -0.8125 5.519531 -0.875 5.84375 -1 C 6.164062 -1.125 6.460938 -1.316406 6.734375 -1.578125 Z M 6.734375 -0.359375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-22">
+<path style="stroke:none;" d="M 2.375 -0.890625 L 2.375 2.703125 L 1.203125 2.703125 L 1.203125 -7.109375 L 2.375 -7.109375 L 2.375 -6.203125 C 2.570312 -6.554688 2.832031 -6.820312 3.15625 -7 C 3.476562 -7.1875 3.851562 -7.28125 4.28125 -7.28125 C 5.132812 -7.28125 5.804688 -6.945312 6.296875 -6.28125 C 6.785156 -5.613281 7.03125 -4.691406 7.03125 -3.515625 C 7.03125 -2.367188 6.785156 -1.460938 6.296875 -0.796875 C 5.804688 -0.140625 5.132812 0.1875 4.28125 0.1875 C 3.84375 0.1875 3.460938 0.09375 3.140625 -0.09375 C 2.816406 -0.28125 2.5625 -0.546875 2.375 -0.890625 Z M 5.8125 -3.546875 C 5.8125 -4.453125 5.664062 -5.132812 5.375 -5.59375 C 5.09375 -6.0625 4.671875 -6.296875 4.109375 -6.296875 C 3.535156 -6.296875 3.101562 -6.0625 2.8125 -5.59375 C 2.519531 -5.132812 2.375 -4.453125 2.375 -3.546875 C 2.375 -2.648438 2.519531 -1.96875 2.8125 -1.5 C 3.101562 -1.039062 3.535156 -0.8125 4.109375 -0.8125 C 4.671875 -0.8125 5.09375 -1.039062 5.375 -1.5 C 5.664062 -1.957031 5.8125 -2.64
0625 5.8125 -3.546875 Z M 5.8125 -3.546875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-23">
+<path style="stroke:none;" d="M 4.296875 -6.390625 C 4.429688 -6.691406 4.609375 -6.914062 4.828125 -7.0625 C 5.054688 -7.207031 5.328125 -7.28125 5.640625 -7.28125 C 6.210938 -7.28125 6.613281 -7.054688 6.84375 -6.609375 C 7.082031 -6.171875 7.203125 -5.34375 7.203125 -4.125 L 7.203125 0 L 6.140625 0 L 6.140625 -4.0625 C 6.140625 -5.070312 6.082031 -5.695312 5.96875 -5.9375 C 5.851562 -6.175781 5.648438 -6.296875 5.359375 -6.296875 C 5.015625 -6.296875 4.78125 -6.164062 4.65625 -5.90625 C 4.53125 -5.644531 4.46875 -5.03125 4.46875 -4.0625 L 4.46875 0 L 3.40625 0 L 3.40625 -4.0625 C 3.40625 -5.082031 3.34375 -5.707031 3.21875 -5.9375 C 3.101562 -6.175781 2.890625 -6.296875 2.578125 -6.296875 C 2.265625 -6.296875 2.046875 -6.164062 1.921875 -5.90625 C 1.804688 -5.644531 1.75 -5.03125 1.75 -4.0625 L 1.75 0 L 0.6875 0 L 0.6875 -7.109375 L 1.75 -7.109375 L 1.75 -6.5 C 1.894531 -6.75 2.070312 -6.941406 2.28125 -7.078125 C 2.488281 -7.210938 2.722656 -7.28125 2.984375 -7.28125 C 3.304688
-7.28125 3.570312 -7.207031 3.78125 -7.0625 C 4 -6.914062 4.171875 -6.691406 4.296875 -6.390625 Z M 4.296875 -6.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-24">
+<path style="stroke:none;" d="M 6.421875 1.203125 L 6.421875 2.125 L 6.015625 2.125 C 4.960938 2.125 4.253906 1.96875 3.890625 1.65625 C 3.535156 1.34375 3.359375 0.71875 3.359375 -0.21875 L 3.359375 -1.734375 C 3.359375 -2.378906 3.242188 -2.820312 3.015625 -3.0625 C 2.796875 -3.3125 2.390625 -3.4375 1.796875 -3.4375 L 1.40625 -3.4375 L 1.40625 -4.34375 L 1.796875 -4.34375 C 2.390625 -4.34375 2.796875 -4.460938 3.015625 -4.703125 C 3.242188 -4.941406 3.359375 -5.378906 3.359375 -6.015625 L 3.359375 -7.546875 C 3.359375 -8.472656 3.535156 -9.09375 3.890625 -9.40625 C 4.253906 -9.71875 4.960938 -9.875 6.015625 -9.875 L 6.421875 -9.875 L 6.421875 -8.96875 L 5.984375 -8.96875 C 5.390625 -8.96875 5 -8.875 4.8125 -8.6875 C 4.632812 -8.507812 4.546875 -8.117188 4.546875 -7.515625 L 4.546875 -5.9375 C 4.546875 -5.269531 4.445312 -4.785156 4.25 -4.484375 C 4.0625 -4.191406 3.738281 -3.992188 3.28125 -3.890625 C 3.75 -3.773438 4.078125 -3.566406 4.265625 -3.265625 C 4.453125 -2.960938 4.5468
75 -2.484375 4.546875 -1.828125 L 4.546875 -0.25 C 4.546875 0.351562 4.632812 0.742188 4.8125 0.921875 C 5 1.109375 5.390625 1.203125 5.984375 1.203125 Z M 6.421875 1.203125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-25">
+<path style="stroke:none;" d="M 1.40625 1.203125 L 1.828125 1.203125 C 2.429688 1.203125 2.820312 1.109375 3 0.921875 C 3.1875 0.734375 3.28125 0.34375 3.28125 -0.25 L 3.28125 -1.828125 C 3.28125 -2.484375 3.375 -2.960938 3.5625 -3.265625 C 3.75 -3.566406 4.078125 -3.773438 4.546875 -3.890625 C 4.085938 -3.992188 3.757812 -4.191406 3.5625 -4.484375 C 3.375 -4.785156 3.28125 -5.269531 3.28125 -5.9375 L 3.28125 -7.515625 C 3.28125 -8.109375 3.1875 -8.5 3 -8.6875 C 2.820312 -8.875 2.429688 -8.96875 1.828125 -8.96875 L 1.40625 -8.96875 L 1.40625 -9.875 L 1.796875 -9.875 C 2.847656 -9.875 3.550781 -9.71875 3.90625 -9.40625 C 4.257812 -9.09375 4.4375 -8.472656 4.4375 -7.546875 L 4.4375 -6.015625 C 4.4375 -5.378906 4.550781 -4.941406 4.78125 -4.703125 C 5.007812 -4.460938 5.421875 -4.34375 6.015625 -4.34375 L 6.421875 -4.34375 L 6.421875 -3.4375 L 6.015625 -3.4375 C 5.421875 -3.4375 5.007812 -3.3125 4.78125 -3.0625 C 4.550781 -2.820312 4.4375 -2.378906 4.4375 -1.734375 L 4.4375 -0.21875 C
4.4375 0.71875 4.257812 1.34375 3.90625 1.65625 C 3.550781 1.96875 2.847656 2.125 1.796875 2.125 L 1.40625 2.125 Z M 1.40625 1.203125 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface7720">
+<rect x="0" y="0" width="472" height="242" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 23.500039 9.349922 C 23.500039 9.515742 23.365664 9.649922 23.200039 9.649922 C 23.034219 9.649922 22.900039 9.515742 22.900039 9.349922 C 22.900039 9.184297 23.034219 9.049922 23.200039 9.049922 C 23.365664 9.049922 23.500039 9.184297 23.500039 9.349922 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 22.000039 9.949922 L 24.400039 9.949922 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 23.200039 9.649922 L 23.200039 11.149922 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 23.200039 11.149922 L 22.000039 12.449922 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 23.200039 11.149922 L 24.400039 12.449922 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="0.96875" y="236.806749"/>
+ <use xlink:href="#glyph0-2" x="7.741753" y="236.806749"/>
+ <use xlink:href="#glyph0-3" x="15.993707" y="236.806749"/>
+ <use xlink:href="#glyph0-1" x="26.626031" y="236.806749"/>
+ <use xlink:href="#glyph0-4" x="33.399034" y="236.806749"/>
+ <use xlink:href="#glyph0-1" x="37.53125" y="236.806749"/>
+ <use xlink:href="#glyph0-5" x="44.304253" y="236.806749"/>
+ <use xlink:href="#glyph0-6" x="51.451606" y="236.806749"/>
+ <use xlink:href="#glyph0-7" x="59.417914" y="236.806749"/>
+ <use xlink:href="#glyph0-7" x="67.657118" y="236.806749"/>
+ <use xlink:href="#glyph0-8" x="75.896322" y="236.806749"/>
+ <use xlink:href="#glyph0-9" x="83.894368" y="236.806749"/>
+</g>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 33.100039 4.399922 L 41.100039 4.399922 L 41.700039 4.999922 L 41.700039 6.099922 L 33.100039 6.099922 Z M 33.100039 4.399922 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<path style="fill:none;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 41.100039 4.399922 L 41.100039 4.999922 L 41.700039 4.999922 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-1" x="249.425781" y="76.806749"/>
+ <use xlink:href="#glyph1-2" x="257.252387" y="76.806749"/>
+ <use xlink:href="#glyph1-3" x="265.078993" y="76.806749"/>
+ <use xlink:href="#glyph1-2" x="272.905599" y="76.806749"/>
+ <use xlink:href="#glyph1-1" x="280.732205" y="76.806749"/>
+ <use xlink:href="#glyph1-4" x="288.558811" y="76.806749"/>
+ <use xlink:href="#glyph1-5" x="296.385417" y="76.806749"/>
+ <use xlink:href="#glyph1-6" x="304.212023" y="76.806749"/>
+ <use xlink:href="#glyph1-7" x="312.038628" y="76.806749"/>
+ <use xlink:href="#glyph1-8" x="319.865234" y="76.806749"/>
+ <use xlink:href="#glyph1-9" x="327.69184" y="76.806749"/>
+ <use xlink:href="#glyph1-10" x="335.518446" y="76.806749"/>
+ <use xlink:href="#glyph1-8" x="343.345052" y="76.806749"/>
+ <use xlink:href="#glyph1-9" x="351.171658" y="76.806749"/>
+ <use xlink:href="#glyph1-8" x="358.998264" y="76.806749"/>
+ <use xlink:href="#glyph1-9" x="366.82487" y="76.806749"/>
+ <use xlink:href="#glyph1-11" x="374.651476" y="76.806749"/>
+ <use xlink:href="#glyph1-3" x="382.478082" y="76.806749"/>
+ <use xlink:href="#glyph1-12" x="390.304688" y="76.806749"/>
+ <use xlink:href="#glyph1-3" x="398.131293" y="76.806749"/>
+</g>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 24.450039 8.449922 L 32.630313 6.227656 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 32.992031 6.129219 L 32.575234 6.50168 L 32.630313 6.227656 L 32.443984 6.019063 Z M 32.992031 6.129219 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-9" x="64.425781" y="113.904405"/>
+ <use xlink:href="#glyph0-8" x="69.484918" y="113.904405"/>
+ <use xlink:href="#glyph0-6" x="77.482964" y="113.904405"/>
+ <use xlink:href="#glyph0-10" x="85.449273" y="113.904405"/>
+ <use xlink:href="#glyph0-4" x="93.701226" y="113.904405"/>
+ <use xlink:href="#glyph0-11" x="97.833442" y="113.904405"/>
+ <use xlink:href="#glyph0-8" x="110.497016" y="113.904405"/>
+ <use xlink:href="#glyph0-6" x="118.495063" y="113.904405"/>
+ <use xlink:href="#glyph0-1" x="126.461372" y="113.904405"/>
+ <use xlink:href="#glyph0-12" x="133.234375" y="113.904405"/>
+ <use xlink:href="#glyph0-9" x="141.473579" y="113.904405"/>
+ <use xlink:href="#glyph0-8" x="146.532715" y="113.904405"/>
+ <use xlink:href="#glyph0-11" x="154.530762" y="113.904405"/>
+ <use xlink:href="#glyph0-8" x="167.194336" y="113.904405"/>
+ <use xlink:href="#glyph0-7" x="175.192383" y="113.904405"/>
+ <use xlink:href="#glyph0-13" x="183.431586" y="113.904405"/>
+ <use xlink:href="#glyph0-1" x="188.5287" y="113.904405"/>
+ <use xlink:href="#glyph0-4" x="195.301704" y="113.904405"/>
+ <use xlink:href="#glyph0-14" x="199.433919" y="113.904405"/>
+ <use xlink:href="#glyph0-15" x="207.622396" y="113.904405"/>
+ <use xlink:href="#glyph0-8" x="211.234321" y="113.904405"/>
+ <use xlink:href="#glyph0-1" x="219.232368" y="113.904405"/>
+</g>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 33.200234 10.967695 L 24.450039 11.149922 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 33.205312 11.217695 L 34.000039 10.951094 L 33.194961 10.717695 Z M 33.205312 11.217695 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 34.550039 9.499922 L 36.004922 9.499922 L 36.604922 10.099922 L 36.604922 11.199922 L 34.550039 11.199922 Z M 34.550039 9.499922 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<path style="fill:none;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 36.004922 9.499922 L 36.004922 10.099922 L 36.604922 10.099922 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-13" x="278.425781" y="178.806749"/>
+ <use xlink:href="#glyph1-14" x="286.252387" y="178.806749"/>
+ <use xlink:href="#glyph1-5" x="294.078993" y="178.806749"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-15" x="150.425781" y="178.904405"/>
+ <use xlink:href="#glyph0-6" x="154.037706" y="178.904405"/>
+ <use xlink:href="#glyph0-12" x="162.004015" y="178.904405"/>
+ <use xlink:href="#glyph0-7" x="170.243218" y="178.904405"/>
+ <use xlink:href="#glyph0-5" x="178.482422" y="178.904405"/>
+ <use xlink:href="#glyph0-16" x="185.629774" y="178.904405"/>
+</g>
+<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.350039 9.799922 L 43.885 9.799922 L 44.485 10.399922 L 44.485 13.099922 L 39.350039 13.099922 Z M 39.350039 9.799922 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<path style="fill:none;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 43.885 9.799922 L 43.885 10.399922 L 44.485 10.399922 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-15" x="374.425781" y="184.806749"/>
+ <use xlink:href="#glyph1-14" x="382.252387" y="184.806749"/>
+ <use xlink:href="#glyph1-16" x="390.078993" y="184.806749"/>
+ <use xlink:href="#glyph1-17" x="397.905599" y="184.806749"/>
+ <use xlink:href="#glyph1-18" x="405.732205" y="184.806749"/>
+ <use xlink:href="#glyph1-16" x="413.558811" y="184.806749"/>
+ <use xlink:href="#glyph1-17" x="421.385417" y="184.806749"/>
+ <use xlink:href="#glyph1-19" x="429.212023" y="184.806749"/>
+ <use xlink:href="#glyph1-17" x="437.038628" y="184.806749"/>
+ <use xlink:href="#glyph1-20" x="444.865234" y="184.806749"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-1" x="374.425781" y="200.806749"/>
+ <use xlink:href="#glyph1-18" x="382.252387" y="200.806749"/>
+ <use xlink:href="#glyph1-17" x="390.078993" y="200.806749"/>
+ <use xlink:href="#glyph1-21" x="397.905599" y="200.806749"/>
+ <use xlink:href="#glyph1-5" x="405.732205" y="200.806749"/>
+ <use xlink:href="#glyph1-4" x="413.558811" y="200.806749"/>
+ <use xlink:href="#glyph1-22" x="421.385417" y="200.806749"/>
+ <use xlink:href="#glyph1-3" x="429.212023" y="200.806749"/>
+ <use xlink:href="#glyph1-14" x="437.038628" y="200.806749"/>
+ <use xlink:href="#glyph1-5" x="444.865234" y="200.806749"/>
+ <use xlink:href="#glyph1-17" x="452.69184" y="200.806749"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-1" x="374.425781" y="216.806749"/>
+ <use xlink:href="#glyph1-14" x="382.252387" y="216.806749"/>
+ <use xlink:href="#glyph1-21" x="390.078993" y="216.806749"/>
+ <use xlink:href="#glyph1-19" x="397.905599" y="216.806749"/>
+ <use xlink:href="#glyph1-23" x="405.732205" y="216.806749"/>
+ <use xlink:href="#glyph1-18" x="413.558811" y="216.806749"/>
+ <use xlink:href="#glyph1-16" x="421.385417" y="216.806749"/>
+ <use xlink:href="#glyph1-3" x="429.212023" y="216.806749"/>
+ <use xlink:href="#glyph1-17" x="437.038628" y="216.806749"/>
+</g>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:0.4,0.4;stroke-miterlimit:10;" d="M 36.850039 10.349922 L 39.043203 11.314961 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 38.363711 11.28918 L 39.196523 11.382539 L 38.565078 10.831563 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-24" x="342.425781" y="177.904405"/>
+ <use xlink:href="#glyph1-25" x="350.252387" y="177.904405"/>
+</g>
+<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 38.506094 12.998164 L 25.371133 11.412227 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 38.476211 13.246211 L 39.30043 13.094062 L 38.536172 12.749922 Z M 38.476211 13.246211 " transform="matrix(20,0,0,20,-419.575,-36.1)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-17" x="83.425781" y="12.904405"/>
+ <use xlink:href="#glyph0-6" x="93.436089" y="12.904405"/>
+ <use xlink:href="#glyph0-13" x="101.402398" y="12.904405"/>
+ <use xlink:href="#glyph0-6" x="106.499512" y="12.904405"/>
+ <use xlink:href="#glyph0-4" x="114.46582" y="12.904405"/>
+ <use xlink:href="#glyph0-1" x="118.598036" y="12.904405"/>
+ <use xlink:href="#glyph0-18" x="125.371039" y="12.904405"/>
+ <use xlink:href="#glyph0-12" x="133.324599" y="12.904405"/>
+ <use xlink:href="#glyph0-9" x="141.563802" y="12.904405"/>
+ <use xlink:href="#glyph0-5" x="146.622938" y="12.904405"/>
+ <use xlink:href="#glyph0-8" x="153.770291" y="12.904405"/>
+ <use xlink:href="#glyph0-1" x="161.768338" y="12.904405"/>
+</g>
+</g>
+</svg>
diff --git a/docs/source/specification.rst b/docs/source/specification.rst
index ee99f3d..4ad474c 100644
--- a/docs/source/specification.rst
+++ b/docs/source/specification.rst
@@ -70,10 +70,51 @@ ever measured within the validity period into a single file for the tor process
the bandwidth authority is running to read. The bandwidth authority includes
these aggregated results in its votes.
-How it all works
-----------------
-
-We now describe various core parts of sbws.
+Running the scanner
+---------------------
+Overview
+~~~~~~~~~
+
+The :term:`scanner` obtain a list of relays from the Tor network.
+It measures the bandwidth of each relay by creating a two hop circuit with the
+relay to measure and download data from a :term:`destination` Web Server.
+The :term:`generator` creates a :term:`bandwidth list file` that is read
+by a :term:`directory authority` and used to report relays' bandwidth in its
+vote.
+
+.. image:: ./images/scanner.svg
+ :height: 200px
+ :align: center
+
+Intialization
+~~~~~~~~~~~~~~
+
+.. At some point it should be able to get environment variables
+
+#. Parse the command line arguments and configuration files.
+#. Launch a Tor thread with an specific configuration or connect to a running
+ Tor daemon that is running with a suitable configuration.
+#. Obtain the list of relays in the Tor network from the Tor consensus and
+ descriptor documents.
+#. Read and parse the old bandwidth measurements stored in the file system.
+#. Select a subset of the relays to be measured next, ordered by:
+
+ #. relays not measured.
+ #. measurements age.
+
+.. image:: ./images/use_cases_data_sources.svg
+ :alt: data sources
+ :height: 200px
+ :align: center
+
+Classes used in the initialization:
+
+.. image:: ./images/use_cases_classes.svg
+ :alt: classes initializing data
+ :height: 300px
+ :align: center
+
+Source code: :func:`sbws.core.scanner.run_speedtest`
Simple relay prioritization
~~~~~~~~~~~~~~~~~~~~~~~~~~~
1
0

23 Feb '19
commit a030102c3181bd4276ac0e9ca829521379195768
Author: juga0 <juga(a)riseup.net>
Date: Wed Jan 23 16:40:14 2019 +0000
docs: remove section that is already in DEPLOY
---
docs/source/specification.rst | 8 --------
1 file changed, 8 deletions(-)
diff --git a/docs/source/specification.rst b/docs/source/specification.rst
index 598465f..ee99f3d 100644
--- a/docs/source/specification.rst
+++ b/docs/source/specification.rst
@@ -52,14 +52,6 @@ This document describes the implementation contained within the accompanying
Anatomy of a Tor network using sbws
-----------------------------------
-First and foremost, there needs to be one or more webservers that exist
-somewhere on the Internet. They MUST serve up a file of at least some minimum
-size, and MUST support both HTTP GET and HEAD requests on that file. For both
-HTTP verbs, they MUST support requests with the Range header and MUST support
-*not* compressing responses. Beyond these requirements, the webservers MAY support
-TLS connections, optionally with a valid certificate. Both apache and nginx fit
-these requirements.
-
Every directory authority that wishes to also vote on relay bandwidth (AKA
a bandwidth authority) MUST run one or more sbws scanner clients (or trust
someone to run one or more sbws scanner clients for them). The scanners run
1
0

23 Feb '19
commit c5223ae0756489c6c84da6a60465cbab60094ad9
Author: juga0 <juga(a)riseup.net>
Date: Thu Feb 7 10:52:36 2019 +0000
docs: explain how the second relay is selected
---
docs/source/activity_second_relay.puml | 30 ++++++++++++++++++++++++++++
docs/source/images/activity_second_relay.svg | 1 +
docs/source/specification.rst | 18 +++++++++++++++++
3 files changed, 49 insertions(+)
diff --git a/docs/source/activity_second_relay.puml b/docs/source/activity_second_relay.puml
new file mode 100644
index 0000000..d088d68
--- /dev/null
+++ b/docs/source/activity_second_relay.puml
@@ -0,0 +1,30 @@
+@startuml
+
+start
+
+if (relay to measure is exit?) then (yes)
+ :obtain non-exits;
+else (no)
+ :obtain an exits
+ without bad flag
+ that can exit
+ to port 443;
+endif
+:potential second relays;
+:obtain a relay
+from potential
+sencond relays
+randomly;
+if (second relay has 2x bandwidth?) then (yes)
+elseif (other second relay has 1.5x bandwidth?) then (yes)
+elseif (other second relay has 1x bandwidth?) then (yes)
+else (nothing)
+ stop
+endif
+:second relay selected!;
+:Build a circuit
+whith exit as
+second hop;
+stop
+
+@enduml
\ No newline at end of file
diff --git a/docs/source/images/activity_second_relay.svg b/docs/source/images/activity_second_relay.svg
new file mode 100644
index 0000000..a996c1e
--- /dev/null
+++ b/docs/source/images/activity_second_relay.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="625px" preserveAspectRatio="none" style="width:812px;height:625px;" version="1.1" viewBox="0 0 812 625" width="812px" zoomAndPan="magnify"><defs><filter height="300%" id="fd9ikek" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><ellipse cx="415" cy="20" fill="#000000" filter="url(#fd9ikek)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fd9ikek)" points="344,50,486,50,498,62,486,74,344,74,332,62,344,50" style="stroke: #A80036; stroke-width: 1.5;"/>
<text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="142" x="344" y="65.8081">relay to measure is exit?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="312" y="59.4058">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="498" y="59.4058">no</text><rect fill="#FEFECE" filter="url(#fd9ikek)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="261.5" y="84"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="271.5" y="105.1387">obtain non-exits</text><rect fill="#FEFECE" filter="url(#fd9ikek)" height="75.875" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="447.5" y="84"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs"
textLength="93" x="457.5" y="105.1387">obtain an exits</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="457.5" y="119.1074">without bad flag</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="457.5" y="133.0762">that can exit</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="71" x="457.5" y="147.0449">to port 443</text><polygon fill="#FEFECE" filter="url(#fd9ikek)" points="415,165.875,427,177.875,415,189.875,403,177.875,415,165.875" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#fd9ikek)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="167" x="331.5" y="209.875"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="147" x="341.5" y="231.0137">potential second relays<
/text><rect fill="#FEFECE" filter="url(#fd9ikek)" height="75.875" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="357.5" y="263.8438"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="86" x="367.5" y="284.9824">obtain a relay</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="88" x="367.5" y="298.9512">from potential</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="367.5" y="312.9199">sencond relays</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="367.5" y="326.8887">randomly</text><polygon fill="#FEFECE" filter="url(#fd9ikek)" points="32,359.7188,215,359.7188,227,371.7188,215,383.7188,32,383.7188,20,371.7188,32,359.7188" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="san
s-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="127.5" y="393.9292">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="32" y="375.5269">second relay has 2x bandwidth?</text><polygon fill="#FEFECE" filter="url(#fd9ikek)" points="259,359.7188,487,359.7188,499,371.7188,487,383.7188,259,383.7188,247,371.7188,259,359.7188" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="377" y="393.9292">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="228" x="259" y="375.5269">other second relay has 1.5x bandwidth?</text><polygon fill="#FEFECE" filter="url(#fd9ikek)" points="531,359.7188,748,359.7188,760,371.7188,748,383.7188,531,383.7188,519,371.7188,531,359.7188" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font
-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="643.5" y="393.9292">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="531" y="375.5269">other second relay has 1x bandwidth?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="42" x="760" y="369.1245">nothing</text><ellipse cx="795" cy="413.1211" fill="none" filter="url(#fd9ikek)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="795.5" cy="413.6211" fill="#000000" filter="url(#fd9ikek)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fd9ikek)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="333.5" y="463.1211"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="343.5" y="484.2598">second relay
selected!</text><rect fill="#FEFECE" filter="url(#fd9ikek)" height="61.9063" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="104" x="363" y="517.0898"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="373" y="538.2285">Build a circuit</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="78" x="373" y="552.1973">whith exit as</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="74" x="373" y="566.166">second hop</text><ellipse cx="415" cy="608.9961" fill="none" filter="url(#fd9ikek)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="415.5" cy="609.4961" fill="#000000" filter="url(#fd9ikek)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="332" x2="322" y1="62" y2="62"/><line style="stroke: #A80036; st
roke-width: 1.5;" x1="322" x2="322" y1="62" y2="84"/><polygon fill="#A80036" points="318,74,322,84,326,74,322,78" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="498" x2="508" y1="62" y2="62"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="508" x2="508" y1="62" y2="84"/><polygon fill="#A80036" points="504,74,508,84,512,74,508,78" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="322" x2="322" y1="117.9688" y2="177.875"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="322" x2="403" y1="177.875" y2="177.875"/><polygon fill="#A80036" points="393,173.875,403,177.875,393,181.875,397,177.875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="508" x2="508" y1="159.875" y2="177.875"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="508" x2="427" y1="177.875" y2="177.875"/><polygon fill="#A80036" points="437,173.875,427,177.875
,437,181.875,433,177.875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="415" x2="415" y1="30" y2="50"/><polygon fill="#A80036" points="411,40,415,50,419,40,415,44" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="415" x2="415" y1="189.875" y2="209.875"/><polygon fill="#A80036" points="411,199.875,415,209.875,419,199.875,415,203.875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="415" x2="415" y1="243.8438" y2="263.8438"/><polygon fill="#A80036" points="411,253.8438,415,263.8438,419,253.8438,415,257.8438" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="123.5" x2="123.5" y1="383.7188" y2="443.1211"/><polygon fill="#A80036" points="119.5,433.1211,123.5,443.1211,127.5,433.1211,123.5,437.1211" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;
" x1="373" x2="373" y1="383.7188" y2="443.1211"/><polygon fill="#A80036" points="369,433.1211,373,443.1211,377,433.1211,373,437.1211" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="639.5" x2="639.5" y1="383.7188" y2="443.1211"/><polygon fill="#A80036" points="635.5,433.1211,639.5,443.1211,643.5,433.1211,639.5,437.1211" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="227" x2="247" y1="371.7188" y2="371.7188"/><polygon fill="#A80036" points="237,367.7188,247,371.7188,237,375.7188,241,371.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="499" x2="519" y1="371.7188" y2="371.7188"/><polygon fill="#A80036" points="509,367.7188,519,371.7188,509,375.7188,513,371.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="415" x2="415" y1="339.7188" y2="344.7188"/><line style="stroke: #A80036
; stroke-width: 1.5;" x1="415" x2="123.5" y1="344.7188" y2="344.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="123.5" x2="123.5" y1="344.7188" y2="359.7188"/><polygon fill="#A80036" points="119.5,349.7188,123.5,359.7188,127.5,349.7188,123.5,353.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="760" x2="795" y1="371.7188" y2="371.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="795" x2="795" y1="371.7188" y2="403.1211"/><polygon fill="#A80036" points="791,393.1211,795,403.1211,799,393.1211,795,397.1211" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="123.5" x2="639.5" y1="443.1211" y2="443.1211"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="415" x2="415" y1="443.1211" y2="463.1211"/><polygon fill="#A80036" points="411,453.1211,415,463.1211,419,453.1211,415,457.1211" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; strok
e-width: 1.5;" x1="415" x2="415" y1="497.0898" y2="517.0898"/><polygon fill="#A80036" points="411,507.0898,415,517.0898,419,507.0898,415,511.0898" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="415" x2="415" y1="578.9961" y2="598.9961"/><polygon fill="#A80036" points="411,588.9961,415,598.9961,419,588.9961,415,592.9961" style="stroke: #A80036; stroke-width: 1.0;"/></g></svg>
\ No newline at end of file
diff --git a/docs/source/specification.rst b/docs/source/specification.rst
index 1e5b683..56bd8b1 100644
--- a/docs/source/specification.rst
+++ b/docs/source/specification.rst
@@ -132,6 +132,24 @@ Measuring relays
Source code: :func:`sbws.core.scanner.measure_relay`
+Selecting a second relay
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+#. If the relay to measure is an exit, use it as an exit and obtain the
+ non-exits.
+#. If the relay to measure is not an exit, use it as first hop and obtain
+ the exits.
+#. From non-exits or exits, select one randomly from the ones that have
+ double consensus bandwidth than the relay to measure.
+#. If there are no relays that satisfy this, lower the required bandwidth.
+
+.. image:: ./images/activity_second_relay.svg
+ :alt: activity select second relay
+ :height: 400px
+ :align: center
+
+Source code: :func:`sbws.core.scanner.measure_relay`
+
Simple result storage
~~~~~~~~~~~~~~~~~~~~~
1
0
commit 85febc22a84c2aa6cf06dd8ccb660664ff5c99f3
Author: juga0 <juga(a)riseup.net>
Date: Thu Feb 7 12:31:09 2019 +0000
docs: remove page metadata
---
docs/source/specification.rst | 8 --------
1 file changed, 8 deletions(-)
diff --git a/docs/source/specification.rst b/docs/source/specification.rst
index d48f4e2..4e5f083 100644
--- a/docs/source/specification.rst
+++ b/docs/source/specification.rst
@@ -1,14 +1,6 @@
Simple Bandwidth Scanner technical details
============================================
-:Author: Matt Traudt, juga
-:Date: 29 March 2018
-:Last Update: 19 Sep 2018
-:Status: Draft
-
-.. note:: this document may become an specification of the ``sbws`` method to
- measure relays and/or scale the measuremensts
-
Conventions
-----------
1
0
commit dea9a380198e271fd7f0028a9a031ddb4c1de892
Author: juga0 <juga(a)riseup.net>
Date: Thu Feb 7 12:31:30 2019 +0000
docs: remove RFC key words
since the page is not an specification in RFC terms.
---
docs/source/specification.rst | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/docs/source/specification.rst b/docs/source/specification.rst
index 4e5f083..7c5dc1e 100644
--- a/docs/source/specification.rst
+++ b/docs/source/specification.rst
@@ -1,15 +1,6 @@
Simple Bandwidth Scanner technical details
============================================
-Conventions
------------
-
-The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
-"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL"
-in this document are to be interpreted as described in BCP 14 (:rfc:`2119`
-and :rfc:`8174`) when, and only when, they appear in all capitals, as shown
-here.
-
Background
----------
1
0

23 Feb '19
commit eb19c15d72f1a1afa1b917ecd93f2abfb4bc9ee9
Author: juga0 <juga(a)riseup.net>
Date: Thu Feb 7 10:43:45 2019 +0000
docs: explain how the relays are measured
---
docs/source/activity_all.puml | 25 +++++++++++++++++++++++++
docs/source/images/activity_all.svg | 1 +
docs/source/specification.rst | 15 +++++++++++++++
3 files changed, 41 insertions(+)
diff --git a/docs/source/activity_all.puml b/docs/source/activity_all.puml
new file mode 100644
index 0000000..225dd64
--- /dev/null
+++ b/docs/source/activity_all.puml
@@ -0,0 +1,25 @@
+@startuml
+
+start
+
+while (no SIGINT/SIGTERM?)
+
+ while (next relay to measure?)
+
+ :Select a destination;
+
+ :Select a second relay;
+
+ :Build a circuit;
+
+ :HTTP GET (Range-Bytes);
+
+ :Store measurement;
+
+ endwhile
+
+endwhile
+
+stop
+
+@enduml
\ No newline at end of file
diff --git a/docs/source/images/activity_all.svg b/docs/source/images/activity_all.svg
new file mode 100644
index 0000000..b97e56c
--- /dev/null
+++ b/docs/source/images/activity_all.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="479px" preserveAspectRatio="none" style="width:256px;height:479px;" version="1.1" viewBox="0 0 256 479" width="256px" zoomAndPan="magnify"><defs><filter height="300%" id="f8gvh59" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><ellipse cx="145.5" cy="20" fill="#000000" filter="url(#f8gvh59)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f8gvh59)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="72.5" y=
"138"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="82.5" y="159.1387">Select a destination</text><rect fill="#FEFECE" filter="url(#f8gvh59)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="68" y="191.9688"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="78" y="213.1074">Select a second relay</text><rect fill="#FEFECE" filter="url(#f8gvh59)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="104" x="93.5" y="246.9531"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="103.5" y="268.0918">Build a circuit</text><rect fill="#FEFECE" filter="url(#f8gvh59)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="171" x="60" y="300.9219"/><text fill="#000000" font-family="sans-seri
f" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="151" x="70" y="322.0605">HTTP GET (Range-Bytes)</text><rect fill="#FEFECE" filter="url(#f8gvh59)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="73" y="354.8906"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="125" x="83" y="376.0293">Store measurement</text><polygon fill="#FEFECE" filter="url(#f8gvh59)" points="79.5,94,211.5,94,223.5,106,211.5,118,79.5,118,67.5,106,79.5,94" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="132" x="79.5" y="109.8081">next relay to measure?</text><polygon fill="#FEFECE" filter="url(#f8gvh59)" points="87.5,50,203.5,50,215.5,62,203.5,74,87.5,74,75.5,62,87.5,50" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAn
dGlyphs" textLength="116" x="87.5" y="65.8081">no SIGINT/SIGTERM?</text><ellipse cx="145.5" cy="462.8594" fill="none" filter="url(#f8gvh59)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="146" cy="463.3594" fill="#000000" filter="url(#f8gvh59)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="145.5" x2="145.5" y1="171.9688" y2="191.9688"/><polygon fill="#A80036" points="141.5,181.9688,145.5,191.9688,149.5,181.9688,145.5,185.9688" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="145.5" x2="145.5" y1="225.9375" y2="246.9531"/><polygon fill="#A80036" points="141.5,236.9531,145.5,246.9531,149.5,236.9531,145.5,240.9531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="145.5" x2="145.5" y1="280.9219" y2="300.9219"/><polygon fill="#A80036" points="141.5,290.9219,145.5,300.9219,149.5,290.9219,145.5,294.921
9" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="145.5" x2="145.5" y1="334.8906" y2="354.8906"/><polygon fill="#A80036" points="141.5,344.8906,145.5,354.8906,149.5,344.8906,145.5,348.8906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="145.5" x2="145.5" y1="118" y2="138"/><polygon fill="#A80036" points="141.5,128,145.5,138,149.5,128,145.5,132" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="145.5" x2="145.5" y1="388.8594" y2="398.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="145.5" x2="243" y1="398.8594" y2="398.8594"/><polygon fill="#A80036" points="239,261.9375,243,251.9375,247,261.9375,243,257.9375" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="243" x2="243" y1="106" y2="398.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="243" x2="223.5" y1="106"
y2="106"/><polygon fill="#A80036" points="233.5,102,223.5,106,233.5,110,229.5,106" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="67.5" x2="48" y1="106" y2="106"/><polygon fill="#A80036" points="44,247.9375,48,257.9375,52,247.9375,48,251.9375" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="48" x2="48" y1="106" y2="410.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="48" x2="255" y1="410.8594" y2="410.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="255" x2="255" y1="62" y2="410.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="255" x2="215.5" y1="62" y2="62"/><polygon fill="#A80036" points="225.5,58,215.5,62,225.5,66,221.5,62" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="145.5" x2="145.5" y1="74" y2="94"/><polygon fill="#A80036" points="141.5,84,145.5,94,149.5,84,145.5,88" style="stroke: #A800
36; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="75.5" x2="24" y1="62" y2="62"/><polygon fill="#A80036" points="20,235.9375,24,245.9375,28,235.9375,24,239.9375" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="24" y1="62" y2="432.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="145.5" y1="432.8594" y2="432.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="145.5" x2="145.5" y1="432.8594" y2="452.8594"/><polygon fill="#A80036" points="141.5,442.8594,145.5,452.8594,149.5,442.8594,145.5,446.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="145.5" x2="145.5" y1="30" y2="50"/><polygon fill="#A80036" points="141.5,40,145.5,50,149.5,40,145.5,44" style="stroke: #A80036; stroke-width: 1.0;"/></g></svg>
\ No newline at end of file
diff --git a/docs/source/specification.rst b/docs/source/specification.rst
index 83c7467..1e5b683 100644
--- a/docs/source/specification.rst
+++ b/docs/source/specification.rst
@@ -116,6 +116,21 @@ Classes used in the initialization:
Source code: :func:`sbws.core.scanner.run_speedtest`
+Measuring relays
+~~~~~~~~~~~~~~~~~
+
+#. For every relay:
+#. Select a second relay to build a Tor circuit.
+#. Build the circuit.
+#. Make HTTPS GET requests to the Web server over the circuit.
+#. Store the time the request took and the amount of bytes requested.
+
+.. image:: ./images/activity_all.svg
+ :alt: activity measuring relays
+ :height: 300px
+ :align: center
+
+Source code: :func:`sbws.core.scanner.measure_relay`
Simple result storage
~~~~~~~~~~~~~~~~~~~~~
1
0