pytex-preprocessor 0.4.3__tar.gz → 0.4.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. {pytex_preprocessor-0.4.3/src/pytex_preprocessor.egg-info → pytex_preprocessor-0.4.5}/PKG-INFO +1 -1
  2. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/pyproject.toml +1 -1
  3. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/builtin.py +15 -0
  4. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/helpers/sanitize.py +5 -0
  5. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/packages.py +4 -0
  6. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_builder/build.py +2 -2
  7. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_builder/variants.py +20 -3
  8. pytex_preprocessor-0.4.5/src/pytex_hsrtreport/assets/logos/MAKERS-Icon.svg +101 -0
  9. pytex_preprocessor-0.4.5/src/pytex_hsrtreport/assets/logos/MAKERS.svg +1360 -0
  10. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/logos.py +2 -0
  11. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/variants.py +2 -0
  12. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_markdown/convert.py +28 -2
  13. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5/src/pytex_preprocessor.egg-info}/PKG-INFO +1 -1
  14. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_preprocessor.egg-info/SOURCES.txt +2 -0
  15. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/LICENSE +0 -0
  16. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/README.md +0 -0
  17. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/setup.cfg +0 -0
  18. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/__init__.py +0 -0
  19. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/__init__.py +0 -0
  20. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/biblatex.py +0 -0
  21. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/captions.py +0 -0
  22. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/cleveref.py +0 -0
  23. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/colors.py +0 -0
  24. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/conditionals.py +0 -0
  25. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/counters.py +0 -0
  26. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/definitions.py +0 -0
  27. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/floats.py +0 -0
  28. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/font.py +0 -0
  29. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/fontawesome.py +0 -0
  30. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/fontspec.py +0 -0
  31. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/geometry.py +0 -0
  32. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/glossaries.py +0 -0
  33. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/graphics.py +0 -0
  34. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/hooks.py +0 -0
  35. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/hyperref.py +0 -0
  36. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/lengths.py +0 -0
  37. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/listings.py +0 -0
  38. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/mdframed.py +0 -0
  39. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/picture.py +0 -0
  40. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/setspace.py +0 -0
  41. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/commands/tables.py +0 -0
  42. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/helpers/__init__.py +0 -0
  43. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/helpers/coerce.py +0 -0
  44. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/helpers/parenting.py +0 -0
  45. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/helpers/with_package.py +0 -0
  46. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/interface/__init__.py +0 -0
  47. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/interface/control_sequence.py +0 -0
  48. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/interface/package.py +0 -0
  49. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/interface/tex.py +0 -0
  50. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/model/__init__.py +0 -0
  51. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/model/color.py +0 -0
  52. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/model/comment.py +0 -0
  53. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/model/concat.py +0 -0
  54. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/model/control_sequence.py +0 -0
  55. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/model/document.py +0 -0
  56. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/model/document_class.py +0 -0
  57. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/model/empty.py +0 -0
  58. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/model/environment.py +0 -0
  59. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/model/image.py +0 -0
  60. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/model/include.py +0 -0
  61. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/model/length.py +0 -0
  62. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/model/math.py +0 -0
  63. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/model/package.py +0 -0
  64. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/model/raw.py +0 -0
  65. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/registry.py +0 -0
  66. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex/template.py +0 -0
  67. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_analyze/__init__.py +0 -0
  68. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_analyze/analyze.py +0 -0
  69. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_analyze/optimize.py +0 -0
  70. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_builder/__init__.py +0 -0
  71. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_builder/console.py +0 -0
  72. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_builder/render.py +0 -0
  73. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_builder/tectonic.py +0 -0
  74. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_builder/tex2py.py +0 -0
  75. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_builder/tree.py +0 -0
  76. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/__init__.py +0 -0
  77. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-Bold.ttf +0 -0
  78. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-BoldItalic.ttf +0 -0
  79. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-Book.ttf +0 -0
  80. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-BookItalic.ttf +0 -0
  81. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-Medium.ttf +0 -0
  82. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-MediumItalic.ttf +0 -0
  83. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-Strong.ttf +0 -0
  84. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-Thin.ttf +0 -0
  85. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-ThinItalic.ttf +0 -0
  86. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/fonts/DIN/DIN-Black.ttf +0 -0
  87. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/fonts/DIN/DIN-Bold.ttf +0 -0
  88. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/fonts/DIN/DIN-BoldItalic.ttf +0 -0
  89. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/fonts/DIN/DIN-Italic.ttf +0 -0
  90. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/fonts/DIN/DIN-Medium.ttf +0 -0
  91. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/fonts/DIN/DIN-Regular.ttf +0 -0
  92. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/fonts/Times New Roman.ttf +0 -0
  93. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/logos/ASTA.svg +0 -0
  94. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/logos/DUMMY.png +0 -0
  95. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/logos/DUMMY_FOOT.png +0 -0
  96. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/logos/ECHO.svg +0 -0
  97. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/logos/HSRT.pdf +0 -0
  98. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/logos/INF.pdf +0 -0
  99. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/logos/STUPA.pdf +0 -0
  100. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/assets/logos/Skyline.pdf +0 -0
  101. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/boxes.py +0 -0
  102. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/citations.py +0 -0
  103. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/cleveref_names.py +0 -0
  104. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/colors.py +0 -0
  105. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/document.py +0 -0
  106. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/fonts.py +0 -0
  107. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/glossary.py +0 -0
  108. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/hyperref_config.py +0 -0
  109. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/listings.py +0 -0
  110. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/pagebreak.py +0 -0
  111. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/pagesetup.py +0 -0
  112. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/tex/pagesetup.tex +0 -0
  113. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/titlepage.py +0 -0
  114. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/voting.py +0 -0
  115. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/watermark.py +0 -0
  116. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_hsrtreport/wordcount.py +0 -0
  117. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_koma/__init__.py +0 -0
  118. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_koma/commands.py +0 -0
  119. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_koma/document.py +0 -0
  120. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_markdown/__init__.py +0 -0
  121. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_markdown/escape.py +0 -0
  122. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_preprocessor.egg-info/dependency_links.txt +0 -0
  123. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_preprocessor.egg-info/entry_points.txt +0 -0
  124. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_preprocessor.egg-info/requires.txt +0 -0
  125. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_preprocessor.egg-info/top_level.txt +0 -0
  126. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_protocol/__init__.py +0 -0
  127. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_protocol/convert.py +0 -0
  128. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_protocol/document.py +0 -0
  129. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_protocol/entries.py +0 -0
  130. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_protocol/frontmatter.py +0 -0
  131. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_protocol/header.py +0 -0
  132. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_protocol/shortcodes.py +0 -0
  133. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_protocol/signatures.py +0 -0
  134. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_tikz/__init__.py +0 -0
  135. {pytex_preprocessor-0.4.3 → pytex_preprocessor-0.4.5}/src/pytex_tikz/tikz.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pytex-preprocessor
