All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH -perfbook 0/7] 2026 March updates
@ 2026-03-02  9:16 Akira Yokosawa
  2026-03-02  9:17 ` [PATCH -perfbook 1/7] CodeSamples/formal: Update rcu-test.dat for v6.19 Akira Yokosawa
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Akira Yokosawa @ 2026-03-02  9:16 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Hi Paul,

Here are updates for March from me.

Patch 1/7 is the regular one.
Patch 2/7 takes care of legends' position in the plot.
Patches 3/7 -- 6/7 are aesthetic improvements here and there.

Patch 7/7 retouches recently added Figure 2.6.
I'm not sure on this one, but I thought this might be closer to what
you had in mind.

Thanks, Akira
--
Akira Yokosawa (7):
  CodeSamples/formal: Update rcu-test.dat for v6.19
  formal: rcu-test-ratio: Adjust legends' position
  Give page number counts room on TOC pages in -1c builds
  defer/rcuapi: Tweak column widths for long APIs
  Adjust page header/footer widths for tweaked textwidths
  Define pagestyle (of titlesec) for section-less appendix
  intro/coarsen.svg: Tweak size of squares and use nuanced colors

 CodeSamples/formal/data/plot.sh      |    3 +-
 CodeSamples/formal/data/rcu-test.dat |    3 +-
 defer/rcuapi.tex                     |   16 +-
 intro/coarsen.svg                    | 1403 +++++++++++---------------
 intro/intro.tex                      |    2 +-
 perfbook-lt.tex                      |   45 +-
 6 files changed, 627 insertions(+), 845 deletions(-)


base-commit: ed21d3a85560e4e4088f55c19f860b040a805bd2
-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH -perfbook 1/7] CodeSamples/formal: Update rcu-test.dat for v6.19
  2026-03-02  9:16 [PATCH -perfbook 0/7] 2026 March updates Akira Yokosawa
@ 2026-03-02  9:17 ` Akira Yokosawa
  2026-03-02  9:19 ` [PATCH -perfbook 2/7] formal: rcu-test-ratio: Adjust legends' position Akira Yokosawa
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Akira Yokosawa @ 2026-03-02  9:17 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Routine update.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 CodeSamples/formal/data/rcu-test.dat | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/CodeSamples/formal/data/rcu-test.dat b/CodeSamples/formal/data/rcu-test.dat
index 678ec787..ac235bd0 100644
--- a/CodeSamples/formal/data/rcu-test.dat
+++ b/CodeSamples/formal/data/rcu-test.dat
@@ -105,4 +105,5 @@ v6.12 22834 12313 35147 35.0
 ""    22300 12758 35058 36.4
 v6.16 22370 12983 35353 36.7
 ""    22437 13261 35698 37.1
-v6.18 22542 13299 35841 37.1
+""    22542 13299 35841 37.1
+v6.19 22884 13848 36732 37.7
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH -perfbook 2/7] formal: rcu-test-ratio: Adjust legends' position
  2026-03-02  9:16 [PATCH -perfbook 0/7] 2026 March updates Akira Yokosawa
  2026-03-02  9:17 ` [PATCH -perfbook 1/7] CodeSamples/formal: Update rcu-test.dat for v6.19 Akira Yokosawa
@ 2026-03-02  9:19 ` Akira Yokosawa
  2026-03-02  9:20 ` [PATCH -perfbook 3/7] Give page number counts room on TOC pages in -1c builds Akira Yokosawa
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Akira Yokosawa @ 2026-03-02  9:19 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Legends at the top center of the chart are getting closer to the
"% test" line.

Move them to the left and add a box surrounding them to prevent them
from interfering with the chart.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 CodeSamples/formal/data/plot.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/CodeSamples/formal/data/plot.sh b/CodeSamples/formal/data/plot.sh
index 93b13494..c8661284 100644
--- a/CodeSamples/formal/data/plot.sh
+++ b/CodeSamples/formal/data/plot.sh
@@ -22,7 +22,8 @@ set y2range [0:50]
 set style data histogram
 set style histogram rowstacked
 set style fill solid 0.7 noborder
-set key top center
+#set key top center
+set key at 50,39000 box 3
 # Set linestyle 1
 set style line 1 \
     linetype 1 linewidth 0.5 \
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH -perfbook 3/7] Give page number counts room on TOC pages in -1c builds
  2026-03-02  9:16 [PATCH -perfbook 0/7] 2026 March updates Akira Yokosawa
  2026-03-02  9:17 ` [PATCH -perfbook 1/7] CodeSamples/formal: Update rcu-test.dat for v6.19 Akira Yokosawa
  2026-03-02  9:19 ` [PATCH -perfbook 2/7] formal: rcu-test-ratio: Adjust legends' position Akira Yokosawa
@ 2026-03-02  9:20 ` Akira Yokosawa
  2026-03-02  9:21 ` [PATCH -perfbook 4/7] defer/rcuapi: Tweak column widths for long APIs Akira Yokosawa
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Akira Yokosawa @ 2026-03-02  9:20 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

In perfbook-1cnq.pdf, Appendix starts from >1000 page.
Apply the same tweak as commit b404be779856 ("ebook: Allocate
enough width for four-digit page counts in TOC") for -1c builds.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 perfbook-lt.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/perfbook-lt.tex b/perfbook-lt.tex
index 6dc698d1..724e1b83 100644
--- a/perfbook-lt.tex
+++ b/perfbook-lt.tex
@@ -164,9 +164,9 @@
 
 % Tweak width params of TOC
 \makeatletter
-\IfEbookSize{ % for ebook size build (more than 1000 pages)
+\IfTwoColumn{}{ % for ebook-size and 1c builds (more than 1000 pages)
 \renewcommand*\@pnumwidth{2.2em}
-}{}
+}
 % default params defined in book.sty:
 %  width of chapter (two digits):			1.5em
 %  indent of section:					1.5em
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH -perfbook 4/7] defer/rcuapi: Tweak column widths for long APIs
  2026-03-02  9:16 [PATCH -perfbook 0/7] 2026 March updates Akira Yokosawa
                   ` (2 preceding siblings ...)
  2026-03-02  9:20 ` [PATCH -perfbook 3/7] Give page number counts room on TOC pages in -1c builds Akira Yokosawa
