diff options
73 files changed, 785 insertions, 246 deletions
diff --git a/graphics/osx/preferences/advanced@2x_black.png b/graphics/osx/preferences/advanced@2x_black.png Binary files differindex e2cb8e361..cca13f60d 100644 --- a/graphics/osx/preferences/advanced@2x_black.png +++ b/graphics/osx/preferences/advanced@2x_black.png diff --git a/graphics/osx/preferences/advanced@2x_white.png b/graphics/osx/preferences/advanced@2x_white.png Binary files differindex 71f97b3ca..97ee570fd 100644 --- a/graphics/osx/preferences/advanced@2x_white.png +++ b/graphics/osx/preferences/advanced@2x_white.png diff --git a/graphics/osx/preferences/advanced_black.png b/graphics/osx/preferences/advanced_black.png Binary files differindex 50c086ed6..c3e7a1189 100644 --- a/graphics/osx/preferences/advanced_black.png +++ b/graphics/osx/preferences/advanced_black.png diff --git a/graphics/osx/preferences/advanced_white.png b/graphics/osx/preferences/advanced_white.png Binary files differindex b5bbfa16b..467e050a6 100644 --- a/graphics/osx/preferences/advanced_white.png +++ b/graphics/osx/preferences/advanced_white.png diff --git a/graphics/osx/preferences/cover_sheet@2x_black.png b/graphics/osx/preferences/cover_sheet@2x_black.png Binary files differindex d5ee6ebdb..54d722404 100644 --- a/graphics/osx/preferences/cover_sheet@2x_black.png +++ b/graphics/osx/preferences/cover_sheet@2x_black.png diff --git a/graphics/osx/preferences/cover_sheet@2x_white.png b/graphics/osx/preferences/cover_sheet@2x_white.png Binary files differindex 3e1bade6f..ca58a3a40 100644 --- a/graphics/osx/preferences/cover_sheet@2x_white.png +++ b/graphics/osx/preferences/cover_sheet@2x_white.png diff --git a/graphics/osx/preferences/cover_sheet_black.png b/graphics/osx/preferences/cover_sheet_black.png Binary files differindex 18eaf0a40..2a0bd1b52 100644 --- a/graphics/osx/preferences/cover_sheet_black.png +++ b/graphics/osx/preferences/cover_sheet_black.png diff --git a/graphics/osx/preferences/cover_sheet_white.png b/graphics/osx/preferences/cover_sheet_white.png Binary files differindex 3a41359a1..61bf526a3 100644 --- a/graphics/osx/preferences/cover_sheet_white.png +++ b/graphics/osx/preferences/cover_sheet_white.png diff --git a/graphics/osx/preferences/defaults@2x_black.png b/graphics/osx/preferences/defaults@2x_black.png Binary files differindex 53ab3968a..cdfbcf578 100644 --- a/graphics/osx/preferences/defaults@2x_black.png +++ b/graphics/osx/preferences/defaults@2x_black.png diff --git a/graphics/osx/preferences/defaults@2x_white.png b/graphics/osx/preferences/defaults@2x_white.png Binary files differindex e86c02350..8b8840aa7 100644 --- a/graphics/osx/preferences/defaults@2x_white.png +++ b/graphics/osx/preferences/defaults@2x_white.png diff --git a/graphics/osx/preferences/defaults_black.png b/graphics/osx/preferences/defaults_black.png Binary files differindex a2c2217d7..1ae1ade3a 100644 --- a/graphics/osx/preferences/defaults_black.png +++ b/graphics/osx/preferences/defaults_black.png diff --git a/graphics/osx/preferences/defaults_white.png b/graphics/osx/preferences/defaults_white.png Binary files differindex 3dbbac384..529465ad8 100644 --- a/graphics/osx/preferences/defaults_white.png +++ b/graphics/osx/preferences/defaults_white.png diff --git a/graphics/osx/preferences/email@2x_black.png b/graphics/osx/preferences/email@2x_black.png Binary files differindex 0a814951d..c6fa8f377 100644 --- a/graphics/osx/preferences/email@2x_black.png +++ b/graphics/osx/preferences/email@2x_black.png diff --git a/graphics/osx/preferences/email@2x_white.png b/graphics/osx/preferences/email@2x_white.png Binary files differindex 68408a6e4..9710aec38 100644 --- a/graphics/osx/preferences/email@2x_white.png +++ b/graphics/osx/preferences/email@2x_white.png diff --git a/graphics/osx/preferences/email_black.png b/graphics/osx/preferences/email_black.png Binary files differindex 8d5136d82..09f040b9e 100644 --- a/graphics/osx/preferences/email_black.png +++ b/graphics/osx/preferences/email_black.png diff --git a/graphics/osx/preferences/email_white.png b/graphics/osx/preferences/email_white.png Binary files differindex ed821598e..88f46b85b 100644 --- a/graphics/osx/preferences/email_white.png +++ b/graphics/osx/preferences/email_white.png diff --git a/graphics/osx/preferences/general@2x_black.png b/graphics/osx/preferences/general@2x_black.png Binary files differindex af79038a1..8638c0e03 100644 --- a/graphics/osx/preferences/general@2x_black.png +++ b/graphics/osx/preferences/general@2x_black.png diff --git a/graphics/osx/preferences/general@2x_white.png b/graphics/osx/preferences/general@2x_white.png Binary files differindex 72820d0fd..4d899f81f 100644 --- a/graphics/osx/preferences/general@2x_white.png +++ b/graphics/osx/preferences/general@2x_white.png diff --git a/graphics/osx/preferences/general_black.png b/graphics/osx/preferences/general_black.png Binary files differindex c75898c24..12756381e 100644 --- a/graphics/osx/preferences/general_black.png +++ b/graphics/osx/preferences/general_black.png diff --git a/graphics/osx/preferences/general_white.png b/graphics/osx/preferences/general_white.png Binary files differindex 20d41c7d4..4ceba8298 100644 --- a/graphics/osx/preferences/general_white.png +++ b/graphics/osx/preferences/general_white.png diff --git a/graphics/osx/preferences/identifiers@2x_black.png b/graphics/osx/preferences/identifiers@2x_black.png Binary files differindex 33b5499a7..9d31ca744 100644 --- a/graphics/osx/preferences/identifiers@2x_black.png +++ b/graphics/osx/preferences/identifiers@2x_black.png diff --git a/graphics/osx/preferences/identifiers@2x_white.png b/graphics/osx/preferences/identifiers@2x_white.png Binary files differindex 3416793c1..9e5537d3a 100644 --- a/graphics/osx/preferences/identifiers@2x_white.png +++ b/graphics/osx/preferences/identifiers@2x_white.png diff --git a/graphics/osx/preferences/identifiers_black.png b/graphics/osx/preferences/identifiers_black.png Binary files differindex c1c93924d..0407d264a 100644 --- a/graphics/osx/preferences/identifiers_black.png +++ b/graphics/osx/preferences/identifiers_black.png diff --git a/graphics/osx/preferences/identifiers_white.png b/graphics/osx/preferences/identifiers_white.png Binary files differindex 4b9cd116b..f5dc45c9c 100644 --- a/graphics/osx/preferences/identifiers_white.png +++ b/graphics/osx/preferences/identifiers_white.png diff --git a/graphics/osx/preferences/kdm_email@2x_black.png b/graphics/osx/preferences/kdm_email@2x_black.png Binary files differindex 32dbaa7e3..027f4d418 100644 --- a/graphics/osx/preferences/kdm_email@2x_black.png +++ b/graphics/osx/preferences/kdm_email@2x_black.png diff --git a/graphics/osx/preferences/kdm_email@2x_white.png b/graphics/osx/preferences/kdm_email@2x_white.png Binary files differindex c6b547f9c..0cea20911 100644 --- a/graphics/osx/preferences/kdm_email@2x_white.png +++ b/graphics/osx/preferences/kdm_email@2x_white.png diff --git a/graphics/osx/preferences/kdm_email_black.png b/graphics/osx/preferences/kdm_email_black.png Binary files differindex adbf81439..aab0fd5f8 100644 --- a/graphics/osx/preferences/kdm_email_black.png +++ b/graphics/osx/preferences/kdm_email_black.png diff --git a/graphics/osx/preferences/kdm_email_white.png b/graphics/osx/preferences/kdm_email_white.png Binary files differindex 705c63313..e7d82ce3a 100644 --- a/graphics/osx/preferences/kdm_email_white.png +++ b/graphics/osx/preferences/kdm_email_white.png diff --git a/graphics/osx/preferences/keys@2x_black.png b/graphics/osx/preferences/keys@2x_black.png Binary files differindex cdca69915..7b3e30a21 100644 --- a/graphics/osx/preferences/keys@2x_black.png +++ b/graphics/osx/preferences/keys@2x_black.png diff --git a/graphics/osx/preferences/keys@2x_white.png b/graphics/osx/preferences/keys@2x_white.png Binary files differindex d2a70d4ee..13611e18f 100644 --- a/graphics/osx/preferences/keys@2x_white.png +++ b/graphics/osx/preferences/keys@2x_white.png diff --git a/graphics/osx/preferences/keys_black.png b/graphics/osx/preferences/keys_black.png Binary files differindex a512081a1..bd5e94b55 100644 --- a/graphics/osx/preferences/keys_black.png +++ b/graphics/osx/preferences/keys_black.png diff --git a/graphics/osx/preferences/keys_white.png b/graphics/osx/preferences/keys_white.png Binary files differindex 000b46eb6..2dd470c55 100644 --- a/graphics/osx/preferences/keys_white.png +++ b/graphics/osx/preferences/keys_white.png diff --git a/graphics/osx/preferences/locations@2x_black.png b/graphics/osx/preferences/locations@2x_black.png Binary files differindex b06decb37..97a93cc2c 100644 --- a/graphics/osx/preferences/locations@2x_black.png +++ b/graphics/osx/preferences/locations@2x_black.png diff --git a/graphics/osx/preferences/locations@2x_white.png b/graphics/osx/preferences/locations@2x_white.png Binary files differindex 939056a18..073a88811 100644 --- a/graphics/osx/preferences/locations@2x_white.png +++ b/graphics/osx/preferences/locations@2x_white.png diff --git a/graphics/osx/preferences/locations_black.png b/graphics/osx/preferences/locations_black.png Binary files differindex 215ed3f61..0574e29a7 100644 --- a/graphics/osx/preferences/locations_black.png +++ b/graphics/osx/preferences/locations_black.png diff --git a/graphics/osx/preferences/locations_white.png b/graphics/osx/preferences/locations_white.png Binary files differindex ba7594c6b..de89507ce 100644 --- a/graphics/osx/preferences/locations_white.png +++ b/graphics/osx/preferences/locations_white.png diff --git a/graphics/osx/preferences/non_standard@2x_black.png b/graphics/osx/preferences/non_standard@2x_black.png Binary files differindex 8c4c8f3b3..4b2eb469e 100644 --- a/graphics/osx/preferences/non_standard@2x_black.png +++ b/graphics/osx/preferences/non_standard@2x_black.png diff --git a/graphics/osx/preferences/non_standard@2x_white.png b/graphics/osx/preferences/non_standard@2x_white.png Binary files differindex 1e758cf5a..be532c1d0 100644 --- a/graphics/osx/preferences/non_standard@2x_white.png +++ b/graphics/osx/preferences/non_standard@2x_white.png diff --git a/graphics/osx/preferences/non_standard_black.png b/graphics/osx/preferences/non_standard_black.png Binary files differindex 885963ee3..6c9fd6a56 100644 --- a/graphics/osx/preferences/non_standard_black.png +++ b/graphics/osx/preferences/non_standard_black.png diff --git a/graphics/osx/preferences/non_standard_white.png b/graphics/osx/preferences/non_standard_white.png Binary files differindex 311ccb93b..6eec090da 100644 --- a/graphics/osx/preferences/non_standard_white.png +++ b/graphics/osx/preferences/non_standard_white.png diff --git a/graphics/osx/preferences/notifications@2x_black.png b/graphics/osx/preferences/notifications@2x_black.png Binary files differindex 4349de64a..350e4f93e 100644 --- a/graphics/osx/preferences/notifications@2x_black.png +++ b/graphics/osx/preferences/notifications@2x_black.png diff --git a/graphics/osx/preferences/notifications@2x_white.png b/graphics/osx/preferences/notifications@2x_white.png Binary files differindex 32ae1ff76..d79e28d22 100644 --- a/graphics/osx/preferences/notifications@2x_white.png +++ b/graphics/osx/preferences/notifications@2x_white.png diff --git a/graphics/osx/preferences/notifications_black.png b/graphics/osx/preferences/notifications_black.png Binary files differindex c6e8a6276..14e35f334 100644 --- a/graphics/osx/preferences/notifications_black.png +++ b/graphics/osx/preferences/notifications_black.png diff --git a/graphics/osx/preferences/notifications_white.png b/graphics/osx/preferences/notifications_white.png Binary files differindex a11f216e5..e97f14ae6 100644 --- a/graphics/osx/preferences/notifications_white.png +++ b/graphics/osx/preferences/notifications_white.png diff --git a/graphics/osx/preferences/servers@2x_black.png b/graphics/osx/preferences/servers@2x_black.png Binary files differindex 7e188018b..c8810d764 100644 --- a/graphics/osx/preferences/servers@2x_black.png +++ b/graphics/osx/preferences/servers@2x_black.png diff --git a/graphics/osx/preferences/servers@2x_white.png b/graphics/osx/preferences/servers@2x_white.png Binary files differindex d796f3f9b..09308d523 100644 --- a/graphics/osx/preferences/servers@2x_white.png +++ b/graphics/osx/preferences/servers@2x_white.png diff --git a/graphics/osx/preferences/servers_black.png b/graphics/osx/preferences/servers_black.png Binary files differindex 86be5bf0e..c2a9a689e 100644 --- a/graphics/osx/preferences/servers_black.png +++ b/graphics/osx/preferences/servers_black.png diff --git a/graphics/osx/preferences/servers_white.png b/graphics/osx/preferences/servers_white.png Binary files differindex 3a798a652..d1c3ec247 100644 --- a/graphics/osx/preferences/servers_white.png +++ b/graphics/osx/preferences/servers_white.png diff --git a/graphics/osx/preferences/sound@2x_black.png b/graphics/osx/preferences/sound@2x_black.png Binary files differindex 8207d34dd..b92bc8acb 100644 --- a/graphics/osx/preferences/sound@2x_black.png +++ b/graphics/osx/preferences/sound@2x_black.png diff --git a/graphics/osx/preferences/sound@2x_white.png b/graphics/osx/preferences/sound@2x_white.png Binary files differindex a0579fde5..6ccfb5421 100644 --- a/graphics/osx/preferences/sound@2x_white.png +++ b/graphics/osx/preferences/sound@2x_white.png diff --git a/graphics/osx/preferences/sound_black.png b/graphics/osx/preferences/sound_black.png Binary files differindex 0998f5fde..dec0bbdcf 100644 --- a/graphics/osx/preferences/sound_black.png +++ b/graphics/osx/preferences/sound_black.png diff --git a/graphics/osx/preferences/sound_white.png b/graphics/osx/preferences/sound_white.png Binary files differindex 4ef33ab07..a9ece9a38 100644 --- a/graphics/osx/preferences/sound_white.png +++ b/graphics/osx/preferences/sound_white.png diff --git a/graphics/osx/preferences/tms@2x_black.png b/graphics/osx/preferences/tms@2x_black.png Binary files differindex ddbf71955..a4e016996 100644 --- a/graphics/osx/preferences/tms@2x_black.png +++ b/graphics/osx/preferences/tms@2x_black.png diff --git a/graphics/osx/preferences/tms@2x_white.png b/graphics/osx/preferences/tms@2x_white.png Binary files differindex 724451df4..6fc63341c 100644 --- a/graphics/osx/preferences/tms@2x_white.png +++ b/graphics/osx/preferences/tms@2x_white.png diff --git a/graphics/osx/preferences/tms_black.png b/graphics/osx/preferences/tms_black.png Binary files differindex cb34101ef..89c928e29 100644 --- a/graphics/osx/preferences/tms_black.png +++ b/graphics/osx/preferences/tms_black.png diff --git a/graphics/osx/preferences/tms_white.png b/graphics/osx/preferences/tms_white.png Binary files differindex 09248cb28..b3deaef76 100644 --- a/graphics/osx/preferences/tms_white.png +++ b/graphics/osx/preferences/tms_white.png diff --git a/graphics/src/preferences_black.svg b/graphics/src/preferences_black.svg index 1d060eeeb..7db9867bb 100644 --- a/graphics/src/preferences_black.svg +++ b/graphics/src/preferences_black.svg @@ -47,18 +47,18 @@ inkscape:guide-bbox="true" showguides="true" inkscape:window-maximized="1" - inkscape:window-y="0" + inkscape:window-y="32" inkscape:window-x="0" - inkscape:window-height="1043" + inkscape:window-height="1011" inkscape:window-width="1920" showborder="true" showgrid="true" inkscape:document-rotation="0" - inkscape:current-layer="svg8" + inkscape:current-layer="layer2" inkscape:document-units="mm" - inkscape:cy="-9.8994943" - inkscape:cx="-125.15789" - inkscape:zoom="1.4142137" + inkscape:cy="-21.5" + inkscape:cx="-82.75" + inkscape:zoom="4" inkscape:pageshadow="2" inkscape:pageopacity="0" borderopacity="1.0" @@ -284,7 +284,6 @@ <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title /> </cc:Work> </rdf:RDF> </metadata> @@ -414,7 +413,7 @@ height="2.9104164" width="1.5875053" id="rect4197" - style="vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.270809;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + style="fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> <path sodipodi:open="true" sodipodi:arc-type="arc" @@ -426,156 +425,151 @@ sodipodi:cx="110.9753" sodipodi:type="arc" id="path4260" - style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#8e0b0b;stroke-width:0.26458333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#666666;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" d="m 114.16903,143.69144 a 4.0784903,4.2965121 0 0 1 0.11277,5.18751" /> <path sodipodi:nodetypes="ccccc" id="path4276" - d="m 110.29339,145.04358 2.64583,-2.24896 v 7.14375 l -2.64583,-2.24896 z" - style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> + d="m 110.29339,144.91128 2.64583,-1.9651 v 6.8599 l -2.64583,-1.98438 z" + style="font-variation-settings:normal;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> <path sodipodi:nodetypes="cc" id="path4285" - d="m 123.65485,143.85295 h 3.43959" - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" /> + d="m 123.65485,144.38212 h 3.43959" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#808080;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" /> <path sodipodi:nodetypes="ccc" id="path4309" - d="m 123.0911,142.96076 -1.36064,1.74783 -0.66542,-0.57233" - style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#8e0b0b;stroke-width:0.26458333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> + d="m 123.0911,143.48993 -1.36064,1.74783 -0.66542,-0.57233" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> <path - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" - d="m 123.65485,149.14462 h 3.43959" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#808080;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + d="m 123.65485,148.61545 h 3.43959" id="path4285-2" sodipodi:nodetypes="cc" /> <path sodipodi:nodetypes="cc" id="path4285-2-8" d="m 123.65485,146.49878 h 3.43959" - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" /> - <g - style="display:inline;fill:#ececec;fill-opacity:1;stroke-width:0.264583;stroke-miterlimit:4;stroke-dasharray:none" - transform="translate(-25.44543,-0.13228854)" - id="g5160"> - <path - style="font-variation-settings:normal;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" - d="m 173.97111,146.36649 h 4.7625" - id="path4562" - sodipodi:nodetypes="cc" /> - <circle - style="font-variation-settings:normal;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" - id="path4580" - cx="172.9473" - cy="146.3665" - r="1.0585326" /> - <rect - style="font-variation-settings:normal;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" - id="rect4582" - width="1.0583345" - height="0.79375434" - x="177.54298" - y="146.36649" - ry="4.4042968e-06" /> - </g> + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#808080;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" /> + <path + style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + d="m 148.39339,146.2342 4.89479,0" + id="path4562" + sodipodi:nodetypes="cc" /> + <rect + style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + id="rect4582" + width="1.0583345" + height="0.79375434" + x="152.09755" + y="146.23419" + ry="4.4042968e-06" /> <rect y="143.58836" x="171.41214" height="5.2916665" width="7.672914" id="rect4591" - style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#00000f;stroke-width:0.258206;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> + style="font-variation-settings:normal;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> <path id="path4718" d="m 171.41214,143.58837 3.83653,3.57677 3.70409,-3.44448" - style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#00000f;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + style="font-variation-settings:normal;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" sodipodi:nodetypes="ccc" /> <path id="path4720" d="m 171.41214,148.88003 2.76231,-2.86677" - style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#00000f;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + style="font-variation-settings:normal;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" sodipodi:nodetypes="cc" /> <path - style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#00000f;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + style="font-variation-settings:normal;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" d="m 176.30693,146.10191 2.77812,2.77812" id="path4720-0" sodipodi:nodetypes="cc" /> - <circle - r="3.4979" - cy="146.3665" - cx="200.67569" + <ellipse id="path4787" - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.26458333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" /> - <path - sodipodi:nodetypes="ccccc" - id="path4877" - d="m 200.31495,147.28816 -0.20355,-3.25948 1.10682,-8.8e-4 -0.21968,3.25753 z" - style="display:inline;fill:#8e0b0b;fill-opacity:1;stroke:#8e0b0b;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <rect - y="148.26013" - x="200.42728" - height="0.47716767" - width="0.47716767" - id="rect4879" - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#8e0b0b;fill-opacity:1;stroke:#8e0b0b;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" /> + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + ry="3.3072872" + rx="3.3072913" + cy="146.36649" + cx="200.64859" /> + <g + id="g582" + transform="translate(0.09500785,0.34371818)" + style="fill:#333333;stroke:#333333"> + <path + sodipodi:nodetypes="ccccc" + id="path4877" + d="m 200.28386,146.79012 -0.17246,-2.76157 0.93775,-7.5e-4 -0.18613,2.75992 z" + style="display:inline;fill:#333333;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <rect + y="147.61362" + x="200.37903" + height="0.40427679" + width="0.40427679" + id="rect4879" + style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#333333;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" /> + </g> <rect - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" id="rect4416-5" width="6.6145797" - height="8.2020779" + height="6.3500004" x="210.04131" - y="142.26546" /> - <path - id="path4911" - d="m 211.23193,143.58837 h 4.49791" - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" - sodipodi:nodetypes="cc" /> - <path - sodipodi:nodetypes="cc" - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" - d="m 211.23193,144.91128 h 1.85208" - id="path4911-6" /> - <path - id="path4911-6-9" - d="m 211.23193,146.2342 h 2.91041" - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" - sodipodi:nodetypes="cc" /> - <path - id="path4911-6-2" - d="m 211.23193,147.55712 h 3.70416" - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" - sodipodi:nodetypes="cc" /> - <path - id="path4911-6-24" - d="m 211.23193,148.88003 h 1.5875" - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" - sodipodi:nodetypes="cc" /> + y="143.0592" /> + <g + id="g588" + transform="translate(-2.84e-6,-0.7937453)" + style="fill:none;stroke:#333333;stroke-width:0.3;stroke-dasharray:none"> + <path + sodipodi:nodetypes="cc" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + d="m 211.23193,144.91128 h 1.85208" + id="path4911-6" /> + <path + id="path4911-6-9" + d="m 211.23193,146.2342 h 2.91041" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + sodipodi:nodetypes="cc" /> + <path + id="path4911-6-2" + d="m 211.23193,147.55712 h 3.70416" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + sodipodi:nodetypes="cc" /> + <path + id="path4911-6-24" + d="m 211.23193,148.88003 h 1.5875" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + sodipodi:nodetypes="cc" /> + </g> <rect y="142.79462" x="134.37047" - height="7.1437511" + height="6.8744421" width="5.8208375" id="rect4416" - style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000004;stroke-width:0.274035;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" ry="0" /> <path id="path4422" d="m 135.56109,145.17587 h 3.43959" - style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#808080;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" sodipodi:nodetypes="cc" /> <path - style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#808080;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" d="m 135.56109,146.2342 h 3.43959" id="path4422-5" sodipodi:nodetypes="cc" /> <path id="path4422-5-3" d="m 135.56109,144.11753 h 3.43959" - style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#808080;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" sodipodi:nodetypes="cc" /> <path id="path4981" - d="m 135.56109,148.88003 h 0.52917" - style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ef2929;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 135.56109,148.61545 h 0.52917" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#4d4d4d;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" sodipodi:nodetypes="cc" /> <rect ry="1.0526322" @@ -585,7 +579,7 @@ height="5.2916737" width="8.2020826" id="rect5003" - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.275945;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" /> + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" /> <path transform="scale(1,-1)" sodipodi:arc-type="slice" @@ -597,13 +591,13 @@ sodipodi:cx="224.34216" sodipodi:type="arc" id="path5005" - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#1a1a1a;fill-opacity:1;stroke:#1a1a1a;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" d="m 225.48944,-147.45592 a 1.1472777,1.145589 0 0 1 -0.57364,0.99211 1.1472777,1.145589 0 0 1 -1.14728,0 1.1472777,1.145589 0 0 1 -0.57363,-0.99211 h 1.14727 z" /> <ellipse cy="145.33148" cx="224.37093" id="path5007" - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + style="font-variation-settings:normal;display:inline;fill:#ffffff;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" rx="0.69045985" ry="0.68944359" /> <rect @@ -612,68 +606,71 @@ height="1.0583328" width="0.5291636" id="rect5009" - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.26458333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" /> + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" /> <path id="path5026" d="m 226.57776,144.91128 h 2.38125" - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" sodipodi:nodetypes="cc" /> <path - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" d="m 226.57776,147.55712 h 2.38125" id="path5026-8" sodipodi:nodetypes="cc" /> <path id="path5026-8-9" d="m 226.57776,146.2342 h 2.38125" - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#d3b88b;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + style="font-variation-settings:normal;display:inline;fill:#e6e6e6;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" sodipodi:nodetypes="cc" /> <rect - style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" id="rect4591-6" - width="7.1437454" - height="5.2916617" - x="184.37672" + width="6.6209679" + height="4.2333322" + x="184.63811" y="145.17587" /> <path - style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" - d="m 184.50901,145.30816 3.4363,3.49952 3.44287,-3.49952" + style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + d="m 184.6413,145.17587 3.30401,3.175 3.31058,-3.175" id="path4718-8" sodipodi:nodetypes="ccc" /> <path sodipodi:nodetypes="cc" - style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.26458333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" - d="m 184.50901,150.33524 2.38125,-2.64583" + style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + d="m 184.6413,149.4092 2.11667,-2.11667" id="path4720-02" /> <path sodipodi:nodetypes="cc" id="path4720-0-1" - d="m 189.00693,147.68941 2.51354,2.77812" - style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> - <g - style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" - transform="translate(12.632137,-3.0427151)" - id="g5160-5"> - <path - sodipodi:nodetypes="cc" - id="path4562-1" - d="m 173.86125,146.3665 4.7625,0" - style="font-variation-settings:normal;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> - <circle - r="1.0585326" - cy="146.3665" - cx="172.9473" - id="path4580-1" - style="font-variation-settings:normal;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> - <rect - y="146.3665" - x="177.56541" - height="0.79374915" - width="1.0583351" - id="rect4582-0" - style="font-variation-settings:normal;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" - ry="0" /> - </g> + d="m 189.13922,147.29253 2.11667,2.11667" + style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" /> + <path + sodipodi:nodetypes="cc" + id="path4562-1" + d="m 186.49339,143.32378 4.7625,0" + style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" /> + <ellipse + cy="143.32379" + cx="185.43506" + id="path4580-1" + style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + rx="1.0583334" + ry="1.0583365" /> + <ellipse + cy="146.23419" + cx="147.34392" + id="path4580-1-3" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + rx="1.0494802" + ry="1.0583365" /> + <rect + y="143.32379" + x="190.19756" + height="0.79374915" + width="1.0583351" + id="rect4582-0" + style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + ry="0" /> <rect y="156.3499" x="158.61089" @@ -705,24 +702,24 @@ d="m 159.92289,156.55554 c 0.22393,1.07871 -0.88582,2.33292 -1.18652,3.0127" style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.528902;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> <path - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" - d="m 159.63818,143.58837 h 5.82084 c 0.36236,0.51491 0.88791,0.92004 1.19063,1.19062 v 2.91042 c -0.41669,0.23146 -0.94165,0.69981 -1.19063,1.19062 h -5.82084 c -0.18245,-0.47189 -0.81101,-0.96279 -1.19062,-1.19062 v -2.91042 c 0.43314,-0.26661 1.05089,-0.81378 1.19062,-1.19062 z" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + d="m 159.72965,143.58837 h 5.74465 c 0.36236,0.51491 0.87262,0.97596 1.17534,1.24654 v 2.77953 c -0.41669,0.23146 -0.93379,0.77478 -1.18277,1.26559 h -5.73765 c -0.18245,-0.47189 -0.90205,-1.03133 -1.28166,-1.25916 v -2.76821 c 0.43314,-0.26661 1.14236,-0.88745 1.28209,-1.26429 z" id="path5271" sodipodi:nodetypes="ccccccccc" /> <path - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" d="m 164.00381,143.72066 v 5.02708" id="path5602" sodipodi:nodetypes="cc" /> <path - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" d="m 159.63818,145.44045 h 2.91042" id="path5620" sodipodi:nodetypes="cc" /> <path id="path5620-3" d="m 159.63818,147.02795 h 2.91042" - style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" sodipodi:nodetypes="cc" /> <path style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.528902;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" @@ -730,15 +727,15 @@ id="path5243-0" sodipodi:nodetypes="cc" /> <path - style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#8e0b0b;stroke-width:0.26458333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" d="m 123.0911,145.49381 -1.36064,1.74783 -0.66542,-0.57233" id="path4309-3" sodipodi:nodetypes="ccc" /> <path sodipodi:nodetypes="ccc" id="path4309-3-6" - d="m 123.0911,148.08756 -1.36064,1.74783 -0.66542,-0.57233" - style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#8e0b0b;stroke-width:0.26458333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> + d="m 123.0911,147.55839 -1.36064,1.74783 -0.66542,-0.57233" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> <path d="m 241.31866,145.98907 0.32801,-0.0482 0.19241,0.0187 0.54261,0.24564 v 0.32246 l -0.54261,0.24564 -0.19241,0.0187 -0.32801,-0.0482 -0.15562,0.58079 0.30815,0.1223 0.15727,0.11239 0.34711,0.48404 -0.16124,0.27926 -0.59274,-0.0586 -0.17597,-0.08 -0.25999,-0.20573 -0.42517,0.42517 0.20573,0.25999 0.08,0.17597 0.0586,0.59274 -0.27926,0.16124 -0.48404,-0.34711 -0.11239,-0.15727 -0.1223,-0.30815 -0.58079,0.15562 0.0482,0.32801 -0.0187,0.19241 -0.24564,0.54261 h -0.32246 l -0.24564,-0.54261 -0.0187,-0.19241 0.0482,-0.32801 -0.58079,-0.15562 -0.1223,0.30815 -0.11239,0.15727 -0.48404,0.34711 -0.27926,-0.16124 0.0586,-0.59274 0.08,-0.17597 0.20573,-0.25999 -0.42517,-0.42517 -0.25999,0.20573 -0.17597,0.08 -0.59274,0.0586 -0.16124,-0.27926 0.34711,-0.48404 0.15727,-0.11239 0.30815,-0.1223 -0.15562,-0.58079 -0.32801,0.0482 -0.19241,-0.0187 -0.54261,-0.24564 v -0.32246 l 0.54261,-0.24564 0.19241,-0.0187 0.32801,0.0482 0.15562,-0.58079 -0.30815,-0.1223 -0.15727,-0.11239 -0.34711,-0.48404 0.16124,-0.27926 0.59274,0.0586 0.17597,0.08 0.25999,0.20573 0.42517,-0.42517 -0.20573,-0.25999 -0.08,-0.17597 -0.0586,-0.59274 0.27926,-0.16124 0.48404,0.34711 0.11239,0.15727 0.1223,0.30815 0.58079,-0.15562 -0.0482,-0.32801 0.0187,-0.19241 0.24564,-0.54261 h 0.32246 l 0.24564,0.54261 0.0187,0.19241 -0.0482,0.32801 0.58079,0.15562 0.1223,-0.30815 0.11239,-0.15727 0.48404,-0.34711 0.27926,0.16124 -0.0586,0.59274 -0.08,0.17597 -0.20573,0.25999 0.42517,0.42517 0.25999,-0.20573 0.17597,-0.08 0.59274,-0.0586 0.16124,0.27926 -0.34711,0.48404 -0.15727,0.11239 -0.30815,0.1223 z" style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:#cecece;fill-opacity:1;stroke:#000000;stroke-width:0.26458333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" @@ -751,27 +748,31 @@ cy="146.36647" r="1.4924972" /> <rect - style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#333333;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" id="rect1291" width="6.6145811" - height="6.879168" + height="6.4278169" x="95.74131" - y="142.79462" + y="143.0592" ry="0" /> - <rect - style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#4d4d4d;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" - id="rect1293" - width="2.1166694" - height="3.7041724" - x="97.990265" - y="144.38211" /> - <rect - style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:url(#linearGradient1316);fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" - id="rect1304" - width="2.1166694" - height="1.852089" - x="97.990265" - y="144.38211" /> + <g + id="g562" + transform="translate(0,0.03891575)"> + <rect + style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#4d4d4d;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + id="rect1293" + width="2.1166694" + height="3.7041724" + x="97.990265" + y="144.38211" /> + <rect + style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:url(#linearGradient1316);fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + id="rect1304" + width="2.1166694" + height="1.852089" + x="97.990265" + y="144.38211" /> + </g> </g> <g inkscape:groupmode="layer" @@ -1091,20 +1092,26 @@ x="259.91525" y="197.56163" /> </g> - <circle - r="3.4979" - cy="4.2333026" + <ellipse + cy="4.2333331" cx="42.333332" id="path4787-5" - style="font-variation-settings:normal;display:inline;opacity:0.999;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000" /> - <path - style="font-variation-settings:normal;display:inline;opacity:1;fill:#8e0b0b;fill-opacity:1;stroke:#8e0b0b;stroke-width:0.7;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" - d="m 40.471146,2.3711192 3.67137,3.67136" - id="path1916" - sodipodi:nodetypes="cc" /> - <path - style="font-variation-settings:normal;display:inline;opacity:1;fill:#8e0b0b;fill-opacity:1;stroke:#8e0b0b;stroke-width:0.7;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" - d="m 40.497636,6.0689792 3.67137,-3.67136" - id="path1916-9" - sodipodi:nodetypes="cc" /> + style="font-variation-settings:normal;display:inline;opacity:0.999;fill:none;fill-opacity:1;stroke:#343434;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + rx="3.307292" + ry="3.3072915" /> + <g + id="g619" + transform="matrix(0.69160555,0,0,0.69160555,13.051277,1.3014398)" + style="stroke-width:1.44591;stroke:#343434;stroke-opacity:1"> + <path + style="font-variation-settings:normal;display:inline;opacity:1;fill:#8e0b0b;fill-opacity:1;stroke:#343434;stroke-width:1.01214;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 40.471146,2.3711192 3.67137,3.67136" + id="path1916" + sodipodi:nodetypes="cc" /> + <path + style="font-variation-settings:normal;display:inline;opacity:1;fill:#8e0b0b;fill-opacity:1;stroke:#343434;stroke-width:1.01214;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 40.497636,6.0689792 3.67137,-3.67136" + id="path1916-9" + sodipodi:nodetypes="cc" /> + </g> </svg> diff --git a/graphics/src/preferences_white.svg b/graphics/src/preferences_white.svg index d06169801..333208197 100644 --- a/graphics/src/preferences_white.svg +++ b/graphics/src/preferences_white.svg @@ -39,6 +39,16 @@ y2="146.41513" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.96689231,0,0,1.0056282,3.2689299,-0.77321996)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient1314" + id="linearGradient5843" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.96689231,0,0,1.0056282,3.2689299,-0.77321996)" + x1="98.921783" + y1="144.93053" + x2="98.954666" + y2="146.41513" /> </defs> <sodipodi:namedview inkscape:pagecheckerboard="false" @@ -48,17 +58,17 @@ showguides="false" inkscape:window-maximized="1" inkscape:window-y="0" - inkscape:window-x="0" - inkscape:window-height="1016" + inkscape:window-x="1920" + inkscape:window-height="1043" inkscape:window-width="1920" showborder="true" showgrid="false" inkscape:document-rotation="0" - inkscape:current-layer="layer2" + inkscape:current-layer="layer5" inkscape:document-units="mm" - inkscape:cy="31.437497" - inkscape:cx="99.31249" - inkscape:zoom="8.0000008" + inkscape:cy="134.99999" + inkscape:cx="-308.99997" + inkscape:zoom="2.0000002" inkscape:pageshadow="2" inkscape:pageopacity="0" borderopacity="1.0" @@ -413,10 +423,389 @@ </g> </g> <g + inkscape:groupmode="layer" + id="layer5" + inkscape:label="black" + style="display:inline"> + <g + transform="matrix(1.1551658,0,0,1.1392711,-260.71863,-162.60249)" + id="g1161-7" + style="display:inline;stroke-width:0.230636;stroke-miterlimit:4;stroke-dasharray:none"> + <path + id="path1140-6" + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#cecece;fill-opacity:1;stroke:#000000;stroke-width:0.230636;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + inkscape:transform-center-y="0.82979223" + d="m 251.35104,149.66655 c -1.02681,-2.04753 -2.2451,-3.29197 -2.25653,-4.23965 -0.0447,-3.29377 4.44748,-3.29377 4.51308,0 0.006,1.11239 -1.27158,2.19212 -2.25655,4.23965 z" + sodipodi:nodetypes="cccc" + inkscape:transform-center-x="-2.8553886e-06" /> + <circle + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.230636;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + id="path1157-7" + cx="251.29668" + cy="145.24889" + r="0.97841752" /> + </g> + <rect + y="2.7392073" + x="-113.10938" + height="2.9104164" + width="1.5875053" + id="rect4197-3" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> + <path + sodipodi:open="true" + sodipodi:arc-type="arc" + sodipodi:end="0.62542306" + sodipodi:start="5.6119701" + sodipodi:ry="4.2965121" + sodipodi:rx="4.0784903" + sodipodi:cy="4.191524" + sodipodi:cx="-110.83997" + sodipodi:type="arc" + id="path4260-6" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + d="m -107.64624,1.5193597 a 4.0784903,4.2965121 0 0 1 0.11277,5.1875157" /> + <path + sodipodi:nodetypes="ccccc" + id="path4276-5" + d="m -111.52187,2.7392025 2.64583,-1.96509998 V 7.6340025 l -2.64583,-1.98438 z" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> + <path + sodipodi:nodetypes="cc" + id="path4285-6" + d="m -98.160413,2.2100425 h 3.43959" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> + <path + sodipodi:nodetypes="ccc" + id="path4309-39" + d="m -98.724163,1.3178525 -1.360637,1.74783 -0.66542,-0.57233" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> + <path + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m -98.160413,6.4433725 h 3.43959" + id="path4285-2-4" + sodipodi:nodetypes="cc" /> + <path + sodipodi:nodetypes="cc" + id="path4285-2-8-8" + d="m -98.160413,4.3267025 h 3.43959" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> + <path + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m -73.421873,4.0621225 h 4.89479" + id="path4562-12" + sodipodi:nodetypes="cc" /> + <rect + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + id="rect4582-9" + width="1.0583345" + height="0.79375434" + x="-69.71772" + y="4.0621142" + ry="4.4042968e-06" + rx="4.4042968e-06" /> + <rect + y="1.4162862" + x="-50.403126" + height="5.2916665" + width="7.672914" + id="rect4591-3" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> + <path + id="path4718-9" + d="m -50.403123,1.4162925 3.83653,3.57677 3.70409,-3.44448" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + sodipodi:nodetypes="ccc" /> + <path + id="path4720-08" + d="m -50.403123,6.7079525 2.76231,-2.86677" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + sodipodi:nodetypes="cc" /> + <path + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m -45.508333,3.9298325 2.77812,2.77812" + id="path4720-0-8" + sodipodi:nodetypes="cc" /> + <ellipse + id="path4787-50" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + ry="3.3072872" + rx="3.3072913" + cy="4.1944079" + cx="-21.166674" /> + <g + id="g582" + transform="translate(-221.73487,-141.82838)" + style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"> + <path + sodipodi:nodetypes="ccccc" + id="path4877-9" + d="m 200.28386,146.79012 -0.17246,-2.76157 0.93775,-7.5e-4 -0.18613,2.75992 z" + style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1" /> + <rect + y="147.61362" + x="200.37903" + height="0.40427679" + width="0.40427679" + id="rect4879-6" + style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1" /> + </g> + <rect + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + id="rect4416-5-3" + width="6.6145797" + height="6.3500004" + x="-11.773958" + y="0.88712668" /> + <g + id="g588" + transform="translate(-221.81526,-142.96583)" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"> + <path + sodipodi:nodetypes="cc" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 211.23193,144.91128 h 1.85208" + id="path4911-6-8" /> + <path + id="path4911-6-9-5" + d="m 211.23193,146.2342 h 2.91041" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + sodipodi:nodetypes="cc" /> + <path + id="path4911-6-2-6" + d="m 211.23193,147.55712 h 3.70416" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + sodipodi:nodetypes="cc" /> + <path + id="path4911-6-24-1" + d="m 211.23193,148.88003 h 1.5875" + style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + sodipodi:nodetypes="cc" /> + </g> + <rect + y="0.62253928" + x="-87.444794" + height="6.8744421" + width="5.8208375" + id="rect4416-1" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + ry="0" /> + <path + id="path4422-59" + d="m -86.254173,3.0037925 h 3.43959" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + sodipodi:nodetypes="cc" /> + <path + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m -86.254173,4.0621225 h 3.43959" + id="path4422-5-8" + sodipodi:nodetypes="cc" /> + <path + id="path4422-5-3-4" + d="m -86.254173,1.9454525 h 3.43959" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + sodipodi:nodetypes="cc" /> + <path + id="path4981-8" + d="m -86.254173,6.4433725 h 0.52917" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + sodipodi:nodetypes="cc" /> + <rect + ry="1.0526322" + rx="1.0333338" + y="1.4162862" + x="0.132292" + height="5.2916737" + width="8.2020826" + id="rect5003-1" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> + <path + transform="scale(1,-1)" + sodipodi:arc-type="slice" + sodipodi:end="3.1415927" + sodipodi:start="0" + sodipodi:ry="1.145589" + sodipodi:rx="1.1472777" + sodipodi:cy="-5.2838397" + sodipodi:cx="2.5268996" + sodipodi:type="arc" + id="path5005-0" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 3.6741773,-5.2838397 a 1.1472777,1.145589 0 0 1 -0.5736389,0.9921092 1.1472777,1.145589 0 0 1 -1.1472777,0 1.1472777,1.145589 0 0 1 -0.5736388,-0.9921092 h 1.1472777 z" /> + <ellipse + cy="3.1594048" + cx="2.5556624" + id="path5007-3" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + rx="0.69045985" + ry="0.68944359" /> + <rect + y="0.62253928" + x="4.1010423" + height="1.0583328" + width="0.5291636" + id="rect5009-0" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> + <path + id="path5026-4" + d="m 4.7624966,2.7392025 h 2.38125" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + sodipodi:nodetypes="cc" /> + <path + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 4.7624966,5.3850425 h 2.38125" + id="path5026-8-4" + sodipodi:nodetypes="cc" /> + <path + id="path5026-8-9-4" + d="m 4.7624966,4.0621225 h 2.38125" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + sodipodi:nodetypes="cc" /> + <rect + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + id="rect4591-6-4" + width="6.6209679" + height="4.2333322" + x="-37.177155" + y="3.0037956" /> + <path + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m -37.173963,3.0037925 3.30401,3.175 3.31058,-3.175" + id="path4718-8-7" + sodipodi:nodetypes="ccc" /> + <path + sodipodi:nodetypes="cc" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m -37.173963,7.2371225 2.11667,-2.11667" + id="path4720-02-6" /> + <path + sodipodi:nodetypes="cc" + id="path4720-0-1-3" + d="m -32.676043,5.1204525 2.11667,2.11667" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> + <path + sodipodi:nodetypes="cc" + id="path4562-1-1" + d="m -35.321873,1.1517025 h 4.7625" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> + <ellipse + cy="1.1517141" + cx="-36.380203" + id="path4580-1-7" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + rx="1.0583334" + ry="1.0583365" /> + <ellipse + cy="4.0621142" + cx="-74.471344" + id="path4580-1-3" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + rx="1.0494802" + ry="1.0583365" /> + <rect + y="1.1517141" + x="-31.617708" + height="0.79374915" + width="1.0583351" + id="rect4582-0-5" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + ry="0" /> + <path + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m -62.085613,1.4162925 h 5.74465 c 0.36236,0.51491 0.87262,0.97596 1.17534,1.24654 v 2.77953 c -0.41669,0.23146 -0.93379,0.77478 -1.18277,1.26559 h -5.73765 c -0.18245,-0.47189 -0.90205,-1.03133 -1.28166,-1.25916 v -2.76821 c 0.43314,-0.26661 1.14236,-0.88745 1.28209,-1.26429 z" + id="path5271-9" + sodipodi:nodetypes="ccccccccc" /> + <path + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m -57.811453,1.5485825 v 5.02708" + id="path5602-6" + sodipodi:nodetypes="cc" /> + <path + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m -62.177083,3.2683725 h 2.91042" + id="path5620-2" + sodipodi:nodetypes="cc" /> + <path + id="path5620-3-1" + d="m -62.177083,4.8558725 h 2.91042" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + sodipodi:nodetypes="cc" /> + <path + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m -98.724163,3.3217325 -1.360637,1.74783 -0.66542,-0.57233" + id="path4309-3-7" + sodipodi:nodetypes="ccc" /> + <path + sodipodi:nodetypes="ccc" + id="path4309-3-6-8" + d="m -98.724163,5.3863125 -1.360637,1.74783 -0.66542,-0.57233" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" /> + <path + d="m 19.503397,3.8169925 0.32801,-0.0482 0.19241,0.0187 0.54261,0.24564 v 0.32246 l -0.54261,0.24564 -0.19241,0.0187 -0.32801,-0.0482 -0.15562,0.58079 0.30815,0.1223 0.15727,0.11239 0.34711,0.48404 -0.16124,0.27926 -0.59274,-0.0586 -0.17597,-0.08 -0.25999,-0.20573 -0.42517,0.42517 0.20573,0.25999 0.08,0.17597 0.0586,0.59274 -0.27926,0.16124 -0.48404,-0.34711 -0.11239,-0.15727 -0.1223,-0.30815 -0.58079,0.15562 0.0482,0.32801 -0.0187,0.19241 -0.24564,0.54261 h -0.32246 l -0.24564,-0.54261 -0.0187,-0.19241 0.0482,-0.32801 -0.58079,-0.15562 -0.1223,0.30815 -0.11239,0.15727 -0.48404,0.34711 -0.27926,-0.16124 0.0586,-0.59274 0.08,-0.17597 0.20573,-0.25999 -0.42517,-0.42517 -0.25999,0.20573 -0.17597,0.08 -0.59274,0.0586 -0.16124,-0.27926 0.34711,-0.48404 0.15727,-0.11239 0.30815,-0.1223 -0.15562,-0.58079 -0.32801,0.0482 -0.19241,-0.0187 -0.54261,-0.24564 v -0.32246 l 0.54261,-0.24564 0.19241,-0.0187 0.32801,0.0482 0.15562,-0.58079 -0.30815,-0.1223 -0.15727,-0.11239 -0.34711,-0.48404 0.16124,-0.27926 0.59274,0.0586 0.17597,0.08 0.25999,0.20573 0.42517,-0.42517 -0.20573,-0.25999 -0.08,-0.17597 -0.0586,-0.59274 0.27926,-0.16123998 0.48404,0.34710998 0.11239,0.15727 0.1223,0.30815 0.58079,-0.15562 -0.0482,-0.32801 0.0187,-0.19241 0.24564,-0.54260998 h 0.32246 l 0.24564,0.54260998 0.0187,0.19241 -0.0482,0.32801 0.58079,0.15562 0.1223,-0.30815 0.11239,-0.15727 0.48404,-0.34710998 0.27926,0.16123998 -0.0586,0.59274 -0.08,0.17597 -0.20573,0.25999 0.42517,0.42517 0.25999,-0.20573 0.17597,-0.08 0.59274,-0.0586 0.16124,0.27926 -0.34711,0.48404 -0.15727,0.11239 -0.30815,0.1223 z" + style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#cecece;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + id="path4521-5" + inkscape:connector-curvature="0" /> + <circle + style="display:inline;fill:#f2f2f2;stroke:#000000;stroke-width:0.249;stroke-miterlimit:4;stroke-dasharray:none" + id="path4523-7" + cx="16.933332" + cy="4.1943927" + r="1.4924972" /> + <rect + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + id="rect1291-4" + width="6.6145811" + height="6.4278169" + x="-126.07395" + y="0.88712835" + ry="0" /> + <g + id="g562" + transform="translate(-221.81526,-142.13316)" + style="display:inline"> + <rect + style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#4d4d4d;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + id="rect1293-1" + width="2.1166694" + height="3.7041724" + x="97.990265" + y="144.38211" /> + <rect + style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:url(#linearGradient5843);fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + id="rect1304-8" + width="2.1166694" + height="1.852089" + x="97.990265" + y="144.38211" /> + </g> + <ellipse + cy="4.1944213" + cx="42.333328" + id="path4787-5-5" + style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + rx="3.307292" + ry="3.3072915" /> + <g + id="g619" + transform="matrix(0.69160555,0,0,0.69160555,13.051273,1.2625285)" + style="stroke:#ffffff;stroke-width:1.44591;stroke-opacity:1"> + <path + style="font-variation-settings:normal;display:inline;opacity:1;fill:#8e0b0b;fill-opacity:1;stroke:#ffffff;stroke-width:1.01214;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 40.471146,2.3711192 3.67137,3.67136" + id="path1916-97" + sodipodi:nodetypes="cc" /> + <path + style="font-variation-settings:normal;display:inline;opacity:1;fill:#8e0b0b;fill-opacity:1;stroke:#ffffff;stroke-width:1.01214;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 40.497636,6.0689792 3.67137,-3.67136" + id="path1916-9-5" + sodipodi:nodetypes="cc" /> + </g> + </g> + <g inkscape:label="New" id="layer2" inkscape:groupmode="layer" - style="display:inline" + style="display:none" transform="translate(-221.81526,-142.13316)"> <rect y="144.91129" @@ -3,7 +3,7 @@ # e.g. --run_tests=foo set -e -PRIVATE_GIT="59b62615a48a1f3a70e9c028b92dfba75c1719ba" +PRIVATE_GIT="f4b0c41b263a17cf33edae7565f16bd21eb80b65" if [ "$1" == "--check" ]; then shift 1 diff --git a/src/lib/image.cc b/src/lib/image.cc index 2588d9f21..2167918f8 100644 --- a/src/lib/image.cc +++ b/src/lib/image.cc @@ -339,6 +339,10 @@ Image::scale (dcp::Size out_size, dcp::YUVToRGB yuv_to_rgb, AVPixelFormat out_fo the input image alignment is not PADDED. */ DCPOMATIC_ASSERT (alignment() == Alignment::PADDED); + DCPOMATIC_ASSERT(size().width > 0); + DCPOMATIC_ASSERT(size().height > 0); + DCPOMATIC_ASSERT(out_size.width > 0); + DCPOMATIC_ASSERT(out_size.height > 0); auto scaled = make_shared<Image>(out_format, out_size, out_alignment); auto scale_context = sws_getContext ( @@ -347,6 +351,8 @@ Image::scale (dcp::Size out_size, dcp::YUVToRGB yuv_to_rgb, AVPixelFormat out_fo (fast ? SWS_FAST_BILINEAR : SWS_BICUBIC) | SWS_ACCURATE_RND, 0, 0, 0 ); + DCPOMATIC_ASSERT(scale_context); + DCPOMATIC_ASSERT (yuv_to_rgb < dcp::YUVToRGB::COUNT); EnumIndexedVector<int, dcp::YUVToRGB> lut; lut[dcp::YUVToRGB::REC601] = SWS_CS_ITU601; @@ -642,7 +648,8 @@ struct TargetParams }; -struct OtherParams +/** Parameters of the other image (the one being blended onto the target) when target and other are RGB */ +struct OtherRGBParams { int start_x; int start_y; @@ -661,9 +668,24 @@ struct OtherParams }; +/** Parameters of the other image (the one being blended onto the target) when target and other are YUV */ +struct OtherYUVParams +{ + int start_x; + int start_y; + dcp::Size size; + uint8_t* const* data; + int const* stride; + + uint8_t* const* alpha_data; + int const* alpha_stride; + int alpha_bpp; +}; + + template <class OtherType> void -alpha_blend_onto_rgb24(TargetParams const& target, OtherParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_divisor) +alpha_blend_onto_rgb24(TargetParams const& target, OtherRGBParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_divisor) { /* Going onto RGB24. First byte is red, second green, third blue */ auto const alpha_divisor = other.alpha_divisor(); @@ -685,7 +707,7 @@ alpha_blend_onto_rgb24(TargetParams const& target, OtherParams const& other, int template <class OtherType> void -alpha_blend_onto_bgra(TargetParams const& target, OtherParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_divisor) +alpha_blend_onto_bgra(TargetParams const& target, OtherRGBParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_divisor) { auto const alpha_divisor = other.alpha_divisor(); for (int ty = target.start_y, oy = other.start_y; ty < target.size.height && oy < other.size.height; ++ty, ++oy) { @@ -707,7 +729,7 @@ alpha_blend_onto_bgra(TargetParams const& target, OtherParams const& other, int template <class OtherType> void -alpha_blend_onto_rgba(TargetParams const& target, OtherParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_divisor) +alpha_blend_onto_rgba(TargetParams const& target, OtherRGBParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_divisor) { auto const alpha_divisor = other.alpha_divisor(); for (int ty = target.start_y, oy = other.start_y; ty < target.size.height && oy < other.size.height; ++ty, ++oy) { @@ -729,7 +751,7 @@ alpha_blend_onto_rgba(TargetParams const& target, OtherParams const& other, int template <class OtherType> void -alpha_blend_onto_rgb48le(TargetParams const& target, OtherParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_scale) +alpha_blend_onto_rgb48le(TargetParams const& target, OtherRGBParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_scale) { auto const alpha_divisor = other.alpha_divisor(); for (int ty = target.start_y, oy = other.start_y; ty < target.size.height && oy < other.size.height; ++ty, ++oy) { @@ -750,7 +772,7 @@ alpha_blend_onto_rgb48le(TargetParams const& target, OtherParams const& other, i template <class OtherType> void -alpha_blend_onto_xyz12le(TargetParams const& target, OtherParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_divisor) +alpha_blend_onto_xyz12le(TargetParams const& target, OtherRGBParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_divisor) { auto const alpha_divisor = other.alpha_divisor(); auto conv = dcp::ColourConversion::srgb_to_xyz(); @@ -788,7 +810,7 @@ alpha_blend_onto_xyz12le(TargetParams const& target, OtherParams const& other, i static void -alpha_blend_onto_yuv420p(TargetParams const& target, OtherParams const& other, uint8_t* const* alpha_data, int const* alpha_stride) +alpha_blend_onto_yuv420p(TargetParams const& target, OtherYUVParams const& other, std::function<float (uint8_t* data)> get_alpha) { auto const ts = target.size; auto const os = other.size; @@ -801,9 +823,9 @@ alpha_blend_onto_yuv420p(TargetParams const& target, OtherParams const& other, u uint8_t* oY = other.data[0] + (oy * other.stride[0]) + other.start_x; uint8_t* oU = other.data[1] + (hoy * other.stride[1]) + other.start_x / 2; uint8_t* oV = other.data[2] + (hoy * other.stride[2]) + other.start_x / 2; - uint8_t* alpha = alpha_data[0] + (oy * alpha_stride[0]) + other.start_x * 4; + uint8_t* alpha = other.alpha_data[0] + (oy * other.alpha_stride[0]) + other.start_x * other.alpha_bpp; for (int tx = target.start_x, ox = other.start_x; tx < ts.width && ox < os.width; ++tx, ++ox) { - float const a = float(alpha[3]) / 255; + float const a = get_alpha(alpha); *tY = *oY * a + *tY * (1 - a); *tU = *oU * a + *tU * (1 - a); *tV = *oV * a + *tV * (1 - a); @@ -817,7 +839,7 @@ alpha_blend_onto_yuv420p(TargetParams const& target, OtherParams const& other, u ++oU; ++oV; } - alpha += 4; + alpha += other.alpha_bpp; } } } @@ -825,7 +847,7 @@ alpha_blend_onto_yuv420p(TargetParams const& target, OtherParams const& other, u static void -alpha_blend_onto_yuv420p10(TargetParams const& target, OtherParams const& other, uint8_t* const* alpha_data, int const* alpha_stride) +alpha_blend_onto_yuv420p10(TargetParams const& target, OtherYUVParams const& other, std::function<float (uint8_t* data)> get_alpha) { auto const ts = target.size; auto const os = other.size; @@ -838,9 +860,9 @@ alpha_blend_onto_yuv420p10(TargetParams const& target, OtherParams const& other, uint16_t* oY = reinterpret_cast<uint16_t*>(other.data[0] + (oy * other.stride[0])) + other.start_x; uint16_t* oU = reinterpret_cast<uint16_t*>(other.data[1] + (hoy * other.stride[1])) + other.start_x / 2; uint16_t* oV = reinterpret_cast<uint16_t*>(other.data[2] + (hoy * other.stride[2])) + other.start_x / 2; - uint8_t* alpha = alpha_data[0] + (oy * alpha_stride[0]) + other.start_x * 4; + uint8_t* alpha = other.alpha_data[0] + (oy * other.alpha_stride[0]) + other.start_x * other.alpha_bpp; for (int tx = target.start_x, ox = other.start_x; tx < ts.width && ox < os.width; ++tx, ++ox) { - float const a = float(alpha[3]) / 255; + float const a = get_alpha(alpha); *tY = *oY * a + *tY * (1 - a); *tU = *oU * a + *tU * (1 - a); *tV = *oV * a + *tV * (1 - a); @@ -854,7 +876,7 @@ alpha_blend_onto_yuv420p10(TargetParams const& target, OtherParams const& other, ++oU; ++oV; } - alpha += 4; + alpha += other.alpha_bpp; } } } @@ -862,7 +884,7 @@ alpha_blend_onto_yuv420p10(TargetParams const& target, OtherParams const& other, static void -alpha_blend_onto_yuv422p9or10le(TargetParams const& target, OtherParams const& other, uint8_t* const* alpha_data, int const* alpha_stride) +alpha_blend_onto_yuv422p9or10le(TargetParams const& target, OtherYUVParams const& other, std::function<float (uint8_t* data)> get_alpha) { auto const ts = target.size; auto const os = other.size; @@ -873,9 +895,9 @@ alpha_blend_onto_yuv422p9or10le(TargetParams const& target, OtherParams const& o uint16_t* oY = reinterpret_cast<uint16_t*>(other.data[0] + (oy * other.stride[0])) + other.start_x; uint16_t* oU = reinterpret_cast<uint16_t*>(other.data[1] + (oy * other.stride[1])) + other.start_x / 2; uint16_t* oV = reinterpret_cast<uint16_t*>(other.data[2] + (oy * other.stride[2])) + other.start_x / 2; - uint8_t* alpha = alpha_data[0] + (oy * alpha_stride[0]) + other.start_x * 4; + uint8_t* alpha = other.alpha_data[0] + (oy * other.alpha_stride[0]) + other.start_x * other.alpha_bpp; for (int tx = target.start_x, ox = other.start_x; tx < ts.width && ox < os.width; ++tx, ++ox) { - float const a = float(alpha[3]) / 255; + float const a = get_alpha(alpha); *tY = *oY * a + *tY * (1 - a); *tU = *oU * a + *tU * (1 - a); *tV = *oV * a + *tV * (1 - a); @@ -889,7 +911,38 @@ alpha_blend_onto_yuv422p9or10le(TargetParams const& target, OtherParams const& o ++oU; ++oV; } - alpha += 4; + alpha += other.alpha_bpp; + } + } +} + + +static +void +alpha_blend_onto_yuv444p9or10le(TargetParams const& target, OtherYUVParams const& other, std::function<float (uint8_t* data)> get_alpha) +{ + auto const ts = target.size; + auto const os = other.size; + for (int ty = target.start_y, oy = other.start_y; ty < ts.height && oy < os.height; ++ty, ++oy) { + uint16_t* tY = reinterpret_cast<uint16_t*>(target.data[0] + (ty * target.stride[0])) + target.start_x; + uint16_t* tU = reinterpret_cast<uint16_t*>(target.data[1] + (ty * target.stride[1])) + target.start_x; + uint16_t* tV = reinterpret_cast<uint16_t*>(target.data[2] + (ty * target.stride[2])) + target.start_x; + uint16_t* oY = reinterpret_cast<uint16_t*>(other.data[0] + (oy * other.stride[0])) + other.start_x; + uint16_t* oU = reinterpret_cast<uint16_t*>(other.data[1] + (oy * other.stride[1])) + other.start_x; + uint16_t* oV = reinterpret_cast<uint16_t*>(other.data[2] + (oy * other.stride[2])) + other.start_x; + uint8_t* alpha = other.alpha_data[0] + (oy * other.alpha_stride[0]) + other.start_x * other.alpha_bpp; + for (int tx = target.start_x, ox = other.start_x; tx < ts.width && ox < os.width; ++tx, ++ox) { + float const a = get_alpha(alpha); + *tY = *oY * a + *tY * (1 - a); + *tU = *oU * a + *tU * (1 - a); + *tV = *oV * a + *tV * (1 - a); + ++tY; + ++oY; + ++tU; + ++tV; + ++oU; + ++oV; + alpha += other.alpha_bpp; } } } @@ -932,7 +985,7 @@ Image::alpha_blend (shared_ptr<const Image> other, Position<int> position) 0 }; - OtherParams other_params = { + OtherRGBParams other_rgb_params = { start_ox, start_oy, other->size(), @@ -941,6 +994,17 @@ Image::alpha_blend (shared_ptr<const Image> other, Position<int> position) other->pixel_format() == AV_PIX_FMT_RGBA64BE ? 8 : 4 }; + OtherYUVParams other_yuv_params = { + start_ox, + start_oy, + other->size(), + other->data(), + other->stride(), + nullptr, + nullptr, + other->pixel_format() == AV_PIX_FMT_RGBA64BE ? 8 : 4 + }; + auto byteswap = [](uint16_t* p) { return (*p >> 8) | ((*p & 0xff) << 8); }; @@ -949,70 +1013,111 @@ Image::alpha_blend (shared_ptr<const Image> other, Position<int> position) return *p; }; + auto get_alpha_64be = [](uint8_t* p) { + return ((static_cast<int16_t>(p[6]) << 8) | p[7]) / 65535.0f; + }; + + auto get_alpha_byte = [](uint8_t* p) { + return p[3] / 255.0f; + }; + switch (_pixel_format) { case AV_PIX_FMT_RGB24: target_params.bpp = 3; if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) { - alpha_blend_onto_rgb24<uint16_t>(target_params, other_params, red, blue, byteswap, 256); + alpha_blend_onto_rgb24<uint16_t>(target_params, other_rgb_params, red, blue, byteswap, 256); } else { - alpha_blend_onto_rgb24<uint8_t>(target_params, other_params, red, blue, pass, 1); + alpha_blend_onto_rgb24<uint8_t>(target_params, other_rgb_params, red, blue, pass, 1); } break; case AV_PIX_FMT_BGRA: target_params.bpp = 4; if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) { - alpha_blend_onto_bgra<uint16_t>(target_params, other_params, red, blue, byteswap, 256); + alpha_blend_onto_bgra<uint16_t>(target_params, other_rgb_params, red, blue, byteswap, 256); } else { - alpha_blend_onto_bgra<uint8_t>(target_params, other_params, red, blue, pass, 1); + alpha_blend_onto_bgra<uint8_t>(target_params, other_rgb_params, red, blue, pass, 1); } break; case AV_PIX_FMT_RGBA: target_params.bpp = 4; if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) { - alpha_blend_onto_rgba<uint16_t>(target_params, other_params, red, blue, byteswap, 256); + alpha_blend_onto_rgba<uint16_t>(target_params, other_rgb_params, red, blue, byteswap, 256); } else { - alpha_blend_onto_rgba<uint8_t>(target_params, other_params, red, blue, pass, 1); + alpha_blend_onto_rgba<uint8_t>(target_params, other_rgb_params, red, blue, pass, 1); } break; case AV_PIX_FMT_RGB48LE: target_params.bpp = 6; if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) { - alpha_blend_onto_rgb48le<uint16_t>(target_params, other_params, red, blue, byteswap, 1); + alpha_blend_onto_rgb48le<uint16_t>(target_params, other_rgb_params, red, blue, byteswap, 1); } else { - alpha_blend_onto_rgb48le<uint8_t>(target_params, other_params, red, blue, pass, 256); + alpha_blend_onto_rgb48le<uint8_t>(target_params, other_rgb_params, red, blue, pass, 256); } break; case AV_PIX_FMT_XYZ12LE: target_params.bpp = 6; if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) { - alpha_blend_onto_xyz12le<uint16_t>(target_params, other_params, red, blue, byteswap, 256); + alpha_blend_onto_xyz12le<uint16_t>(target_params, other_rgb_params, red, blue, byteswap, 256); } else { - alpha_blend_onto_xyz12le<uint8_t>(target_params, other_params, red, blue, pass, 1); + alpha_blend_onto_xyz12le<uint8_t>(target_params, other_rgb_params, red, blue, pass, 1); } break; case AV_PIX_FMT_YUV420P: { auto yuv = other->convert_pixel_format (dcp::YUVToRGB::REC709, _pixel_format, Alignment::COMPACT, false); - other_params.data = yuv->data(); - other_params.stride = yuv->stride(); - alpha_blend_onto_yuv420p(target_params, other_params, other->data(), other->stride()); + other_yuv_params.data = yuv->data(); + other_yuv_params.stride = yuv->stride(); + other_yuv_params.alpha_data = other->data(); + other_yuv_params.alpha_stride = other->stride(); + if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) { + alpha_blend_onto_yuv420p(target_params, other_yuv_params, get_alpha_64be); + } else { + alpha_blend_onto_yuv420p(target_params, other_yuv_params, get_alpha_byte); + } break; } case AV_PIX_FMT_YUV420P10: { auto yuv = other->convert_pixel_format (dcp::YUVToRGB::REC709, _pixel_format, Alignment::COMPACT, false); - other_params.data = yuv->data(); - other_params.stride = yuv->stride(); - alpha_blend_onto_yuv420p10(target_params, other_params, other->data(), other->stride()); + other_yuv_params.data = yuv->data(); + other_yuv_params.stride = yuv->stride(); + other_yuv_params.alpha_data = other->data(); + other_yuv_params.alpha_stride = other->stride(); + if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) { + alpha_blend_onto_yuv420p10(target_params, other_yuv_params, get_alpha_64be); + } else { + alpha_blend_onto_yuv420p10(target_params, other_yuv_params, get_alpha_byte); + } break; } case AV_PIX_FMT_YUV422P9LE: case AV_PIX_FMT_YUV422P10LE: { auto yuv = other->convert_pixel_format (dcp::YUVToRGB::REC709, _pixel_format, Alignment::COMPACT, false); - other_params.data = yuv->data(); - other_params.stride = yuv->stride(); - alpha_blend_onto_yuv422p9or10le(target_params, other_params, other->data(), other->stride()); + other_yuv_params.data = yuv->data(); + other_yuv_params.stride = yuv->stride(); + other_yuv_params.alpha_data = other->data(); + other_yuv_params.alpha_stride = other->stride(); + if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) { + alpha_blend_onto_yuv422p9or10le(target_params, other_yuv_params, get_alpha_64be); + } else { + alpha_blend_onto_yuv422p9or10le(target_params, other_yuv_params, get_alpha_byte); + } + break; + } + case AV_PIX_FMT_YUV444P9LE: + case AV_PIX_FMT_YUV444P10LE: + { + auto yuv = other->convert_pixel_format (dcp::YUVToRGB::REC709, _pixel_format, Alignment::COMPACT, false); + other_yuv_params.data = yuv->data(); + other_yuv_params.stride = yuv->stride(); + other_yuv_params.alpha_data = other->data(); + other_yuv_params.alpha_stride = other->stride(); + if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) { + alpha_blend_onto_yuv444p9or10le(target_params, other_yuv_params, get_alpha_64be); + } else { + alpha_blend_onto_yuv444p9or10le(target_params, other_yuv_params, get_alpha_byte); + } break; } default: diff --git a/src/lib/player.cc b/src/lib/player.cc index 9debbaf7b..888c56aec 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -912,7 +912,7 @@ Player::open_subtitles_for_frame (DCPTime time) const /* Bitmap subtitles */ for (auto i: j.bitmap) { - if (!i.image) { + if (!i.image || i.image->size().width == 0 || i.image->size().height == 0) { continue; } @@ -933,7 +933,10 @@ Player::open_subtitles_for_frame (DCPTime time) const /* String subtitles (rendered to an image) */ if (!j.string.empty()) { auto s = render_text(j.string, _video_container_size, time, vfr); - copy (s.begin(), s.end(), back_inserter (captions)); + copy_if(s.begin(), s.end(), back_inserter(captions), [](PositionImage const& image) { + return image.image->size().width && image.image->size().height; + }); + } } diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc index d3efd1f97..024422965 100644 --- a/src/tools/dcpomatic.cc +++ b/src/tools/dcpomatic.cc @@ -1375,7 +1375,7 @@ private: add_item (edit, _("Select all\tShift-Ctrl-A"), ID_edit_select_all, NEEDS_FILM); #ifdef __WXOSX__ - add_item (_file_menu, _("&Preferences...\tCtrl-P"), wxID_PREFERENCES, ALWAYS); + add_item(_file_menu, _("&Preferences...\tCtrl-,"), wxID_PREFERENCES, ALWAYS); #else edit->AppendSeparator (); /* [Shortcut] Ctrl+P:Open preferences window */ diff --git a/src/tools/dcpomatic_batch.cc b/src/tools/dcpomatic_batch.cc index df49acfac..1e383b39a 100644 --- a/src/tools/dcpomatic_batch.cc +++ b/src/tools/dcpomatic_batch.cc @@ -93,7 +93,7 @@ setup_menu (wxMenuBar* m) #endif #ifdef DCPOMATIC_OSX - file->Append (wxID_PREFERENCES, _("&Preferences...\tCtrl-P")); + file->Append(wxID_PREFERENCES, _("&Preferences...\tCtrl-,")); #else auto edit = new wxMenu; edit->Append (wxID_PREFERENCES, _("&Preferences...\tCtrl-P")); diff --git a/src/tools/dcpomatic_kdm.cc b/src/tools/dcpomatic_kdm.cc index 775349d54..9adef0ab0 100644 --- a/src/tools/dcpomatic_kdm.cc +++ b/src/tools/dcpomatic_kdm.cc @@ -294,7 +294,7 @@ private: #endif #ifdef __WXOSX__ - file->Append (wxID_PREFERENCES, _("&Preferences...\tCtrl-P")); + file->Append(wxID_PREFERENCES, _("&Preferences...\tCtrl-,")); #else wxMenu* edit = new wxMenu; edit->Append (wxID_PREFERENCES, _("&Preferences...\tCtrl-P")); diff --git a/src/tools/dcpomatic_player.cc b/src/tools/dcpomatic_player.cc index feac2a915..9c7522bc5 100644 --- a/src/tools/dcpomatic_player.cc +++ b/src/tools/dcpomatic_player.cc @@ -575,7 +575,7 @@ private: #endif #ifdef __WXOSX__ - auto prefs = _file_menu->Append (wxID_PREFERENCES, _("&Preferences...\tCtrl-P")); + auto prefs = _file_menu->Append(wxID_PREFERENCES, _("&Preferences...\tCtrl-,")); #else auto edit = new wxMenu; auto prefs = edit->Append (wxID_PREFERENCES, _("&Preferences...\tCtrl-P")); diff --git a/src/tools/dcpomatic_playlist.cc b/src/tools/dcpomatic_playlist.cc index e2f2536db..a373d81e6 100644 --- a/src/tools/dcpomatic_playlist.cc +++ b/src/tools/dcpomatic_playlist.cc @@ -569,7 +569,7 @@ private: { auto file = new wxMenu; #ifdef __WXOSX__ - file->Append (wxID_PREFERENCES, _("&Preferences...\tCtrl-P")); + file->Append(wxID_PREFERENCES, _("&Preferences...\tCtrl-,")); file->Append (wxID_EXIT, _("&Exit")); #else file->Append (wxID_EXIT, _("&Quit")); diff --git a/src/wx/content_menu.cc b/src/wx/content_menu.cc index 78b6469a0..700683bd2 100644 --- a/src/wx/content_menu.cc +++ b/src/wx/content_menu.cc @@ -137,7 +137,7 @@ ContentMenu::popup (weak_ptr<Film> film, ContentList c, TimelineContentViewList _views = v; int const N = _cpl_menu->GetMenuItemCount(); - for (int i = 1; i <= N; ++i) { + for (int i = DCPOMATIC_CPL_MENU; i < DCPOMATIC_CPL_MENU + N; ++i) { _cpl_menu->Delete (i); } diff --git a/src/wx/full_config_dialog.cc b/src/wx/full_config_dialog.cc index c24871f39..66dbae63e 100644 --- a/src/wx/full_config_dialog.cc +++ b/src/wx/full_config_dialog.cc @@ -1938,7 +1938,7 @@ create_full_config_dialog () the containing window doesn't shrink too much when we select those panels. This is obviously an unpleasant hack. */ - wxSize ps = wxSize (750, -1); + wxSize ps = wxSize(900, -1); int const border = 16; #else wxSize ps = wxSize (-1, -1); diff --git a/src/wx/supporters.cc b/src/wx/supporters.cc index e4e5cb07a..beb4d967a 100644 --- a/src/wx/supporters.cc +++ b/src/wx/supporters.cc @@ -160,6 +160,7 @@ supported_by.Add (wxT ("Marco Valerio Caminiti")); supported_by.Add (wxT ("Lachlan Campbell")); supported_by.Add (wxT ("Edward Campos")); supported_by.Add (wxT ("Luis Canau")); +supported_by.Add (wxT ("Francesco Cappellini")); supported_by.Add (wxT ("Paul Carey")); supported_by.Add (wxT ("P. G. Carmona")); supported_by.Add (wxT ("Kevin Carney")); @@ -203,7 +204,7 @@ supported_by.Add (wxT ("Grand Illusion Cinema")); supported_by.Add (wxT ("Flathead Lake International Cinemafest")); supported_by.Add (wxT ("Leduc Cinemas")); supported_by.Add (wxT ("Cinematic")); -supported_by.Add (wxT ("Zach & Zach Cinérgie")); +supported_by.Add (wxT ("Zach && Zach Cinérgie")); supported_by.Add (wxT ("Cinestudio")); supported_by.Add (wxT ("Cinema Clarici")); supported_by.Add (wxT ("Berendina Clason")); @@ -231,7 +232,7 @@ supported_by.Add (wxT ("Tom Cowan")); supported_by.Add (wxT ("Jill Cox")); supported_by.Add (wxT ("Stefano Cravero")); supported_by.Add (wxT ("Phillip Crawford")); -supported_by.Add (wxT ("Root & Rust Creative")); +supported_by.Add (wxT ("Root && Rust Creative")); supported_by.Add (wxT ("Caribbean Creativity")); supported_by.Add (wxT ("Ailis Cross-Gorman")); supported_by.Add (wxT ("Rodrigo Hernández Cruz")); @@ -362,6 +363,7 @@ supported_by.Add (wxT ("KulturKino Feuchtwangen")); supported_by.Add (wxT ("Lorenzo Fiale")); supported_by.Add (wxT ("Dean Fick")); supported_by.Add (wxT ("Marc Fiebig")); +supported_by.Add (wxT ("Moshel Film")); supported_by.Add (wxT ("Juli Film")); supported_by.Add (wxT ("Pató Film")); supported_by.Add (wxT ("Hoppe Film")); @@ -370,7 +372,7 @@ supported_by.Add (wxT ("Hamann Film")); supported_by.Add (wxT ("Traverse City Film Festival")); supported_by.Add (wxT ("Z-fest Film Project")); supported_by.Add (wxT ("DIAMETRALE Filmfestival")); -supported_by.Add (wxT ("Lichtwerk & Kamera Filmkunst")); +supported_by.Add (wxT ("Lichtwerk && Kamera Filmkunst")); supported_by.Add (wxT ("Casablanca Filmkunsttheater")); supported_by.Add (wxT ("Redscope Filmproducties")); supported_by.Add (wxT ("Lukas Thiele Filmproduktion")); @@ -732,14 +734,14 @@ supported_by.Add (wxT ("Juan Marin Lorenzo")); supported_by.Add (wxT ("Tim Lorge")); supported_by.Add (wxT ("Thomas Lorin")); supported_by.Add (wxT ("Leonard Louder")); -supported_by.Add (wxT ("Auguste & Louise")); +supported_by.Add (wxT ("Auguste && Louise")); supported_by.Add (wxT ("Cubic Films Pty Ltd")); supported_by.Add (wxT ("First And Only Ltd")); supported_by.Add (wxT ("Quiet Heart Film PTY LTD")); supported_by.Add (wxT ("The Digital Picture House Ltd")); supported_by.Add (wxT ("Futurilla Ltd")); supported_by.Add (wxT ("Sector Zero Ltd")); -supported_by.Add (wxT ("Lewis & Coleman Consulting Services Pty Ltd")); +supported_by.Add (wxT ("Lewis && Coleman Consulting Services Pty Ltd")); supported_by.Add (wxT ("Keen i Media Ltd")); supported_by.Add (wxT ("Ted Lubin")); supported_by.Add (wxT ("Michael Luce")); @@ -770,7 +772,7 @@ supported_by.Add (wxT ("MantaRay.Media")); supported_by.Add (wxT ("Maxim Mantel")); supported_by.Add (wxT ("Nick Manting-Brewer")); supported_by.Add (wxT ("Marc Levy from The Marcs")); -supported_by.Add (wxT ("Job, Joris & Marieke")); +supported_by.Add (wxT ("Job, Joris && Marieke")); supported_by.Add (wxT ("Stoyan Marinov")); supported_by.Add (wxT ("Ruben Marques")); supported_by.Add (wxT ("Francisco M Ortega Marquez")); @@ -982,6 +984,7 @@ supported_by.Add (wxT ("Kino ist Programm")); supported_by.Add (wxT ("Sem Rumo — Projetos Audiovisuais")); supported_by.Add (wxT ("ProsetschioPictures")); supported_by.Add (wxT ("Ivan Pullman")); +supported_by.Add (wxT ("Milos Pusic")); supported_by.Add (wxT ("John Quackenbush")); supported_by.Add (wxT ("Festival De Cinéma De La Ville De Québec")); supported_by.Add (wxT ("Arts Quest")); @@ -1087,7 +1090,7 @@ supported_by.Add (wxT ("Brendan Shoebridge")); supported_by.Add (wxT ("Tiffany Sia")); supported_by.Add (wxT ("Konstantin V. Sichart")); supported_by.Add (wxT ("Atli Sigurjonsson")); -supported_by.Add (wxT ("Andre & Shannon Silva")); +supported_by.Add (wxT ("Andre && Shannon Silva")); supported_by.Add (wxT ("Daniele Silvestri")); supported_by.Add (wxT ("Benjamin Simmons")); supported_by.Add (wxT ("Peter Six")); @@ -1266,6 +1269,7 @@ supported_by.Add (wxT ("Mike Wilde")); supported_by.Add (wxT ("Andrew Wilhelm")); supported_by.Add (wxT ("Edgar Wilkening")); supported_by.Add (wxT ("Maya Willcocks")); +supported_by.Add (wxT ("Steven Willemin")); supported_by.Add (wxT ("Roland Wirtz")); supported_by.Add (wxT ("Sean Wirz")); supported_by.Add (wxT ("Volker Wischnowski")); diff --git a/test/burnt_subtitle_test.cc b/test/burnt_subtitle_test.cc index 9c6863a1d..8d7dcd143 100644 --- a/test/burnt_subtitle_test.cc +++ b/test/burnt_subtitle_test.cc @@ -30,6 +30,7 @@ #include "lib/dcp_content.h" #include "lib/dcp_content_type.h" #include "lib/film.h" +#include "lib/ffmpeg_encoder.h" #include "lib/log_entry.h" #include "lib/ratio.h" #include "lib/text_content.h" @@ -184,3 +185,24 @@ BOOST_AUTO_TEST_CASE(burnt_subtitle_test_position) /* Should have a baseline 864 pixels from the top ((1 - 0.2) * 1080) */ check("bottom"); } + + +/* Bug #2743 */ +BOOST_AUTO_TEST_CASE(burn_empty_subtitle_test) +{ + Cleanup cl; + + auto content = content_factory("test/data/empty_sub.xml")[0]; + auto film = new_test_film2("burnt_empty_subtitle_test", { content }); + content->text[0]->set_use(true); + + auto job = make_shared<TranscodeJob>(film, TranscodeJob::ChangedBehaviour::IGNORE); + auto file = boost::filesystem::path("build") / "test" / "burnt_empty_subtitle_test.mov"; + cl.add(file); + FFmpegEncoder encoder(film, job, file, ExportFormat::PRORES_4444, false, false, false, 23); + encoder.go(); + + cl.run(); +} + + diff --git a/test/data b/test/data -Subproject 515c71604fe16cc95a5f240b0333f78f47b9ea9 +Subproject a5b12872bf034712039414fad58e7e68c068b77 diff --git a/test/image_test.cc b/test/image_test.cc index fae65af1c..4df4f9125 100644 --- a/test/image_test.cc +++ b/test/image_test.cc @@ -203,7 +203,7 @@ alpha_blend_test_rgba64be_onto(AVPixelFormat format, string suffix) for (int y = 0; y < 128; ++y) { auto p = reinterpret_cast<uint16_t*>(overlay->data()[0] + y * overlay->stride()[0]); for (int x = 0; x < 128; ++x) { - p[x * 4 + 2] = 65535; + p[x * 4 + 0] = 65535; p[x * 4 + 3] = 65535; } } @@ -219,7 +219,7 @@ alpha_blend_test_rgba64be_onto(AVPixelFormat format, string suffix) for (int y = 256; y < 384; ++y) { auto p = reinterpret_cast<uint16_t*>(overlay->data()[0] + y * overlay->stride()[0]); for (int x = 0; x < 128; ++x) { - p[x * 4] = 65535; + p[x * 4 + 2] = 65535; p[x * 4 + 3] = 65535; } } @@ -242,8 +242,10 @@ BOOST_AUTO_TEST_CASE (alpha_blend_test) alpha_blend_test_bgra_onto(AV_PIX_FMT_RGB48LE, "rgb48le"); alpha_blend_test_bgra_onto(AV_PIX_FMT_YUV420P, "yuv420p"); alpha_blend_test_bgra_onto(AV_PIX_FMT_YUV420P10, "yuv420p10"); - alpha_blend_test_bgra_onto(AV_PIX_FMT_YUV422P10LE, "yuv422p9le"); + alpha_blend_test_bgra_onto(AV_PIX_FMT_YUV422P9LE, "yuv422p9le"); alpha_blend_test_bgra_onto(AV_PIX_FMT_YUV422P10LE, "yuv422p10le"); + alpha_blend_test_bgra_onto(AV_PIX_FMT_YUV444P9LE, "yuv444p9le"); + alpha_blend_test_bgra_onto(AV_PIX_FMT_YUV444P10LE, "yuv444p10le"); alpha_blend_test_rgba64be_onto(AV_PIX_FMT_RGB24, "rgb24"); alpha_blend_test_rgba64be_onto(AV_PIX_FMT_BGRA, "bgra"); @@ -251,8 +253,10 @@ BOOST_AUTO_TEST_CASE (alpha_blend_test) alpha_blend_test_rgba64be_onto(AV_PIX_FMT_RGB48LE, "rgb48le"); alpha_blend_test_rgba64be_onto(AV_PIX_FMT_YUV420P, "yuv420p"); alpha_blend_test_rgba64be_onto(AV_PIX_FMT_YUV420P10, "yuv420p10"); - alpha_blend_test_rgba64be_onto(AV_PIX_FMT_YUV422P10LE, "yuv422p9le"); + alpha_blend_test_rgba64be_onto(AV_PIX_FMT_YUV422P9LE, "yuv422p9le"); alpha_blend_test_rgba64be_onto(AV_PIX_FMT_YUV422P10LE, "yuv422p10le"); + alpha_blend_test_rgba64be_onto(AV_PIX_FMT_YUV444P9LE, "yuv444p9le"); + alpha_blend_test_rgba64be_onto(AV_PIX_FMT_YUV444P10LE, "yuv444p10le"); } @@ -79,6 +79,7 @@ def options(opt): opt.add_option('--enable-grok', action='store_true', default=False, help='build with support for grok J2K encoder') opt.add_option('--warnings-are-errors', action='store_true', default=False, help='build with -Werror') opt.add_option('--wx-config', help='path to wx-config') + opt.add_option('--enable-asan', action='store_true', help='build with asan') def configure(conf): conf.load('compiler_cxx') @@ -125,6 +126,10 @@ def configure(conf): if not conf.options.target_macos_arm64: conf.env.append_value('CXXFLAGS', '-msse') + if conf.options.enable_asan: + conf.env.append_value('CXXFLAGS', '-fsanitize=address') + conf.env.append_value('LINKFLAGS', '-fsanitize=address') + if conf.env['CXX_NAME'] == 'gcc': gcc = conf.env['CC_VERSION'] if int(gcc[0]) >= 8: @@ -155,7 +160,7 @@ def configure(conf): pass # - # Windows/Linux/OS X specific + # Windows/Linux/macOS specific # # Windows @@ -608,7 +613,7 @@ def configure(conf): elif conf.env.TARGET_LINUX: Logs.pprint('YELLOW', '\t' + 'Target'.ljust(25) + ': Linux') elif conf.env.TARGET_OSX: - Logs.pprint('YELLOW', '\t' + 'Target'.ljust(25) + ': OS X') + Logs.pprint('YELLOW', '\t' + 'Target'.ljust(25) + ': macOS') def report(name, variable): linkage = '' |