3
- Version: 0.4.3
3
+ Version: 0.4.5
4
4
  Summary: Type-safe LaTeX document generation with Python
5
5
  Author-email: Frederik Beimgraben <frederik@beimgraben.net>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pytex-preprocessor"
7
- version = "0.4.3"
7
+ version = "0.4.5"
8
8
  authors = [
9
9
  { name="Frederik Beimgraben", email="frederik@beimgraben.net" },
10
10
  ]
@@ -1,8 +1,10 @@
1
+ from ..helpers.with_package import with_package
1
2
  from ..interface.tex import TeX
2
3
  from ..model.concat import Concat
3
4
  from ..model.control_sequence import ControlSequence, Parameter
4
5
  from ..model.environment import Environment
5
6
  from ..model.raw import Raw
7
+ from ..packages import EUROSYM
6
8
  from ..registry import Registry
7
9
 
8
10
  __all__ = [
@@ -24,6 +26,7 @@ __all__ = [
24
26
  "Emph",
25
27
  "EndAccSupp",
26
28
  "Enumerate",
29
+ "Euro",
27
30
  "FlushLeft",
28
31
  "FlushRight",
29
32
  "Footnote",
@@ -235,6 +238,18 @@ def Newline() -> TeX:
235
238
  return Raw("\\\\")
236
239
 
237
240
 
241
+ @Registry.add
242
+ @with_package(EUROSYM)
243
+ def Euro() -> TeX:
244
+ """Euro sign via ``eurosym``'s ``\\euro{}``.
245
+
246
+ eurosym ships its own glyph, so it renders even when the text font (e.g.
247
+ DIN) has no euro glyph. The trailing empty group stops the macro from
248
+ gobbling a following space, keeping ``50\\euro{} each`` spaced correctly.
249
+ """
250
+ return ControlSequence("euro", (Parameter(Raw("")),))
251
+
252
+
238
253
  @Registry.add
239
254
  def Linebreak(n: int | None = None) -> TeX:
240
255
  if n is None:
@@ -34,6 +34,11 @@ ESCAPES: Final[dict[str, str]] = {
34
34
  "}": r"\}",
35
35
  "~": r"\textasciitilde{}",
36
36
  "^": r"\textasciicircum{}",
37
+ # babel ngerman (always loaded) makes `"` an active shorthand char, so a
38
+ # literal double quote would be swallowed/mangled. `\textquotedbl{}` is a
39
+ # font-encoding macro (T1/textcomp), not a shorthand, so it prints an
40
+ # upright double quote untouched; the empty group stops space-gobbling.
41
+ '"': r"\textquotedbl{}",
37
42
  }
38
43
 
39
44
 
@@ -113,6 +113,9 @@ ARYDSHLN: Package = DefinePackage("arydshln")
113
113
  LMODERN: Package = DefinePackage("lmodern")
114
114
  HYPHENAT: Package = DefinePackage("hyphenat")
115
115
  FP: Package = DefinePackage("fp")
116
+ # Ships its own euro glyph, so `\euro{}` renders independent of the text font
117
+ # (e.g. DIN, whose font set lacks a euro glyph and would otherwise tofu).
118
+ EUROSYM: Package = DefinePackage("eurosym")
116
119
 
117
120
 
118
121
  class Packages(Enum):
@@ -219,3 +222,4 @@ class Packages(Enum):
219
222
  LMODERN = LMODERN
220
223
  HYPHENAT = HYPHENAT
221
224
  FP = FP
225
+ EUROSYM = EUROSYM
@@ -142,8 +142,8 @@ def _parse_args(argv: list[str]) -> Config:
142
142
  default=None,
143
143
  metavar="STYLE",
144
144
  help=(
145
- "Markdown output style: plain, report, protocol-asta, protocol-stupa"
146
- + " (default: auto-detect)"
145
+ "Markdown output style: plain, report, report-makers, "
146
+ + "protocol-asta, protocol-stupa (default: auto-detect)"
147
147
  ),
148
148
  )
149
149
  _ = parser.add_argument(
@@ -4,6 +4,8 @@ A *variant* maps a Markdown source to a concrete document:
4
4
 
5
5
  * ``plain`` - a bare ``Document`` wrapping the converted Markdown.
6
6
  * ``report`` - an HSRT report with title page and table of contents.
7
+ * ``report-makers`` - an HSRT report branded with the MAKERS logo (title page
8
+ and footer on every page).
7
9
  * ``protocol-asta`` - an AStA meeting protocol (HSRT report, AStA logos).
8
10
  * ``protocol-stupa`` - a StuPa meeting protocol (HSRT report, StuPa logos).
9
11
 
@@ -41,7 +43,13 @@ if TYPE_CHECKING:
41
43
 
42
44
  __all__ = ["VARIANT_NAMES", "build_document"]
43
45
 
44
- VARIANT_NAMES: tuple[str, ...] = ("plain", "report", "protocol-asta", "protocol-stupa")
46
+ VARIANT_NAMES: tuple[str, ...] = (
47
+ "plain",
48
+ "report",
49
+ "report-makers",
50
+ "protocol-asta",
51
+ "protocol-stupa",
52
+ )
45
53
 
46
54
  type Options = Mapping[str, object]
47
55
 
@@ -65,6 +73,8 @@ def build_document(
65
73
  return _plain(body, options)
66
74
  if variant == "report":
67
75
  return _report(body, options)
76
+ if variant == "report-makers":
77
+ return _report(body, options, logo_variant=Variant.MAKERS, footer_logos=True)
68
78
  if variant == "protocol-asta":
69
79
  return _protocol(meta, body, options, force=Variant.ASTA)
70
80
  if variant == "protocol-stupa":
@@ -92,7 +102,13 @@ def _plain(body: str, options: dict[str, object]) -> TeX:
92
102
  )
93
103
 
94
104
 
95
- def _report(body: str, options: dict[str, object]) -> TeX:
105
+ def _report(
106
+ body: str,
107
+ options: dict[str, object],
108
+ *,
109
+ logo_variant: Variant = Variant.INF,
110
+ footer_logos: bool = False,
111
+ ) -> TeX:
96
112
  title = _str(options, "title", "titel")
97
113
  derived = False
98
114
  if title is None:
@@ -104,8 +120,9 @@ def _report(body: str, options: dict[str, object]) -> TeX:
104
120
  # top of the body as a big, unnumbered heading so it is not lost.
105
121
  body_tex = Concat(ChapterStar(escape_latex(title)), Raw("\n\n"), body_tex)
106
122
  return HSRTReport(
107
- variant=Variant.INF,
123
+ variant=logo_variant,
108
124
  show_titlepage=title is not None,
125
+ show_footer_logos=footer_logos,
109
126
  show_toc=True,
110
127
  title=escape_latex(title) if title is not None else None,
111
128
  author=_escaped(_str(options, "author", "autor")),
@@ -0,0 +1,101 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="461.55865mm"
6
+ height="447.56244mm"
7
+ viewBox="0 0 461.55865 447.56244"
8
+ version="1.1"
9
+ id="svg1"
10
+ xml:space="preserve"
11
+ xmlns="http://www.w3.org/2000/svg"
12
+ xmlns:svg="http://www.w3.org/2000/svg"><defs
13
+ id="defs1" /><g
14
+ id="layer2"
15
+ transform="translate(-1560.2505,-33.956207)"><g
16
+ id="layer1-4"
17
+ transform="translate(1536)"><g
18
+ id="g11-7-0-0-9-0-20-7"
19
+ transform="matrix(0,0.59667125,0.59667125,0,393.2673,161.87008)"
20
+ style="stroke-width:0.443432"><path
21
+ id="path3-9-3-3-8-7-0-1-0-3-2-8"
22
+ style="fill:#ffcc00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
23
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z" /><path
24
+ id="path3-9-3-3-8-7-3-1-7-3-6-3-4"
25
+ style="fill:#f18700;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
26
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
27
+ transform="rotate(120,158.4647,-495.98275)" /><path
28
+ id="path3-9-3-3-8-7-3-5-2-9-3-2-7-5"
29
+ style="fill:#ce1625;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
30
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
31
+ transform="rotate(-120,158.45415,-495.99122)" /></g><g
32
+ id="g11-7-0-0-9-0-0-5-0"
33
+ transform="matrix(0.51673246,-0.29833562,0.29833562,0.51673246,241.95468,423.93573)"
34
+ style="stroke-width:0.443432"><path
35
+ id="path3-9-3-3-8-7-0-1-0-3-1-9-3"
36
+ style="fill:#008b92;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
37
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z" /><path
38
+ id="path3-9-3-3-8-7-3-1-7-3-6-9-2-6"
39
+ style="fill:#0075bf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
40
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
41
+ transform="rotate(120,158.4647,-495.98275)" /><path
42
+ id="path3-9-3-3-8-7-3-5-2-9-3-2-6-2-1"
43
+ style="fill:#29235c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
44
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
45
+ transform="rotate(-120,158.45415,-495.99122)" /></g><g
46
+ id="g11-7-0-0-9-0-2-89-0"
47
+ transform="matrix(0,0.59667125,0.59667125,0,630.13284,25.684221)"
48
+ style="stroke-width:0.443432"><path
49
+ id="path3-9-3-3-8-7-0-1-0-3-16-7-6"
50
+ style="fill:#ffcc00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
51
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z" /><path
52
+ id="path3-9-3-3-8-7-3-1-7-3-6-2-36-3"
53
+ style="fill:#f18700;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
54
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
55
+ transform="rotate(120,158.4647,-495.98275)" /><path
56
+ id="path3-9-3-3-8-7-3-5-2-9-3-2-1-1-2"
57
+ style="fill:#ce1625;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
58
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
59
+ transform="rotate(-120,158.45415,-495.99122)" /></g><g
60
+ id="g11-7-0-0-9-0-2-8-2-0"
61
+ transform="matrix(0,0.59667125,0.59667125,0,630.43565,300.31284)"
62
+ style="stroke-width:0.443432"><path
63
+ id="path3-9-3-3-8-7-0-1-0-3-16-6-9-6"
64
+ style="fill:#ffcc00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
65
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z" /><path
66
+ id="path3-9-3-3-8-7-3-1-7-3-6-2-3-3-1"
67
+ style="fill:#f18700;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
68
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
69
+ transform="rotate(120,158.4647,-495.98275)" /><path
70
+ id="path3-9-3-3-8-7-3-5-2-9-3-2-1-8-1-5"
71
+ style="fill:#ce1625;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
72
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
73
+ transform="rotate(-120,158.45414,-495.99122)" /></g><g
74
+ id="g11-7-0-0-9-0-0-0-94-5"
75
+ transform="matrix(0.51673246,-0.29833562,0.29833562,0.51673246,478.82011,560.2897)"
76
+ style="stroke-width:0.443432"><path
77
+ id="path3-9-3-3-8-7-0-1-0-3-1-1-78-4"
78
+ style="fill:#008b92;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
79
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z" /><path
80
+ id="path3-9-3-3-8-7-3-1-7-3-6-9-9-4-7"
81
+ style="fill:#0075bf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
82
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
83
+ transform="rotate(120,158.4647,-495.98275)" /><path
84
+ id="path3-9-3-3-8-7-3-5-2-9-3-2-6-7-5-6"
85
+ style="fill:#29235c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
86
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
87
+ transform="rotate(-120,158.45415,-495.99122)" /></g><g
88
+ id="g11-7-0-0-9-0-0-0-9-0-5"
89
+ transform="matrix(0.51673246,-0.29833562,0.29833562,0.51673246,241.95467,698.73251)"
90
+ style="stroke-width:0.443432"><path
91
+ id="path3-9-3-3-8-7-0-1-0-3-1-1-5-3-6"
92
+ style="fill:#008b92;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
93
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z" /><path
94
+ id="path3-9-3-3-8-7-3-1-7-3-6-9-9-1-6-9"
95
+ style="fill:#0075bf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
96
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
97
+ transform="rotate(120,158.4647,-495.98275)" /><path
98
+ id="path3-9-3-3-8-7-3-5-2-9-3-2-6-7-2-10-3"
99
+ style="fill:#29235c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
100
+ d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
101
+ transform="rotate(-120,158.45415,-495.99122)" /></g></g></g></svg>