@ 2026-03-02  9:21 ` Akira Yokosawa
  2026-03-02  9:23 ` [PATCH -perfbook 5/7] Adjust page header/footer widths for tweaked textwidths Akira Yokosawa
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Akira Yokosawa @ 2026-03-02  9:21 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Table 9.2 has acquired a couple of long APIs and lost some of their
tip of tails in print.

Adjust column widths and overall dimensions so that they can be
rendered properly.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 defer/rcuapi.tex | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/defer/rcuapi.tex b/defer/rcuapi.tex
index e44f21e4..4587a3e3 100644
--- a/defer/rcuapi.tex
+++ b/defer/rcuapi.tex
@@ -146,12 +146,12 @@ API~\cite{PaulEMcKenney2024RCUAPI}.\footnote{
 \label{tab:defer:RCU Wait-to-Finish APIs}
 \scriptsize\IfEbookSize{\hspace*{-1.8in}}{\hspace*{-.125in}}
 \ebresizeverb{0.7}{
-\begin{tabularx}{8.5in}{>{\raggedright\arraybackslash}p{0.94in}
-    >{\raggedright\arraybackslash}X
-    >{\raggedright\arraybackslash}X
-    >{\raggedright\arraybackslash}p{1.1in}
-    >{\raggedright\arraybackslash}p{1.35in}
-    >{\raggedright\arraybackslash}p{1.45in}}
+\begin{tabularx}{8.5in}{>{\raggedright\arraybackslash}p{0.92in}
+    >{\raggedright\arraybackslash}p{1.37in}
+    >{\raggedright\arraybackslash}p{1.39in}
+    >{\raggedright\arraybackslash}p{1.09in}
+    >{\raggedright\arraybackslash}p{1.34in}
+    >{\raggedright\arraybackslash}p{1.44in}}
 \toprule
 &
     {\bf RCU}: Original &
@@ -170,7 +170,7 @@ API~\cite{PaulEMcKenney2024RCUAPI}.\footnote{
 {\bf Read-side critical-section markers} &
     \tco{rcu_read_lock()}~! \tco{rcu_read_unlock()}~!  ~~~~~~~~~~~~~~~~~~
     (See \cref{tab:defer:RCU Markers for Read-Side Critical Sections} for more.) &
-	\tco{srcu_read_lock()} \tco{srcu_read_unlock()} ~~~~~~~~~~~~
+	\tco{srcu_read_lock()} \tco{srcu_read_unlock()} ~~~~~~~~~~~~~~~~~
 	(See \cref{tab:defer:SRCU Markers for Read-Side Critical Sections} for more.) &
 	    Voluntary context switch in non-idle tasks. &
 		Preemption-disabled regions of code. &
@@ -188,7 +188,7 @@ API~\cite{PaulEMcKenney2024RCUAPI}.\footnote{
 		    \tco{synchronize_rcu_tasks_trace()}
 		    \tco{rcu_trace_implies_rcu_gp()} \\
 {\bf Update-side primitives (asynchronous / callback) } &
-    \tco{call_rcu()} !
+    \tco{call_rcu()} ! ~~~~~~
     \tco{call_rcu_hurry()} &
 	\tco{call_srcu()} &
 	    \tco{call_rcu_tasks()} &
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH -perfbook 5/7] Adjust page header/footer widths for tweaked textwidths
  2026-03-02  9:16 [PATCH -perfbook 0/7] 2026 March updates Akira Yokosawa
                   ` (3 preceding siblings ...)
  2026-03-02  9:21 ` [PATCH -perfbook 4/7] defer/rcuapi: Tweak column widths for long APIs Akira Yokosawa
@ 2026-03-02  9:23 ` Akira Yokosawa
  2026-03-02  9:24 ` [PATCH -perfbook 6/7] Define pagestyle (of titlesec) for section-less appendix Akira Yokosawa
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Akira Yokosawa @ 2026-03-02  9:23 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

In 2c builds, Legal and TOC pages are temporarily switched to
1c mode, without adjusting header/footer width.

I was lazy in commit 114e330a528a ("Narrow textwidth of legal and
TOB pages in 2c build") and failed to investigate other approaches.

It turns out that the "geometry" package provides useful macros for
similar purposes with the bonus of natural adjustment of header/footer
widths.

Let's apply the "geometry" way of switching between 2c/1c layouts.

For bibliography pages, use slightly wider textwidth than that of
-1c builds for non-ebook size builds.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 perfbook-lt.tex | 31 ++++++++++++-------------------
 1 file changed, 12 insertions(+), 19 deletions(-)

diff --git a/perfbook-lt.tex b/perfbook-lt.tex
index 724e1b83..78a26c21 100644
--- a/perfbook-lt.tex
+++ b/perfbook-lt.tex
@@ -666,21 +666,17 @@
 \newenvironment{fcvref}[1][]{\renewcommand{\lnrefbase}{#1}%
 \ignorespaces}{\ignorespacesafterend}
 
+\IfTwoColumn{\newgeometry{body={4.75in,8.25in},centering=true,onecolumn}}{}
+
 \frontmatter
 
 \IfEbookSize{\hypersetup{pageanchor=false}}{}
 \maketitle
 \IfEbookSize{\hypersetup{pageanchor=true}}{}
 
-\IfTwoColumn{
-  \onecolumn\begin{adjustwidth*}{.95in}{.8in}
-  \addtolength{\parindent}{6pt}
-}{}
 \input{legal}
 \tableofcontents
-\IfTwoColumn{
-  \end{adjustwidth*}\twocolumn
-}{}
+\IfTwoColumn{\restoregeometry}{}
 
 \mainmatter
 
@@ -715,24 +711,21 @@
 \input{glossary.tex}
 
 % Bibliograpy
-\IfTwoColumn{
-  \onecolumn\begin{adjustwidth*}{.8in}{.7in}
-  %\bibliographystyle{alpha}   % Use genuine alpha style (In case of build failure, use this instead)
-  \bibliographystyle{alphapf} % Use alpha style customized by urlbst with --inlinelinks option
+%\bibliographystyle{alpha}   % Use genuine alpha style (In case of build failure, use this instead)
+\bibliographystyle{alphapf} % Use alpha style customized by urlbst with --inlinelinks option
+\IfEbookSize{
+  % no geometry change for bibliography pages
 }{
-  \bibliographystyle{alphapf} % Use alpha style customized by urlbst with --inlinelinks option
+  % slightly wider than textwidth of -1c builds
+  \newgeometry{body={5.2in,8.25in},centering=true,onecolumn}
 }
+\begingroup
 \IfColorLinks{}{
   \hypersetup{pdfborder=0 0 1,urlbordercolor=0 0 0,pdfborderstyle=/S/U/W .2}
 }
 \bibliography{bib/RCU,bib/WFS,bib/hw,bib/os,bib/parallelsys,bib/patterns,bib/perfmeas,bib/refs,bib/syncrefs,bib/search,bib/swtools,bib/realtime,bib/TM,bib/standards,bib/OSS,bib/maze,bib/energy,bib/QC,bib/NP,bib/memorymodel}
-\IfColorLinks{}{
-  \hypersetup{pdfborder=0 0 0}
-}
-\IfTwoColumn{
-  \end{adjustwidth*}\twocolumn
-}{
-}
+\endgroup
+\IfEbookSize{}{\restoregeometry}
 
 % Credits
 \setcounter{secnumdepth}{-1} % surpress section numbering in backmatter
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH -perfbook 6/7] Define pagestyle (of titlesec) for section-less appendix
  2026-03-02  9:16 [PATCH -perfbook 0/7] 2026 March updates Akira Yokosawa
                   ` (4 preceding siblings ...)
  2026-03-02  9:23 ` [PATCH -perfbook 5/7] Adjust page header/footer widths for tweaked textwidths Akira Yokosawa
@ 2026-03-02  9:24 ` Akira Yokosawa
  2026-03-02  9:28 ` [PATCH -perfbook 7/7] intro/coarsen.svg: Tweak size of squares and use nuanced colors Akira Yokosawa
  2026-03-02 18:19 ` [PATCH -perfbook 0/7] 2026 March updates Paul E. McKenney
  7 siblings, 0 replies; 9+ messages in thread
From: Akira Yokosawa @ 2026-03-02  9:24 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

The lack of any section in appendix "Glossary" causes its odd pages
to have empty header.

Define a pagestyle for it and print chapter title for both odd and
even pages.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 perfbook-lt.tex | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/perfbook-lt.tex b/perfbook-lt.tex
index 78a26c21..5509d455 100644
--- a/perfbook-lt.tex
+++ b/perfbook-lt.tex
@@ -62,7 +62,10 @@
 \usepackage{tabularx}
 \usepackage[hyphens]{url}
 \usepackage{threeparttable}
-\usepackage{titlesec}[2016/03/21] % Suppress number in paragraph heading
+\usepackage[pagestyles]{titlesec}[2016/03/21] % Suppress number in paragraph heading
+% custom pagestyle for section-less appendix
+\newpagestyle{sectionless}{\sethead*{\chaptertitle}{}{\thepage}}
+\newcommand{\sectionlesspagestyle}{\pagestyle{sectionless}}
 \usepackage{fmtcount}
 \usepackage{draftwatermark}[2015/02/19]
 \SetWatermarkAngle{0.0}
@@ -188,6 +191,7 @@
 
 \IfEbookSize{
 \usepackage[section]{placeins}
+\renewcommand{\sectionlesspagestyle}{} % ebook size's header is empty
 }{
 \usepackage{placeins}
 }
@@ -708,7 +712,11 @@
 % Glossary
 %% Reset footnote count
 \setcounter{footnote}{0}
+\begingroup
+\sectionlesspagestyle
 \input{glossary.tex}
+\clearpage
+\endgroup
 
 % Bibliograpy
 %\bibliographystyle{alpha}   % Use genuine alpha style (In case of build failure, use this instead)
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH -perfbook 7/7] intro/coarsen.svg: Tweak size of squares and use nuanced colors
  2026-03-02  9:16 [PATCH -perfbook 0/7] 2026 March updates Akira Yokosawa
                   ` (5 preceding siblings ...)
  2026-03-02  9:24 ` [PATCH -perfbook 6/7] Define pagestyle (of titlesec) for section-less appendix Akira Yokosawa
@ 2026-03-02  9:28 ` Akira Yokosawa
  2026-03-02 18:19 ` [PATCH -perfbook 0/7] 2026 March updates Paul E. McKenney
  7 siblings, 0 replies; 9+ messages in thread
From: Akira Yokosawa @ 2026-03-02  9:28 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Representing each CPU core capacity by larger squares for 16 CPU
is confusing in comparing throughput of 16 and 64 CPU cases.

To make its point clearer, shrink 16 CPU diagram, and make total
"green" areas comparable between the two.

While here, to be nicer to readers' eyes, use less-saturated colors.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
Note:

  Also removed invisible objects in the bottom layers.
--
 intro/coarsen.svg | 1403 +++++++++++++++++++--------------------------
 intro/intro.tex   |    2 +-
 2 files changed, 592 insertions(+), 813 deletions(-)

diff --git a/intro/coarsen.svg b/intro/coarsen.svg
index 1b4c4d2c..12f837fd 100644
--- a/intro/coarsen.svg
+++ b/intro/coarsen.svg
@@ -11,7 +11,7 @@
    viewBox="0 0 249.375 124.375"
    id="svg2"
    version="1.1"
-   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
+   inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
    sodipodi:docname="coarsen.svg"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
@@ -337,16 +337,16 @@
      guidetolerance="10"
      inkscape:pageopacity="0"
      inkscape:pageshadow="2"
-     inkscape:window-width="2852"
-     inkscape:window-height="1564"
+     inkscape:window-width="1854"
+     inkscape:window-height="1003"
      id="namedview156"
      showgrid="true"
-     inkscape:zoom="7.6210936"
-     inkscape:cx="132.98616"
-     inkscape:cy="66.329063"
-     inkscape:window-x="182"
-     inkscape:window-y="177"
-     inkscape:window-maximized="0"
+     inkscape:zoom="5.388927"
+     inkscape:cx="140.75158"
+     inkscape:cy="85.63857"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
      inkscape:current-layer="svg2"
      fit-margin-top="5"
      fit-margin-right="5"
@@ -354,7 +354,9 @@
      fit-margin-left="5"
      inkscape:snap-global="true"
      showguides="false"
-     inkscape:pagecheckerboard="0">
+     inkscape:pagecheckerboard="0"
+     inkscape:showpageshadow="2"
+     inkscape:deskcolor="#d1d1d1">
     <inkscape:grid
        type="xygrid"
        id="grid3110"
@@ -365,840 +367,617 @@
        originx="-110.3125"
        originy="34.687498"
        spacingx="1"
-       spacingy="0.99999998" />
+       spacingy="0.99999998"
+       units="px" />
   </sodipodi:namedview>
+  <rect
+     style="fill:#bb5535;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+     id="rect1058"
+     width="115"
+     height="115"
+     x="4.6875"
+     y="4.6875" />
   <g
-     id="g4672"
-     transform="translate(5.5703201,4.3049984)">
+     id="g9"
+     transform="translate(24.375,28.125)">
     <rect
-       style="fill:#ff0000;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1058"
-       width="115"
-       height="115"
-       x="-0.88282001"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426"
-       width="10"
-       height="10"
-       x="-0.88281995"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9"
-       width="10"
-       height="10"
-       x="14.117181"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0"
-       width="10"
-       height="10"
-       x="29.117182"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-3"
-       width="10"
-       height="10"
-       x="44.117184"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-3"
-       width="10"
-       height="10"
-       x="59.117188"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-37"
-       width="10"
-       height="10"
-       x="74.117188"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-3"
-       width="10"
-       height="10"
-       x="89.117188"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-3-2"
-       width="10"
-       height="10"
-       x="104.11719"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2066"
-       width="10"
-       height="10"
-       x="-0.88281995"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2068"
-       width="10"
-       height="10"
-       x="14.117181"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2070"
-       width="10"
-       height="10"
-       x="29.117182"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2072"
-       width="10"
-       height="10"
-       x="44.117184"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2074"
-       width="10"
-       height="10"
-       x="59.117188"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2076"
-       width="10"
-       height="10"
-       x="74.117188"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2078"
-       width="10"
-       height="10"
-       x="89.117188"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2080"
-       width="10"
-       height="10"
-       x="104.11719"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-5"
-       width="10"
-       height="10"
-       x="-0.88282013"
-       y="15.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-2"
-       width="10"
-       height="10"
-       x="14.11718"
-       y="15.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-6"
-       width="10"
-       height="10"
-       x="29.117188"
-       y="15.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-3-5"
-       width="10"
-       height="10"
-       x="44.117188"
-       y="15.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-3-8"
-       width="10"
-       height="10"
-       x="59.117188"
-       y="15.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-37-7"
-       width="10"
-       height="10"
-       x="74.117188"
-       y="15.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-3-9"
-       width="10"
-       height="10"
-       x="89.117188"
-       y="15.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-3-2-60"
-       width="10"
-       height="10"
-       x="104.11719"
-       y="15.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-93"
-       width="10"
-       height="10"
-       x="-0.88281989"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-9"
-       width="10"
-       height="10"
-       x="14.11718"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-2"
-       width="10"
-       height="10"
-       x="29.11718"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-3-8"
-       width="10"
-       height="10"
-       x="44.117184"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-3-3"
-       width="10"
-       height="10"
-       x="59.117188"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-37-0"
-       width="10"
-       height="10"
-       x="74.117188"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-3-1"
-       width="10"
-       height="10"
-       x="89.117188"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-3-2-7"
-       width="10"
-       height="10"
-       x="104.11719"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2066-9"
-       width="10"
-       height="10"
-       x="-0.88281989"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2068-1"
-       width="10"
-       height="10"
-       x="14.11718"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2070-5"
-       width="10"
-       height="10"
-       x="29.11718"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2072-4"
-       width="10"
-       height="10"
-       x="44.117184"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2074-9"
-       width="10"
-       height="10"
-       x="59.117188"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2076-2"
-       width="10"
-       height="10"
-       x="74.117188"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2078-5"
-       width="10"
-       height="10"
-       x="89.117188"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2080-7"
-       width="10"
-       height="10"
-       x="104.11719"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-5-9"
-       width="10"
-       height="10"
-       x="-0.88282013"
-       y="45.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-2-4"
-       width="10"
-       height="10"
-       x="14.11718"
-       y="45.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-6-5"
-       width="10"
-       height="10"
-       x="29.117188"
-       y="45.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-3-5-9"
-       width="10"
-       height="10"
-       x="44.117188"
-       y="45.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-3-8-3"
-       width="10"
-       height="10"
-       x="59.117188"
-       y="45.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-37-7-5"
-       width="10"
-       height="10"
-       x="74.117188"
-       y="45.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-3-9-7"
-       width="10"
-       height="10"
-       x="89.117188"
-       y="45.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-3-2-60-0"
-       width="10"
-       height="10"
-       x="104.11719"
-       y="45.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-99"
-       width="10"
-       height="10"
-       x="-0.88282007"
-       y="60.382511" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-7"
-       width="10"
-       height="10"
-       x="14.117181"
-       y="60.382511" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-8"
-       width="10"
-       height="10"
-       x="29.117182"
-       y="60.382511" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-3-25"
-       width="10"
-       height="10"
-       x="44.117184"
-       y="60.382511" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-3-34"
-       width="10"
-       height="10"
-       x="59.117188"
-       y="60.382511" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-37-9"
-       width="10"
-       height="10"
-       x="74.117188"
-       y="60.382511" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-3-0"
-       width="10"
-       height="10"
-       x="89.117188"
-       y="60.382511" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-3-2-2"
-       width="10"
-       height="10"
-       x="104.11719"
-       y="60.382511" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-5-90"
-       width="10"
-       height="10"
-       x="-0.88282013"
-       y="75.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-2-5"
-       width="10"
-       height="10"
-       x="14.11718"
-       y="75.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-6-6"
-       width="10"
-       height="10"
-       x="29.117188"
-       y="75.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-3-5-7"
-       width="10"
-       height="10"
-       x="44.117188"
-       y="75.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-3-8-7"
-       width="10"
-       height="10"
-       x="59.117188"
-       y="75.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-37-7-4"
-       width="10"
-       height="10"
-       x="74.117188"
-       y="75.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-3-9-0"
-       width="10"
-       height="10"
-       x="89.117188"
-       y="75.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-3-2-60-6"
-       width="10"
-       height="10"
-       x="104.11719"
-       y="75.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-93-4"
-       width="10"
-       height="10"
-       x="-0.88282001"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-9-8"
-       width="10"
-       height="10"
-       x="14.11718"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-2-5"
-       width="10"
-       height="10"
-       x="29.11718"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-3-8-8"
-       width="10"
-       height="10"
-       x="44.117184"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-3-3-2"
-       width="10"
-       height="10"
-       x="59.117188"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-37-0-6"
-       width="10"
-       height="10"
-       x="74.117188"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-3-1-0"
-       width="10"
-       height="10"
-       x="89.117188"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-3-2-7-6"
-       width="10"
-       height="10"
-       x="104.11719"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2066-9-4"
-       width="10"
-       height="10"
-       x="-0.88282001"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2068-1-6"
-       width="10"
-       height="10"
-       x="14.11718"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2070-5-2"
-       width="10"
-       height="10"
-       x="29.11718"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2072-4-8"
-       width="10"
-       height="10"
-       x="44.117184"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2074-9-9"
-       width="10"
-       height="10"
-       x="59.117188"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2076-2-6"
-       width="10"
-       height="10"
-       x="74.117188"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2078-5-0"
-       width="10"
-       height="10"
-       x="89.117188"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect2080-7-7"
-       width="10"
-       height="10"
-       x="104.11719"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-5-9-0"
-       width="10"
-       height="10"
-       x="-0.88282013"
-       y="105.38251" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-2-4-1"
-       width="10"
-       height="10"
-       x="14.11718"
-       y="105.38251" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-6-5-3"
-       width="10"
-       height="10"
-       x="29.117188"
-       y="105.38251" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-3-5-9-7"
-       width="10"
-       height="10"
-       x="44.117188"
-       y="105.38251" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-3-8-3-7"
-       width="10"
-       height="10"
-       x="59.117188"
-       y="105.38251" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-37-7-5-2"
-       width="10"
-       height="10"
-       x="74.117188"
-       y="105.38251" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-3-9-7-6"
-       width="10"
-       height="10"
-       x="89.117188"
-       y="105.38251" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-9-3-2-60-0-4"
-       width="10"
-       height="10"
-       x="104.11719"
-       y="105.38251" />
-  </g>
-  <g
-     id="g4672-0"
-     transform="translate(130.57032,4.3049984)">
-    <rect
-       style="fill:#ff0000;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       style="fill:#bb5535;fill-opacity:1;stroke-width:1.08953;stroke-miterlimit:4;stroke-dasharray:1.08953, 3.26859;stroke-dashoffset:0"
        id="rect1058-3"
-       width="115"
-       height="115"
-       x="-0.88282001"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-7"
-       width="10"
-       height="10"
-       x="-0.88281995"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-86"
-       width="10"
-       height="10"
-       x="29.117182"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-3-4"
-       width="10"
-       height="10"
-       x="59.117188"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-3-7"
-       width="10"
-       height="10"
-       x="89.117188"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       width="61.119938"
+       height="60.381855"
+       x="127.47325"
+       y="2.8422923" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.02115;stroke-miterlimit:4;stroke-dasharray:1.02115, 3.06345;stroke-dashoffset:0"
        id="rect2066-0"
-       width="25"
-       height="25"
-       x="-0.88281995"
-       y="0.3825016" />
+       width="12.431194"
+       height="12.324226"
+       x="129.6875"
+       y="4.6875" />
     <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.02115;stroke-miterlimit:4;stroke-dasharray:1.02115, 3.06345;stroke-dashoffset:0"
        id="rect2070-7"
-       width="24.999998"
-       height="25"
-       x="29.117182"
-       y="0.3825016" />
+       width="12.431193"
+       height="12.324226"
+       x="144.60493"
+       y="4.6875" />
     <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.02115;stroke-miterlimit:4;stroke-dasharray:1.02115, 3.06345;stroke-dashoffset:0"
        id="rect2074-97"
-       width="24.999992"
-       height="25"
-       x="59.117188"
-       y="0.3825016" />
+       width="12.43119"
+       height="12.324226"
+       x="159.52237"
+       y="4.6875" />
     <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.02115;stroke-miterlimit:4;stroke-dasharray:1.02115, 3.06345;stroke-dashoffset:0"
        id="rect2078-53"
-       width="24.999992"
-       height="25"
-       x="89.117188"
-       y="0.3825016" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-93-9"
-       width="10"
-       height="10"
-       x="-0.88281989"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-2-9"
-       width="10"
-       height="10"
-       x="29.11718"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-3-3-5"
-       width="10"
-       height="10"
-       x="59.117188"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-3-1-4"
-       width="10"
-       height="10"
-       x="89.117188"
-       y="30.382504" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       width="12.43119"
+       height="12.324226"
+       x="174.4398"
+       y="4.6875" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.02115;stroke-miterlimit:4;stroke-dasharray:1.02115, 3.06345;stroke-dashoffset:0"
        id="rect2066-9-7"
-       width="25"
-       height="24.999996"
-       x="-0.88281989"
-       y="30.382504" />
+       width="12.431194"
+       height="12.324224"
+       x="129.6875"
+       y="19.476572" />
     <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.02115;stroke-miterlimit:4;stroke-dasharray:1.02115, 3.06345;stroke-dashoffset:0"
        id="rect2070-5-3"
-       width="25"
-       height="24.999996"
-       x="29.11718"
-       y="30.382504" />
+       width="12.431194"
+       height="12.324224"
+       x="144.60493"
+       y="19.476572" />
     <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.02115;stroke-miterlimit:4;stroke-dasharray:1.02115, 3.06345;stroke-dashoffset:0"
        id="rect2074-9-97"
-       width="24.999992"
-       height="24.999996"
-       x="59.117188"
-       y="30.382504" />
+       width="12.43119"
+       height="12.324224"
+       x="159.52237"
+       y="19.476572" />
     <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.02115;stroke-miterlimit:4;stroke-dasharray:1.02115, 3.06345;stroke-dashoffset:0"
        id="rect2078-5-9"
-       width="24.999992"
-       height="24.999996"
-       x="89.117188"
-       y="30.382504" />
+       width="12.43119"
+       height="12.324224"
+       x="174.4398"
+       y="19.476572" />
     <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.02115;stroke-miterlimit:4;stroke-dasharray:1.02115, 3.06345;stroke-dashoffset:0"
        id="rect1426-99-7"
-       width="25"
-       height="24.999989"
-       x="-0.88282007"
-       y="60.382511" />
+       width="12.431194"
+       height="12.324221"
+       x="129.6875"
+       y="34.265648" />
     <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.02115;stroke-miterlimit:4;stroke-dasharray:1.02115, 3.06345;stroke-dashoffset:0"
        id="rect1426-0-8-1"
-       width="24.999998"
-       height="24.999989"
-       x="29.117182"
-       y="60.382511" />
+       width="12.431193"
+       height="12.324221"
+       x="144.60493"
+       y="34.265648" />
     <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.02115;stroke-miterlimit:4;stroke-dasharray:1.02115, 3.06345;stroke-dashoffset:0"
        id="rect1426-3-34-4"
-       width="24.999992"
-       height="24.999989"
-       x="59.117188"
-       y="60.382511" />
+       width="12.43119"
+       height="12.324221"
+       x="159.52237"
+       y="34.265648" />
     <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.02115;stroke-miterlimit:4;stroke-dasharray:1.02115, 3.06345;stroke-dashoffset:0"
        id="rect1426-0-3-0-7"
-       width="24.999992"
-       height="24.999989"
-       x="89.117188"
-       y="60.382511" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-93-4-1"
-       width="10"
-       height="10"
-       x="-0.88282001"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-2-5-6"
-       width="10"
-       height="10"
-       x="29.11718"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-3-3-2-1"
-       width="10"
-       height="10"
-       x="59.117188"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
-       id="rect1426-0-3-1-0-6"
-       width="10"
-       height="10"
-       x="89.117188"
-       y="90.382507" />
-    <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       width="12.43119"
+       height="12.324221"
+       x="174.4398"
+       y="34.265648" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.02115;stroke-miterlimit:4;stroke-dasharray:1.02115, 3.06345;stroke-dashoffset:0"
        id="rect2066-9-4-8"
-       width="25"
-       height="24.999992"
-       x="-0.88282001"
-       y="90.382507" />
+       width="12.431194"
+       height="12.324223"
+       x="129.6875"
+       y="49.054718" />
     <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.02115;stroke-miterlimit:4;stroke-dasharray:1.02115, 3.06345;stroke-dashoffset:0"
        id="rect2070-5-2-8"
-       width="25"
-       height="24.999992"
-       x="29.11718"
-       y="90.382507" />
+       width="12.431194"
+       height="12.324223"
+       x="144.60493"
+       y="49.054718" />
     <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.02115;stroke-miterlimit:4;stroke-dasharray:1.02115, 3.06345;stroke-dashoffset:0"
        id="rect2074-9-9-0"
-       width="24.999992"
-       height="24.999992"
-       x="59.117188"
-       y="90.382507" />
+       width="12.43119"
+       height="12.324223"
+       x="159.52237"
+       y="49.054718" />
     <rect
-       style="fill:#01ff00;fill-opacity:1;stroke-width:2.0625;stroke-miterlimit:4;stroke-dasharray:2.0625, 6.1875;stroke-dashoffset:0"
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.02115;stroke-miterlimit:4;stroke-dasharray:1.02115, 3.06345;stroke-dashoffset:0"
        id="rect2078-5-0-2"
-       width="24.999992"
-       height="24.999992"
-       x="89.117188"
-       y="90.382507" />
+       width="12.43119"
+       height="12.324223"
+       x="174.4398"
+       y="49.054718" />
+  </g>
+  <g
+     id="g10"
+     transform="translate(0,1.875)">
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-9"
+       width="6.8016405"
+       height="6.4325981"
+       x="24.118195"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-91"
+       width="6.8016405"
+       height="6.4325981"
+       x="37.953682"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-71"
+       width="6.8016405"
+       height="6.4325981"
+       x="51.789169"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-5"
+       width="6.8016405"
+       height="6.4325981"
+       x="65.624657"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-77"
+       width="6.8016405"
+       height="6.4325981"
+       x="79.460144"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-73"
+       width="6.8016405"
+       height="6.4325981"
+       x="93.295631"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-56"
+       width="6.8016405"
+       height="6.4325981"
+       x="107.13112"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426"
+       width="6.8016405"
+       height="6.4325981"
+       x="10.282707"
+       y="8.5917482" />
+  </g>
+  <g
+     id="g10-9"
+     transform="translate(0,15.781536)">
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-9-4"
+       width="6.8016405"
+       height="6.4325981"
+       x="24.118195"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-91-8"
+       width="6.8016405"
+       height="6.4325981"
+       x="37.953682"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-71-1"
+       width="6.8016405"
+       height="6.4325981"
+       x="51.789169"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-5-2"
+       width="6.8016405"
+       height="6.4325981"
+       x="65.624657"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-77-9"
+       width="6.8016405"
+       height="6.4325981"
+       x="79.460144"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-73-3"
+       width="6.8016405"
+       height="6.4325981"
+       x="93.295631"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-56-9"
+       width="6.8016405"
+       height="6.4325981"
+       x="107.13112"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-0"
+       width="6.8016405"
+       height="6.4325981"
+       x="10.282707"
+       y="8.5917482" />
+  </g>
+  <g
+     id="g10-8"
+     transform="translate(0,29.688071)">
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-9-5"
+       width="6.8016405"
+       height="6.4325981"
+       x="24.118195"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-91-0"
+       width="6.8016405"
+       height="6.4325981"
+       x="37.953682"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-71-9"
+       width="6.8016405"
+       height="6.4325981"
+       x="51.789169"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-5-6"
+       width="6.8016405"
+       height="6.4325981"
+       x="65.624657"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-77-3"
+       width="6.8016405"
+       height="6.4325981"
+       x="79.460144"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-73-8"
+       width="6.8016405"
+       height="6.4325981"
+       x="93.295631"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-56-5"
+       width="6.8016405"
+       height="6.4325981"
+       x="107.13112"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-6"
+       width="6.8016405"
+       height="6.4325981"
+       x="10.282707"
+       y="8.5917482" />
+  </g>
+  <g
+     id="g10-1"
+     transform="translate(0,43.594607)">
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-9-59"
+       width="6.8016405"
+       height="6.4325981"
+       x="24.118195"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-91-84"
+       width="6.8016405"
+       height="6.4325981"
+       x="37.953682"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-71-8"
+       width="6.8016405"
+       height="6.4325981"
+       x="51.789169"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-5-1"
+       width="6.8016405"
+       height="6.4325981"
+       x="65.624657"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-77-0"
+       width="6.8016405"
+       height="6.4325981"
+       x="79.460144"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-73-30"
+       width="6.8016405"
+       height="6.4325981"
+       x="93.295631"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-56-4"
+       width="6.8016405"
+       height="6.4325981"
+       x="107.13112"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-4"
+       width="6.8016405"
+       height="6.4325981"
+       x="10.282707"
+       y="8.5917482" />
+  </g>
+  <g
+     id="g10-4"
+     transform="translate(0,57.501143)">
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-9-7"
+       width="6.8016405"
+       height="6.4325981"
+       x="24.118195"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-91-6"
+       width="6.8016405"
+       height="6.4325981"
+       x="37.953682"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-71-3"
+       width="6.8016405"
+       height="6.4325981"
+       x="51.789169"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-5-17"
+       width="6.8016405"
+       height="6.4325981"
+       x="65.624657"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-77-5"
+       width="6.8016405"
+       height="6.4325981"
+       x="79.460144"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-73-9"
+       width="6.8016405"
+       height="6.4325981"
+       x="93.295631"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-56-6"
+       width="6.8016405"
+       height="6.4325981"
+       x="107.13112"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-2"
+       width="6.8016405"
+       height="6.4325981"
+       x="10.282707"
+       y="8.5917482" />
+  </g>
+  <g
+     id="g10-7"
+     transform="translate(0,71.407679)">
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-9-8"
+       width="6.8016405"
+       height="6.4325981"
+       x="24.118195"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-91-5"
+       width="6.8016405"
+       height="6.4325981"
+       x="37.953682"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-71-7"
+       width="6.8016405"
+       height="6.4325981"
+       x="51.789169"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-5-4"
+       width="6.8016405"
+       height="6.4325981"
+       x="65.624657"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-77-1"
+       width="6.8016405"
+       height="6.4325981"
+       x="79.460144"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-73-85"
+       width="6.8016405"
+       height="6.4325981"
+       x="93.295631"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-56-97"
+       width="6.8016405"
+       height="6.4325981"
+       x="107.13112"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-53"
+       width="6.8016405"
+       height="6.4325981"
+       x="10.282707"
+       y="8.5917482" />
+  </g>
+  <g
+     id="g10-83"
+     transform="translate(0,85.314214)">
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-9-1"
+       width="6.8016405"
+       height="6.4325981"
+       x="24.118195"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-91-89"
+       width="6.8016405"
+       height="6.4325981"
+       x="37.953682"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-71-6"
+       width="6.8016405"
+       height="6.4325981"
+       x="51.789169"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-5-43"
+       width="6.8016405"
+       height="6.4325981"
+       x="65.624657"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-77-33"
+       width="6.8016405"
+       height="6.4325981"
+       x="79.460144"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-73-86"
+       width="6.8016405"
+       height="6.4325981"
+       x="93.295631"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-56-0"
+       width="6.8016405"
+       height="6.4325981"
+       x="107.13112"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-48"
+       width="6.8016405"
+       height="6.4325981"
+       x="10.282707"
+       y="8.5917482" />
+  </g>
+  <g
+     id="g10-89"
+     transform="translate(0,99.22075)">
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-9-77"
+       width="6.8016405"
+       height="6.4325981"
+       x="24.118195"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-91-64"
+       width="6.8016405"
+       height="6.4325981"
+       x="37.953682"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-71-30"
+       width="6.8016405"
+       height="6.4325981"
+       x="51.789169"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-5-3"
+       width="6.8016405"
+       height="6.4325981"
+       x="65.624657"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-77-09"
+       width="6.8016405"
+       height="6.4325981"
+       x="79.460144"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-73-2"
+       width="6.8016405"
+       height="6.4325981"
+       x="93.295631"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-56-54"
+       width="6.8016405"
+       height="6.4325981"
+       x="107.13112"
+       y="8.5917482" />
+    <rect
+       style="fill:#5ae069;fill-opacity:1;stroke-width:1.36425;stroke-miterlimit:4;stroke-dasharray:1.36425, 4.09275;stroke-dashoffset:0"
+       id="rect1426-05"
+       width="6.8016405"
+       height="6.4325981"
+       x="10.282707"
+       y="8.5917482" />
   </g>
 </svg>
diff --git a/intro/intro.tex b/intro/intro.tex
index 4d51a965..68a52608 100644
--- a/intro/intro.tex
+++ b/intro/intro.tex
@@ -1127,7 +1127,7 @@ thus being as large as possible.
 The goal of this approach is to reduce the fraction of time consumed
 by synchronization overhead, as illustrated by
 \cref{fig:intro:Coarse Partitioning Reduces Synchronization Overhead},
-where the green regions represent useful work and the red regions
+where the green regions represent useful work and the dark regions
 represent synchronization overhead.
 Of course, the coarser synchronization on the right has only 16
 partitions compared to the 64 partitions on the left, however, it
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH -perfbook 0/7] 2026 March updates
  2026-03-02  9:16 [PATCH -perfbook 0/7] 2026 March updates Akira Yokosawa
                   ` (6 preceding siblings ...)
  2026-03-02  9:28 ` [PATCH -perfbook 7/7] intro/coarsen.svg: Tweak size of squares and use nuanced colors Akira Yokosawa
@ 2026-03-02 18:19 ` Paul E. McKenney
  7 siblings, 0 replies; 9+ messages in thread
From: Paul E. McKenney @ 2026-03-02 18:19 UTC (permalink / raw)
  To: Akira Yokosawa; +Cc: perfbook

On Mon, Mar 02, 2026 at 06:16:40PM +0900, Akira Yokosawa wrote:
> Hi Paul,
> 
> Here are updates for March from me.
> 
> Patch 1/7 is the regular one.
> Patch 2/7 takes care of legends' position in the plot.
> Patches 3/7 -- 6/7 are aesthetic improvements here and there.
> 
> Patch 7/7 retouches recently added Figure 2.6.
> I'm not sure on this one, but I thought this might be closer to what
> you had in mind.

All very good, thank you very much!!!

The new Figure 2.6 does an excellent job of showing less overall
work needed for a given amount of forward progress with coarser
synchronization.

Queued and pushed.

							Thanx, Paul

> Thanks, Akira
> --
> Akira Yokosawa (7):
>   CodeSamples/formal: Update rcu-test.dat for v6.19
>   formal: rcu-test-ratio: Adjust legends' position
>   Give page number counts room on TOC pages in -1c builds
>   defer/rcuapi: Tweak column widths for long APIs
>   Adjust page header/footer widths for tweaked textwidths
>   Define pagestyle (of titlesec) for section-less appendix
>   intro/coarsen.svg: Tweak size of squares and use nuanced colors
> 
>  CodeSamples/formal/data/plot.sh      |    3 +-
>  CodeSamples/formal/data/rcu-test.dat |    3 +-
>  defer/rcuapi.tex                     |   16 +-
>  intro/coarsen.svg                    | 1403 +++++++++++---------------
>  intro/intro.tex                      |    2 +-
>  perfbook-lt.tex                      |   45 +-
>  6 files changed, 627 insertions(+), 845 deletions(-)
> 
> 
> base-commit: ed21d3a85560e4e4088f55c19f860b040a805bd2
> -- 
> 2.43.0
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-03-02 18:19 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-02  9:16 [PATCH -perfbook 0/7] 2026 March updates Akira Yokosawa
2026-03-02  9:17 ` [PATCH -perfbook 1/7] CodeSamples/formal: Update rcu-test.dat for v6.19 Akira Yokosawa
2026-03-02  9:19 ` [PATCH -perfbook 2/7] formal: rcu-test-ratio: Adjust legends' position Akira Yokosawa
2026-03-02  9:20 ` [PATCH -perfbook 3/7] Give page number counts room on TOC pages in -1c builds Akira Yokosawa
2026-03-02  9:21 ` [PATCH -perfbook 4/7] defer/rcuapi: Tweak column widths for long APIs Akira Yokosawa
2026-03-02  9:23 ` [PATCH -perfbook 5/7] Adjust page header/footer widths for tweaked textwidths Akira Yokosawa
2026-03-02  9:24 ` [PATCH -perfbook 6/7] Define pagestyle (of titlesec) for section-less appendix Akira Yokosawa
2026-03-02  9:28 ` [PATCH -perfbook 7/7] intro/coarsen.svg: Tweak size of squares and use nuanced colors Akira Yokosawa
2026-03-02 18:19 ` [PATCH -perfbook 0/7] 2026 March updates Paul E. McKenney

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.