pymdown-extensions 12.1__tar.gz → 12.2__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 (285) hide show
  1. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/.pyspelling.yml +2 -2
  2. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/PKG-INFO +2 -1
  3. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/about/changelog.md +13 -0
  4. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/b64.md +4 -0
  5. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/blocks/plugins/caption.md +1 -1
  6. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/caret.md +12 -0
  7. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/highlight.md +14 -15
  8. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/superfences.md +47 -0
  9. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/tilde.md +12 -0
  10. pymdown_extensions-12.2/docs/theme/assets/pymdownx-extras/extra-b4375c8180.css +2 -0
  11. pymdown_extensions-12.2/docs/theme/assets/pymdownx-extras/extra-b4375c8180.css.map +1 -0
  12. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/hatch_build.py +1 -0
  13. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/__meta__.py +1 -1
  14. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/betterem.py +8 -5
  15. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/caret.py +8 -4
  16. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/delimiterprocessor.py +51 -43
  17. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/highlight.py +18 -3
  18. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/inlinehilite.py +1 -0
  19. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/mark.py +4 -3
  20. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/superfences.py +9 -2
  21. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/tilde.py +8 -4
  22. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pyproject.toml +2 -2
  23. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_caret.py +42 -0
  24. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_highlight.py +60 -0
  25. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_superfences.py +48 -0
  26. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_tilde.py +42 -0
  27. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/zensical.yml +1 -1
  28. pymdown_extensions-12.1/docs/theme/assets/pymdownx-extras/extra-2c40363d78.css +0 -2
  29. pymdown_extensions-12.1/docs/theme/assets/pymdownx-extras/extra-2c40363d78.css.map +0 -1
  30. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/.coveragerc +0 -0
  31. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/.gitignore +0 -0
  32. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/LICENSE.md +0 -0
  33. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/README.md +0 -0
  34. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/.snippets/abbr.md +0 -0
  35. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/.snippets/links.md +0 -0
  36. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/.snippets/refs.md +0 -0
  37. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/.snippets/uml.md +0 -0
  38. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/about/contributing.md +0 -0
  39. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/about/development.md +0 -0
  40. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/about/license.md +0 -0
  41. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/about/releases/6.0.md +0 -0
  42. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/about/releases/7.0.md +0 -0
  43. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/about/releases/8.0.md +0 -0
  44. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/about/releases/9.0.md +0 -0
  45. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/about/security.md +0 -0
  46. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/arithmatex.md +0 -0
  47. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/betterem.md +0 -0
  48. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/blocks/api.md +0 -0
  49. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/blocks/index.md +0 -0
  50. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/blocks/plugins/admonition.md +0 -0
  51. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/blocks/plugins/definition.md +0 -0
  52. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/blocks/plugins/details.md +0 -0
  53. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/blocks/plugins/html.md +0 -0
  54. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/blocks/plugins/tab.md +0 -0
  55. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/bracketspan.md +0 -0
  56. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/critic.md +0 -0
  57. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/details.md +0 -0
  58. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/emoji.md +0 -0
  59. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/escapeall.md +0 -0
  60. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/extra.md +0 -0
  61. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/fancylists.md +0 -0
  62. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/inlinehilite.md +0 -0
  63. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/keys.md +0 -0
  64. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/magiclink.md +0 -0
  65. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/mark.md +0 -0
  66. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/pathconverter.md +0 -0
  67. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/progressbar.md +0 -0
  68. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/quotes.md +0 -0
  69. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/saneheaders.md +0 -0
  70. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/smartsymbols.md +0 -0
  71. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/snippets.md +0 -0
  72. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/striphtml.md +0 -0
  73. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/tabbed.md +0 -0
  74. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extensions/tasklist.md +0 -0
  75. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extras/mermaid.md +0 -0
  76. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/extras/slugs.md +0 -0
  77. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/faq.md +0 -0
  78. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/images/mermaid-diagram.png +0 -0
  79. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/images/progress.png +0 -0
  80. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/images/tabbed-alternate.png +0 -0
  81. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/images/tabbed-default-narrow.png +0 -0
  82. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/images/tabbed-default.png +0 -0
  83. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/index.md +0 -0
  84. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/installation.md +0 -0
  85. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/src/markdown/usage_notes.md +0 -0
  86. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/theme/announce.html +0 -0
  87. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/theme/assets/pymdownx-extras/extra-loader-BSCOcbUK.js +0 -0
  88. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/theme/assets/pymdownx-extras/extra-loader-BSCOcbUK.js.map +0 -0
  89. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/docs/theme/main.html +0 -0
  90. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/__init__.py +0 -0
  91. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/_bypassnorm.py +0 -0
  92. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/arithmatex.py +0 -0
  93. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/b64.py +0 -0
  94. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/blocks/__init__.py +0 -0
  95. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/blocks/admonition.py +0 -0
  96. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/blocks/block.py +0 -0
  97. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/blocks/caption.py +0 -0
  98. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/blocks/definition.py +0 -0
  99. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/blocks/details.py +0 -0
  100. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/blocks/html.py +0 -0
  101. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/blocks/tab.py +0 -0
  102. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/bracketspan.py +0 -0
  103. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/critic.py +0 -0
  104. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/details.py +0 -0
  105. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/emoji.py +0 -0
  106. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/emoji1_db.py +0 -0
  107. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/escapeall.py +0 -0
  108. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/extra.py +0 -0
  109. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/fancylists.py +0 -0
  110. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/gemoji_db.py +0 -0
  111. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/keymap_db.py +0 -0
  112. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/keys.py +0 -0
  113. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/magiclink.py +0 -0
  114. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/pathconverter.py +0 -0
  115. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/progressbar.py +0 -0
  116. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/quotes.py +0 -0
  117. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/saneheaders.py +0 -0
  118. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/slugs.py +0 -0
  119. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/smartsymbols.py +0 -0
  120. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/snippets.py +0 -0
  121. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/striphtml.py +0 -0
  122. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/tabbed.py +0 -0
  123. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/tasklist.py +0 -0
  124. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/twemoji_db.py +0 -0
  125. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/pymdownx/util.py +0 -0
  126. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/run_tests.py +0 -0
  127. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/__init__.py +0 -0
  128. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/_assets/bg.png +0 -0
  129. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/_assets/headeranchor.css +0 -0
  130. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/_assets/progressbar.css +0 -0
  131. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/_assets/tabs.css +0 -0
  132. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/_assets/tasklist.css +0 -0
  133. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/_assets/tasklist_custom.css +0 -0
  134. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/arithmatex/arithmatex (disable).html +0 -0
  135. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/arithmatex/arithmatex (disable).txt +0 -0
  136. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/arithmatex/arithmatex (dumb dollar).html +0 -0
  137. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/arithmatex/arithmatex (dumb dollar).txt +0 -0
  138. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/arithmatex/arithmatex (generic).html +0 -0
  139. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/arithmatex/arithmatex (generic).txt +0 -0
  140. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/arithmatex/arithmatex (no-preview).html +0 -0
  141. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/arithmatex/arithmatex (no-preview).txt +0 -0
  142. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/arithmatex/arithmatex.html +0 -0
  143. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/arithmatex/arithmatex.txt +0 -0
  144. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/arithmatex/tests.yml +0 -0
  145. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/emoji1 (entities).html +0 -0
  146. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/emoji1 (entities).txt +0 -0
  147. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/emoji1 (escaped).html +0 -0
  148. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/emoji1 (escaped).txt +0 -0
  149. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/emoji1 (long title).html +0 -0
  150. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/emoji1 (long title).txt +0 -0
  151. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/emoji1 (no title).html +0 -0
  152. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/emoji1 (no title).txt +0 -0
  153. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/emoji1 (png sprite).html +0 -0
  154. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/emoji1 (png sprite).txt +0 -0
  155. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/emoji1 (png).html +0 -0
  156. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/emoji1 (png).txt +0 -0
  157. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/emoji1 (svg sprite).html +0 -0
  158. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/emoji1 (svg sprite).txt +0 -0
  159. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/emoji1 (svg).html +0 -0
  160. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/emoji1 (svg).txt +0 -0
  161. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/gemoji (entities).html +0 -0
  162. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/gemoji (entities).txt +0 -0
  163. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/gemoji (png).html +0 -0
  164. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/gemoji (png).txt +0 -0
  165. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/tests.yml +0 -0
  166. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/twemoji (entities).html +0 -0
  167. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/twemoji (entities).txt +0 -0
  168. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/twemoji (png).html +0 -0
  169. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/twemoji (png).txt +0 -0
  170. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/twemoji (svg).html +0 -0
  171. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/emoji/twemoji (svg).txt +0 -0
  172. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/escapeall/escapeall (ws normal).html +0 -0
  173. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/escapeall/escapeall (ws normal).txt +0 -0
  174. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/escapeall/escapeall.html +0 -0
  175. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/escapeall/escapeall.txt +0 -0
  176. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/escapeall/tests.yml +0 -0
  177. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/extra/extra (config).html +0 -0
  178. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/extra/extra (config).txt +0 -0
  179. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/extra/extra.html +0 -0
  180. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/extra/extra.txt +0 -0
  181. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/extra/tests.yml +0 -0
  182. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/keys/keys (camel).html +0 -0
  183. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/keys/keys (camel).txt +0 -0
  184. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/keys/keys.html +0 -0
  185. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/keys/keys.txt +0 -0
  186. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/keys/tests.yml +0 -0
  187. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/magiclink (bitbucket).html +0 -0
  188. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/magiclink (bitbucket).txt +0 -0
  189. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/magiclink (extensions).html +0 -0
  190. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/magiclink (extensions).txt +0 -0
  191. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/magiclink (gitlab).html +0 -0
  192. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/magiclink (gitlab).txt +0 -0
  193. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/magiclink (invalid).html +0 -0
  194. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/magiclink (invalid).txt +0 -0
  195. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/magiclink (shorthand).html +0 -0
  196. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/magiclink (shorthand).txt +0 -0
  197. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/magiclink (shorthand-social).html +0 -0
  198. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/magiclink (shorthand-social).txt +0 -0
  199. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/magiclink.html +0 -0
  200. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/magiclink.txt +0 -0
  201. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/magiclink_hide_protocol.html +0 -0
  202. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/magiclink_hide_protocol.txt +0 -0
  203. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/magiclink/tests.yml +0 -0
  204. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/progressbar/progressbar.html +0 -0
  205. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/progressbar/progressbar.txt +0 -0
  206. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/progressbar/tests.yml +0 -0
  207. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/striphtml/striphtml (no attr strip).html +0 -0
  208. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/striphtml/striphtml (no attr strip).txt +0 -0
  209. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/striphtml/striphtml.html +0 -0
  210. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/striphtml/striphtml.txt +0 -0
  211. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/striphtml/tests.yml +0 -0
  212. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/superfences/superfences (custom).html +0 -0
  213. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/superfences/superfences (custom).txt +0 -0
  214. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/superfences/superfences (failures).html +0 -0
  215. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/superfences/superfences (failures).txt +0 -0
  216. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/superfences/superfences (no indent blocks).html +0 -0
  217. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/superfences/superfences (no indent blocks).txt +0 -0
  218. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/superfences/superfences (no pygments).html +0 -0
  219. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/superfences/superfences (no pygments).txt +0 -0
  220. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/superfences/superfences (normal).html +0 -0
  221. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/superfences/superfences (normal).txt +0 -0
  222. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/superfences/superfences (preserve tabs).html +0 -0
  223. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/superfences/superfences (preserve tabs).txt +0 -0
  224. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/superfences/tests.yml +0 -0
  225. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/tasklist/tasklist (checkable).html +0 -0
  226. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/tasklist/tasklist (checkable).txt +0 -0
  227. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/tasklist/tasklist (custom checkable).html +0 -0
  228. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/tasklist/tasklist (custom checkable).txt +0 -0
  229. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/tasklist/tasklist (custom).html +0 -0
  230. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/tasklist/tasklist (custom).txt +0 -0
  231. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/tasklist/tasklist.html +0 -0
  232. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/tasklist/tasklist.txt +0 -0
  233. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/extensions/tasklist/tests.yml +0 -0
  234. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/__init__.py +0 -0
  235. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/_assets/bg.png +0 -0
  236. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/_snippets/a.txt +0 -0
  237. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/_snippets/b.txt +0 -0
  238. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/_snippets/c.txt +0 -0
  239. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/_snippets/d.txt +0 -0
  240. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/_snippets/indented.txt +0 -0
  241. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/_snippets/lines.txt +0 -0
  242. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/_snippets/loop.txt +0 -0
  243. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/_snippets/loop_block.txt +0 -0
  244. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/_snippets/missing.txt +0 -0
  245. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/_snippets/nested/nested.txt +0 -0
  246. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/_snippets/nested_b.txt +0 -0
  247. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/_snippets/section.txt +0 -0
  248. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/_snippets/section_nested.txt +0 -0
  249. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_arithmatex.py +0 -0
  250. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_b64.py +0 -0
  251. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_betterem.py +0 -0
  252. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_blocks/__init__.py +0 -0
  253. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_blocks/test_admonitions.py +0 -0
  254. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_blocks/test_captions.py +0 -0
  255. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_blocks/test_definition.py +0 -0
  256. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_blocks/test_details.py +0 -0
  257. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_blocks/test_general_blocks.py +0 -0
  258. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_blocks/test_html.py +0 -0
  259. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_blocks/test_legacy_tab.py +0 -0
  260. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_blocks/test_tab.py +0 -0
  261. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_bracketspan.py +0 -0
  262. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_critic.py +0 -0
  263. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_details.py +0 -0
  264. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_emoji.py +0 -0
  265. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_escapeall.py +0 -0
  266. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_fancylists.py +0 -0
  267. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_inlinehilite.py +0 -0
  268. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_keys.py +0 -0
  269. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_magiclink.py +0 -0
  270. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_mark.py +0 -0
  271. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_pathconverter.py +0 -0
  272. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_quotes.py +0 -0
  273. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_saneheaders.py +0 -0
  274. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_slugs.py +0 -0
  275. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_smartsymbols.py +0 -0
  276. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_snippets.py +0 -0
  277. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_striphmtl.py +0 -0
  278. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_tabbed.py +0 -0
  279. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_extensions/test_tabbed_alternate.py +0 -0
  280. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_syntax.py +0 -0
  281. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_targeted.py +0 -0
  282. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/test_versions.py +0 -0
  283. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tests/util.py +0 -0
  284. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tools/__init__.py +0 -0
  285. {pymdown_extensions-12.1 → pymdown_extensions-12.2}/tools/pymdownx_md_render.py +0 -0
@@ -7,8 +7,8 @@ matrix:
7
7
  - title
8
8
  - alt
9
9
  ignores:
10
- - ':matches(code, pre)'
11
- - 'a:matches(.magiclink-compare, .magiclink-commit, .magiclink-repository)'
10
+ - 'code, pre'
11
+ - 'a:is(.magiclink-compare, .magiclink-commit, .magiclink-repository)'
12
12
  - '.md-social__link'
13
13
  - 'span.keys'
14
14
  - '.arithmatex, .md-nav__link, .md-footer-custom-text, .md-source__repository, .headerlink, .md-icon'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: pymdown-extensions
3
- Version: 12.1
3
+ Version: 12.2
4
4
  Summary: Extension pack for Python Markdown.
5
5
  Project-URL: Homepage, https://github.com/facelessuser/pymdown-extensions
6
6
  Author-email: Isaac Muse <Isaac.Muse@gmail.com>
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.11
18
18
  Classifier: Programming Language :: Python :: 3.12
19
19
  Classifier: Programming Language :: Python :: 3.13
20
20
  Classifier: Programming Language :: Python :: 3.14
21
+ Classifier: Programming Language :: Python :: 3.15
21
22
  Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
22
23
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
24
  Classifier: Topic :: Text Processing :: Filters
@@ -3,6 +3,19 @@ icon: lucide/scroll-text
3
3
  ---
4
4
  # Changelog
5
5
 
6
+ ## 12.2
7
+
8
+ - **NEW**: Add official support for Python 3.15.
9
+ - **NEW**: Tilde, Caret: For backwards compatibility, disable CommonMark punctuation rules by default. If subscript or
10
+ superscript is disabled in the respective extension, CommonMark rules will be honored again. A new `punctuation`
11
+ rule has been added to force CommonMark rules. When done, people will need to be aware of punctuation when subscript
12
+ or superscript is enabled and escape any that violates CommonMark rules.
13
+ - **NEW**: Highlight: Highlight now allows in the `auto_title_map` specifying the title as a simple string or a
14
+ dictionary containing the title and the title mode: either `text` or `html`, with `text` being the default. This
15
+ allows a title to be specified and treated as HTML when the mode is `html`.
16
+ - **NEW**: SuperFences: Add new `title_mode` option for Pygments fenced blocks that allows a user to specify a title
17
+ to be treated as HTML via `title_mode="html"`.
18
+
6
19
  ## 12.1
7
20
 
8
21
  - **NEW**: SuperFences: Add optional `reset` function that can be specified for custom fences.
@@ -44,6 +44,10 @@ Because there are legitimate cases in which paths may be desired as relative to
44
44
  `base_path` bay occasionally be desired. In such cases, `root_path` can also be specified which will allow links to be
45
45
  relative to `base_path` without needing to be children of `base_path` as long as they are contained under `root_path`.
46
46
 
47
+ > [!warning] Symlinks
48
+ > Symlinks can be placed in the path and will be followed. If you do not want B64 to follow Symlinks, do not place them
49
+ > in the restricted path.
50
+
47
51
  ## Options
48
52
 
49
53
  Option | Type | Default | Description
@@ -400,7 +400,7 @@ to `#!py True` with some limitations.
400
400
  Captions allows for setting figures numbers for prefixes and IDs on the fly. This is mainly designed for use in "manual
401
401
  mode" ([`auto`](#global-options) set to `#!py False`). The idea was to provide a mode where the user has complete control of
402
402
  figure numbers if so desired. When in manual mode, the user will only get prefixes when specifying numbers in the header
403
- of figure types that specify a prefix template. Manual mode does not not check or validate these numbers beyond ensuring
403
+ of figure types that specify a prefix template. Manual mode does not check or validate these numbers beyond ensuring
404
404
  they are in fact numbers that are formatted properly.
405
405
 
406
406
  ```text title="Manual Numbers"
@@ -79,6 +79,17 @@ text^a superscript^
79
79
  > [!new] New in 12.0
80
80
  > `no_space` is new in 12.0.
81
81
 
82
+ > [!new] 12.2 CommonMark Punctuation Rule Change
83
+ > 12.0 introduced a rewrite of emphasis handling which brought emphasis handling into alignment with CommonMark rules.
84
+ > Caret, being based on the same core logic, inherits the same CommonMark rules.
85
+ >
86
+ > It was found that specifically the CommonMark punctuation rules were somewhat surprising for some when dealing with
87
+ > superscripts. In 12.2, for backwards compatibility, Caret now disables CommonMark punctuation rules any time
88
+ > superscript is enabled. If superscript is not enabled, insert notations will follow CommonMark punctuation rules.
89
+ >
90
+ > If it is desired to force CommonMark punctuation rules in superscript, [`punctuation`](#options) can be enabled in the
91
+ > options. You will need to escape punctuation any time it conflicts with CommonMark rules.
92
+
82
93
  ## Options
83
94
 
84
95
  Option | Type | Default | Description
@@ -87,3 +98,4 @@ Option | Type | Default | Description
87
98
  `insert` | bool | `#!py3 True` | Enable insert feature.
88
99
  `superscript` | bool | `#!py3 True` | Enable superscript feature.
89
100
  `no_space` | bool | `#!py3 True` | Enable Pandoc style requirement of "no unescaped spaces".
101
+ `punctuation` | bool | `#!py3 False`| Enable CommonMark punctuation rules even when subscript tags are enabled".
@@ -149,27 +149,26 @@ Option | Type | Default | Description
149
149
  `language_prefix` | string | `#!py3 'language-'` | Controls the prefix applied to the language class when Pygments is not used. By default, uses the HTML5 prefix of `language-`.
150
150
  `code_attr_on_pre` | bool | `#!py3 False` | By default, the language class and all attributes added via the [`attr_list`][attr-list] extension are attached to the `#!html <code>` element. This forces them to be attached to the `#!html <pre>` element.
151
151
  `auto_title` | bool | `#!py3 False` | When using Pygments, for all code blocks generate a title header with the name of the lexer being used. The lexer name is pulled directly from Pygments and title cased appropriately.
152
- `auto_title_map` | dict | `#!py3 {}` | A dictionary used to override certain titles returned by `auto_title`. Simply specify the title to override as the key and the desired title as the value.
152
+ `auto_title_map` | dict | `#!py3 {}` | A dictionary used to override certain titles returned by `auto_title`. Simply specify the title to override as the key and the desired title as the value. If you desire the title to be treated as HTML, specify the title as a dictionary `#!py {"title": "My Title", "mode": "html"}`.
153
153
  `line_spans` | string | `#!py3 ''` | Controls the Pygments option of a similar name. If set to a nonempty string, e.g. `foo`, the formatter will wrap each output line in a `#!html <span>` tag with an id of `foo-<code_block_number>-<line_number>`.
154
154
  `anchor_linenums` | bool | `#!py3 False` | Enables the Pygments option of a similar name. If set to `#!py True`, will wrap line numbers in `#!html <a>` tags. Used in combination with `linenums` and `line_anchors`. If `line_anchors` is not configured, `__codelineno` will be assumed as the ID prefix.
155
155
  `line_anchors` | bool | `#!py3 False` | Controls the Pygments option of a similar name. If set to a nonempty string, e.g. `foo`, the formatter will insert an anchor tag with an id (and name) of `foo-<code_block_number>-<line_number>`.
156
156
  `pygments_lang_class` | bool | `#!py3 False` | If set to True, the language name used will be included as a class attached to the element with the associated `language_prefix`.
157
157
  `stripnl` | bool | `#!py3 True` | Strips leading and trailing newlines from code blocks. This is Pygments default behavior. Setting this to `#!py False` disables this and will retain leading and trailing newlines. This has no affect on inline code.
158
158
 
159
- /// new | New 7.1
160
- `linenums_class` was added in `7.1`.
161
- ///
159
+ > [!new] New 7.1
160
+ > `linenums_class` was added in `7.1`.
162
161
 
163
- /// new | New 7.2
164
- `linenums` now accepts `#!py3 None` as the default for allow line numbers to be enabled per code block.
165
- `#!py3 False` now disables line numbers globally preventing line numbers even if specified per code block. `True`
166
- still enables globally.
167
- ///
162
+ > [!new] New 7.2
163
+ > `linenums` now accepts `#!py3 None` as the default for allow line numbers to be enabled per code block.
164
+ > `#!py3 False` now disables line numbers globally preventing line numbers even if specified per code block. `True`
165
+ > still enables globally.
168
166
 
169
- /// new | New 9.0
170
- `auto_title`, `auto_title_map`, `line_spans`, `anchor_linenums`, and `line_anchors` were all added in `9.0`.
171
- ///
167
+ > [!new] New 9.0
168
+ > `auto_title`, `auto_title_map`, `line_spans`, `anchor_linenums`, and `line_anchors` were all added in `9.0`.
172
169
 
173
- /// new | New 10.7
174
- `default_lang` added in 10.7.
175
- ///
170
+ > [!new] New 10.7
171
+ > `default_lang` added in 10.7.
172
+
173
+ > [!new] New 12.2
174
+ > Added the ability to specify the title mode as `html` in the `auto_title_map`.
@@ -548,6 +548,53 @@ extension_configs:
548
548
  ```
549
549
  ````
550
550
 
551
+ Lastly, it may be desirable to utilize raw HTML in titles, if so, `title_mode` can be used to enable HTML mode.
552
+
553
+ ````text title="Undesired Automatic Title"
554
+ ```py title="HTML <em>example</em>" title_mode="html"
555
+ >>> 3 + 3
556
+ 6
557
+ ```
558
+ ````
559
+
560
+ /// html | div.result
561
+ ````md-render
562
+ ---
563
+ extensions:
564
+ - pymdownx.highlight
565
+ - pymdownx.superfences
566
+
567
+ extension_configs:
568
+ pymdownx.highlight:
569
+ auto_title: true
570
+ line_spans: __codeline_b
571
+ line_anchors: __codelineno_b
572
+ anchor_linenums: True
573
+ ---
574
+ ```py title="HTML <em>example</em>" title_mode="html"
575
+ >>> 3 + 3
576
+ 6
577
+ ```
578
+ ````
579
+ ///
580
+
581
+ This can also be applied to `auto_title_map`. If HTML mode is desired, just specify the title as a dictionary specifying
582
+ the title and the mode:
583
+
584
+ ```py3
585
+ extension_configs = {
586
+ "pymdownx.highlight": {
587
+ "auto_title": True,
588
+ "auto_title_map": {
589
+ "Python Console Session": {"title": "<strong>Python</strong>", "mode": "html"}
590
+ }
591
+ }
592
+ }
593
+ ```
594
+
595
+ > [!new] 12.2
596
+ > HTML mode for titles was added in 12.2.
597
+
551
598
  ## Pygments Line Anchors and Spans
552
599
 
553
600
  /// new | New 9.0
@@ -76,6 +76,17 @@ text~a subscript~
76
76
  > [!new] New in 12.0
77
77
  > `no_space` is new in 12.0.
78
78
 
79
+ > [!new] 12.2 CommonMark Punctuation Rule Change
80
+ > 12.0 introduced a rewrite of emphasis handling which brought emphasis handling into alignment with CommonMark rules.
81
+ > Tilde, being based on the same core logic, inherits the same CommonMark rules.
82
+ >
83
+ > It was found that specifically the CommonMark punctuation rules were somewhat surprises for some when dealing with
84
+ > subscripts. In 12.2, for backwards compatibility, Tilde now disables CommonMark punctuation rules any time subscript
85
+ > is enabled. If subscript is not enabled, delete notations will follow CommonMark punctuation rules.
86
+ >
87
+ > If it is desired to force CommonMark punctuation rules in subscript, [`punctuation`](#options) can be enabled in the
88
+ > options. You will need to escape punctuation any time it conflicts with CommonMark rules.
89
+
79
90
  ## Options
80
91
 
81
92
  Option | Type | Default | Description
@@ -84,3 +95,4 @@ Option | Type | Default | Description
84
95
  `delete` | bool | `#!py3 True` | Enable delete feature.
85
96
  `subscript` | bool | `#!py3 True` | Enable subscript feature.
86
97
  `no_space` | bool | `#!py3 True` | Enable Pandoc style requirement of "no unescaped spaces".
98
+ `punctuation` | bool | `#!py3 False`| Enable CommonMark punctuation rules even when subscript tags are enabled".
@@ -0,0 +1,2 @@
1
+ :root>*{--md-default-bg-color--trans: rgb(100%, 100%, 100%, 0);--md-tab-control-bg: var(--md-default-bg-color);--md-code-fg-color: #1F1F1F;--md-code-bg-color: #F5F5F5;--md-code-border-color: rgb(89.5771606166%, 89.5771606166%, 89.5771606166%);--md-code-title-bg-color: #F5F5F5;--md-code-inline-bg-color: #F5F5F5;--md-code-hl-operator-color: #A3134D;--md-code-hl-punctuation-color: #1F1F1F;--md-code-hl-string-color: #836E15;--md-code-hl-special-color: #644AC9;--md-code-hl-number-color: #644AC9;--md-code-hl-keyword-color: #A3134D;--md-code-hl-name-color: #1F1F1F;--md-code-hl-constant-color: #644AC9;--md-code-hl-function-color: #14720A;--md-code-hl-comment-color: #635D97;--md-code-hl-variable-color: #A34D14;--md-code-hl-generic-color: #635D97;--md-code-hl-color: #CFCFDE;--md-code-hl-color--light: #DCDEEF;--md-typeset-table-color: rgb(0% 0% 0% / 15%);--md-code-hl-entity-color: #14720A;--md-code-hl-tag-color: #A3134D;--md-code-hl-namespace-color: #1F1F1F;--md-code-hl-builtin-color: #036A96;--md-code-hl-class-color: #036A96;--md-code-special-bg-color: #DCDEEF;--md-steps-bg-color: var(--md-code-bg-color);--md-steps-fg-color: var(--md-code-fg-color);--md-steps-border-color: hsla(0, 0%, 75%, 1);--md-typeset-a-color: #00bcd4;--md-progress-stripe: var(--md-default-bg-color--lighter);--md-progress-100: #00e676;--md-progress-80: #00e676;--md-progress-60: #fbc02d;--md-progress-40: #ff9100;--md-progress-20: #ff5252;--md-progress-0: #ff1744;--md-typeset-kbd-color: rgb(89.5576872712%, 89.5576872712%, 89.5576872712%);--md-typeset-kbd-border-color: rgb(64.4709999095%, 64.4709999095%, 64.4709999095%);--md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1)}:root>*[data-md-color-scheme=slate]{--md-default-fg-color: hsla(60, 30%, 96.078%, 0.87);--md-default-fg-color--light: hsla(60, 30%, 96.078%, 0.54);--md-default-fg-color--lighter: hsla(60, 30%, 96.078%, 0.36);--md-default-fg-color--lightest: hsla(60, 30%, 96.078%, 0.12);--md-default-autocomplete-fg-color: hsla(60, 30%, 96.078%, 0.4);--md-footer-fg-color: var(--md-default-fg-color);--md-default-bg-color: var(--md-default-bg-color--darkest);--md-default-bg-color--light: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0.7);--md-default-bg-color--lighter: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0.4);--md-default-bg-color--lightest: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0.1);--md-default-bg-color--trans: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0);--md-tab-control-bg: var(--md-default-bg-color--dark);--md-default-bg-color--dark: color(srgb 0.1147606354 0.1213715063 0.1588331081);--md-default-bg-color--darker: color(srgb 0.0781790415 0.0833653407 0.1127543696);--md-default-bg-color--darkest: color(srgb 0.0327882794 0.0359366892 0.0551574304);--md-text-color: var(--md-default-fg-color);--md-typeset-color: var(--md-default-fg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-code-fg-color: hsl(60, 30%, 96.078%);--md-code-bg-color: hsl(231, 15%, 18%);--md-code-border-color: hsl(230.8021103522, 12.287151138%, 22.9886809488%);--md-code-title-bg-color: hsl(231, 15%, 18%);--md-code-inline-bg-color: hsl(231, 15%, 18%);--md-code-hl-operator-color: hsl(326, 100%, 74%);--md-code-hl-punctuation-color: hsl(60, 30%, 96.078%);--md-code-hl-string-color: hsl(65, 92%, 76%);--md-code-hl-special-color: hsl(265, 89%, 78%);--md-code-hl-number-color: hsl(265, 89%, 78%);--md-code-hl-keyword-color: hsl(326, 100%, 74%);--md-code-hl-name-color: hsl(60, 30%, 96.078%);--md-code-hl-constant-color: hsl(265, 89%, 78%);--md-code-hl-function-color: hsl(135, 94%, 65%);--md-code-hl-comment-color: hsl(225, 27%, 51%);--md-code-hl-variable-color: hsl(31, 100%, 71%);--md-code-hl-generic-color: hsl(225, 27%, 51%);--md-code-hl-color: hsl(231, 15%, 30%);--md-code-hl-color--light: hsl(231, 25%, 25%);--md-code-bg-color--light: hsla(231, 15%, 18%, 0.9);--md-code-bg-color--lighter: hsla(231, 15%, 18%, 0.5);--md-typeset-table-color: rgb(100% 100% 100% / 15%);--md-code-hl-entity-color: hsl(135, 94%, 65%);--md-code-hl-tag-color: hsl(326, 100%, 74%);--md-code-hl-namespace-color: hsl(60, 30%, 96.078%);--md-code-hl-builtin-color: hsl(191, 97%, 77%);--md-code-hl-class-color: hsl(191, 97%, 77%);--md-code-special-bg-color: hsl(231, 25%, 25%);--md-steps-border-color: hsl(230.6613379686, 10.4241713343%, 28.1575403575%);--md-typeset-a-color: hsl(191, 97%, 77%);--md-typeset-mark-color: hsl(75.3111515854, 11.5600114451%, 37.8888925515%);--md-typeset-del-color: hsl(314.8219481072, 22.0434125534%, 35.1703201111%);--md-typeset-ins-color: hsl(145.2334928709, 27.8121663576%, 33.1574755691%);--md-progress-stripe: var(--md-default-bg-color--lightest);--md-progress-100: hsl(135, 94%, 65%);--md-progress-80: hsl(96.9286079031, 93.5050765575%, 74.7933068737%);--md-progress-60: hsl(65, 92%, 76%);--md-progress-40: hsl(31, 100%, 71%);--md-progress-20: hsl(326, 100%, 74%);--md-progress-0: hsl(0, 100%, 67%);--md-typeset-kbd-color: var(--md-default-fg-color--lightest);--md-typeset-kbd-border-color: var(--md-code-bg-color);--md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate][data-md-color-primary=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-primary-code-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-primary-fg-color: hsla(0deg, 100%, 67%, 1);--md-primary-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-primary-fg-color--light: hsla(0deg, 100%, 72%, 1);--md-primary-fg-color--dark: hsla(0deg, 100%, 62%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-primary-code-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-primary-fg-color: hsla(326deg, 100%, 74%, 1);--md-primary-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-primary-fg-color--light: hsla(326deg, 100%, 79%, 1);--md-primary-fg-color--dark: hsla(326deg, 100%, 69%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-code-link-accent-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-accent-fg-color: hsla(0deg, 100%, 67%, 1);--md-accent-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-code-link-accent-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-accent-fg-color: hsla(326deg, 100%, 74%, 1);--md-accent-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}:root{--md-heart: #ff5252;--md-heart-big: #ff1744}:root [data-md-color-scheme=slate]{--md-heart: hsl(0, 100%, 67%);--md-heart-big: hsl(326, 100%, 74%)}.md-typeset a.source-link{position:relative;top:-0.6rem;float:right;color:var(--md-default-fg-color--lighter);transition:color 125ms}.md-typeset a.source-link:hover{color:var(--md-accent-fg-color)}.md-typeset a.source-link .twemoji{height:1.2rem}.md-typeset a.source-link .twemoji svg{width:1.2rem;height:1.2rem}.md-typeset div.highlight.md-max-height pre>code{max-height:15rem}.twemoji.heart-throb svg,.twemoji.heart-throb-hover svg{position:relative;color:var(--md-heart);animation:pulse 1.5s ease infinite}@keyframes pulse{0%{transform:scale(1)}40%{color:var(--md-heart-big);transform:scale(1.3)}50%{transform:scale(1.2)}60%{color:var(--md-heart-big);transform:scale(1.3)}100%{transform:scale(1)}}footer.sponsorship{text-align:center}footer.sponsorship .twemoji{padding:.05rem}footer.sponsorship a{text-decoration:none}footer.sponsorship hr{display:inline-block;width:1.6rem;margin:0 .7rem;vertical-align:middle;border-bottom:2px solid var(--md-default-fg-color--lighter)}footer.sponsorship:hover hr{border-color:var(--md-accent-fg-color)}footer.sponsorship:not(:hover) .twemoji.heart-throb-hover svg{color:var(--md-default-fg-color--lighter) !important}:root>*{--md-admonition-icon-color: #3654c2;--md-admonition-bg-color: rgba(54, 84, 194, 0.1);--md-admonition-border-color: rgba(54, 84, 194, 0.15)}:root>*[data-md-color-scheme=slate]{--md-admonition-icon-color: hsl(225, 100%, 75%);--md-admonition-bg-color: hsla(225, 100%, 75%, 0.1);--md-admonition-border-color: hsla(225, 100%, 75%, 0.15)}:root>*{--md-admonition-icon--settings: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 15.5A3.5 3.5 0 0 1 8.5 12 3.5 3.5 0 0 1 12 8.5a3.5 3.5 0 0 1 3.5 3.5 3.5 3.5 0 0 1-3.5 3.5m7.43-2.53c.04-.32.07-.64.07-.97s-.03-.66-.07-1l2.11-1.63c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.31-.61-.22l-2.49 1c-.52-.39-1.06-.73-1.69-.98l-.37-2.65A.506.506 0 0 0 14 2h-4c-.25 0-.46.18-.5.42l-.37 2.65c-.63.25-1.17.59-1.69.98l-2.49-1c-.22-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64L4.57 11c-.04.34-.07.67-.07 1s.03.65.07.97l-2.11 1.66c-.19.15-.25.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1.01c.52.4 1.06.74 1.69.99l.37 2.65c.04.24.25.42.5.42h4c.25 0 .46-.18.5-.42l.37-2.65c.63-.26 1.17-.59 1.69-.99l2.49 1.01c.22.08.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64z"/></svg>');--md-admonition-bg-color--settings: rgba(170, 0, 255, 0.1);--md-admonition-icon-color--settings: #aa00ff;--md-admonition-border-color--settings: rgba(170, 0, 255, 0.15)}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--settings: hsla(326, 100%, 74%, 0.1);--md-admonition-icon-color--settings: hsl(326, 100%, 74%);--md-admonition-border-color--settings: rgba(170, 0, 255, 0.15)}:root>*{--md-admonition-icon--new: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m23 12-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-10 5h-2v-2h2zm0-4h-2V7h2z"/></svg>');--md-admonition-bg-color--new: rgba(255, 214, 0, 0.1);--md-admonition-icon-color--new: #ffd600;--md-admonition-border-color--new: rgba(255, 214, 0, 0.15)}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--new: hsla(65, 92%, 76%, 0.1);--md-admonition-icon-color--new: hsl(65, 92%, 76%);--md-admonition-border-color--new: rgba(255, 214, 0, 0.15)}:root>*{--md-admonition-icon--important: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9 22a1 1 0 0 1-1-1v-3H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6.1l-3.7 3.71c-.2.19-.45.29-.7.29zm1-6v3.08L13.08 16H20V4H4v12zm3-6h-2V6h2zm0 4h-2v-2h2z"/></svg>');--md-admonition-bg-color--important: rgba(124, 77, 255, 0.1);--md-admonition-icon-color--important: #7c4dff;--md-admonition-border-color--important: rgba(124, 77, 255, 0.15)}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--important: hsla(300.507916868, 58.3554777078%, 71.0104358913%, 0.1);--md-admonition-icon-color--important: hsl(300.507916868, 58.3554777078%, 71.0104358913%);--md-admonition-border-color--important: rgba(124, 77, 255, 0.15)}:root>*{--md-admonition-bg-color--note: rgba(68, 138, 255, 0.1);--md-admonition-icon-color--note: #448aff;--md-admonition-border-color--note: rgba(68, 138, 255, 0.15)}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--note: hsla(225, 100%, 75%, 0.1);--md-admonition-icon-color--note: hsl(225, 100%, 75%);--md-admonition-border-color--note: rgba(68, 138, 255, 0.15)}:root>*{--md-admonition-bg-color--abstract: rgba(0, 176, 255, 0.1);--md-admonition-icon-color--abstract: #00b0ff;--md-admonition-border-color--abstract: rgba(0, 176, 255, 0.15)}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--abstract: hsla(208.9651589316, 100.1516938638%, 76.1926610237%, 0.1);--md-admonition-icon-color--abstract: hsl(208.9651589316, 100.1516938638%, 76.1926610237%);--md-admonition-border-color--abstract: rgba(0, 176, 255, 0.15)}:root>*{--md-admonition-bg-color--info: rgba(0, 184, 212, 0.1);--md-admonition-icon-color--info: #00b8d4;--md-admonition-border-color--info: rgba(0, 184, 212, 0.15)}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--info: hsla(191, 97%, 77%, 0.1);--md-admonition-icon-color--info: hsl(191, 97%, 77%);--md-admonition-border-color--info: rgba(0, 184, 212, 0.15)}:root>*{--md-admonition-bg-color--tip: rgba(0, 191, 165, 0.1);--md-admonition-icon-color--tip: #00bfa5;--md-admonition-border-color--tip: rgba(0, 191, 165, 0.15)}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--tip: hsla(157.7363570417, 83.7763520157%, 69.6636999884%, 0.1);--md-admonition-icon-color--tip: hsl(157.7363570417, 83.7763520157%, 69.6636999884%);--md-admonition-border-color--tip: rgba(0, 191, 165, 0.15)}:root>*{--md-admonition-bg-color--success: rgba(0, 200, 83, 0.1);--md-admonition-icon-color--success: #00c853;--md-admonition-border-color--success: rgba(0, 200, 83, 0.15)}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--success: hsla(135, 94%, 65%, 0.1);--md-admonition-icon-color--success: hsl(135, 94%, 65%);--md-admonition-border-color--success: rgba(0, 200, 83, 0.15)}:root>*{--md-admonition-bg-color--question: rgba(100, 221, 23, 0.1);--md-admonition-icon-color--question: #64dd17;--md-admonition-border-color--question: rgba(100, 221, 23, 0.15)}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--question: hsla(96.9286079031, 93.5050765575%, 74.7933068737%, 0.1);--md-admonition-icon-color--question: hsl(96.9286079031, 93.5050765575%, 74.7933068737%);--md-admonition-border-color--question: rgba(100, 221, 23, 0.15)}:root>*{--md-admonition-bg-color--warning: rgba(255, 145, 0, 0.1);--md-admonition-icon-color--warning: #ff9100;--md-admonition-border-color--warning: rgba(255, 145, 0, 0.15)}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--warning: hsla(31, 100%, 71%, 0.1);--md-admonition-icon-color--warning: hsl(31, 100%, 71%);--md-admonition-border-color--warning: rgba(255, 145, 0, 0.15)}:root>*{--md-admonition-bg-color--failure: rgba(255, 82, 82, 0.1);--md-admonition-icon-color--failure: #ff5252;--md-admonition-border-color--failure: rgba(255, 82, 82, 0.15)}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--failure: hsla(15.759766848, 102.8951066345%, 69.4486457644%, 0.1);--md-admonition-icon-color--failure: hsl(15.759766848, 102.8951066345%, 69.4486457644%);--md-admonition-border-color--failure: rgba(255, 82, 82, 0.15)}:root>*{--md-admonition-bg-color--danger: rgba(255, 23, 68, 0.1);--md-admonition-icon-color--danger: #ff1744;--md-admonition-border-color--danger: rgba(255, 23, 68, 0.15)}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--danger: hsla(0, 100%, 67%, 0.1);--md-admonition-icon-color--danger: hsl(0, 100%, 67%);--md-admonition-border-color--danger: rgba(255, 23, 68, 0.15)}:root>*{--md-admonition-bg-color--bug: rgba(245, 0, 87, 0.1);--md-admonition-icon-color--bug: #f50057;--md-admonition-border-color--bug: rgba(245, 0, 87, 0.15)}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--bug: hsla(344.5737278948, 100.1359681762%, 71.0000228672%, 0.1);--md-admonition-icon-color--bug: hsl(344.5737278948, 100.1359681762%, 71.0000228672%);--md-admonition-border-color--bug: rgba(245, 0, 87, 0.15)}:root>*{--md-admonition-bg-color--example: rgba(98, 0, 234, 0.1);--md-admonition-icon-color--example: #6200ea;--md-admonition-border-color--example: rgba(98, 0, 234, 0.15)}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--example: hsla(265, 89%, 78%, 0.1);--md-admonition-icon-color--example: hsl(265, 89%, 78%);--md-admonition-border-color--example: rgba(98, 0, 234, 0.15)}:root>*{--md-admonition-bg-color--quote: rgba(158, 158, 158, 0.1);--md-admonition-icon-color--quote: #9e9e9e;--md-admonition-border-color--quote: rgba(158, 158, 158, 0.15)}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--quote: hsla(225, 8%, 51%, 0.1);--md-admonition-icon-color--quote: hsl(225, 8%, 51%);--md-admonition-border-color--quote: rgba(158, 158, 158, 0.15)}.md-typeset .admonition,.md-typeset details{font-size:inherit;background:var(--md-admonition-bg-color--note);border:.05rem solid var(--md-admonition-border-color--note)}.md-typeset .admonition>.admonition-title::before,.md-typeset details>.admonition-title::before,.md-typeset details>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition>.admonition-title::after,.md-typeset details>.admonition-title::after,.md-typeset details>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note,.md-typeset details.note{background:var(--md-admonition-bg-color--note);border:.05rem solid var(--md-admonition-border-color--note)}.md-typeset .admonition.note>.admonition-title,.md-typeset details.note>.admonition-title,.md-typeset details.note>summary{font-size:inherit}.md-typeset .admonition.note>.admonition-title::before,.md-typeset details.note>.admonition-title::before,.md-typeset details.note>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note>.admonition-title::after,.md-typeset details.note>.admonition-title::after,.md-typeset details.note>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract{background:var(--md-admonition-bg-color--abstract);border:.05rem solid var(--md-admonition-border-color--abstract)}.md-typeset .admonition.abstract>.admonition-title,.md-typeset details.abstract>.admonition-title,.md-typeset details.abstract>summary{font-size:inherit}.md-typeset .admonition.abstract>.admonition-title::before,.md-typeset details.abstract>.admonition-title::before,.md-typeset details.abstract>summary::before{background-color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::after,.md-typeset details.abstract>.admonition-title::after,.md-typeset details.abstract>summary::after{color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.info,.md-typeset details.info{background:var(--md-admonition-bg-color--info);border:.05rem solid var(--md-admonition-border-color--info)}.md-typeset .admonition.info>.admonition-title,.md-typeset details.info>.admonition-title,.md-typeset details.info>summary{font-size:inherit}.md-typeset .admonition.info>.admonition-title::before,.md-typeset details.info>.admonition-title::before,.md-typeset details.info>summary::before{background-color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.info>.admonition-title::after,.md-typeset details.info>.admonition-title::after,.md-typeset details.info>summary::after{color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.tip,.md-typeset details.tip{background:var(--md-admonition-bg-color--tip);border:.05rem solid var(--md-admonition-border-color--tip)}.md-typeset .admonition.tip>.admonition-title,.md-typeset details.tip>.admonition-title,.md-typeset details.tip>summary{font-size:inherit}.md-typeset .admonition.tip>.admonition-title::before,.md-typeset details.tip>.admonition-title::before,.md-typeset details.tip>summary::before{background-color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.tip>.admonition-title::after,.md-typeset details.tip>.admonition-title::after,.md-typeset details.tip>summary::after{color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.success,.md-typeset details.success{background:var(--md-admonition-bg-color--success);border:.05rem solid var(--md-admonition-border-color--success)}.md-typeset .admonition.success>.admonition-title,.md-typeset details.success>.admonition-title,.md-typeset details.success>summary{font-size:inherit}.md-typeset .admonition.success>.admonition-title::before,.md-typeset details.success>.admonition-title::before,.md-typeset details.success>summary::before{background-color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.success>.admonition-title::after,.md-typeset details.success>.admonition-title::after,.md-typeset details.success>summary::after{color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.question,.md-typeset details.question{background:var(--md-admonition-bg-color--question);border:.05rem solid var(--md-admonition-border-color--question)}.md-typeset .admonition.question>.admonition-title,.md-typeset details.question>.admonition-title,.md-typeset details.question>summary{font-size:inherit}.md-typeset .admonition.question>.admonition-title::before,.md-typeset details.question>.admonition-title::before,.md-typeset details.question>summary::before{background-color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.question>.admonition-title::after,.md-typeset details.question>.admonition-title::after,.md-typeset details.question>summary::after{color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.warning,.md-typeset details.warning{background:var(--md-admonition-bg-color--warning);border:.05rem solid var(--md-admonition-border-color--warning)}.md-typeset .admonition.warning>.admonition-title,.md-typeset details.warning>.admonition-title,.md-typeset details.warning>summary{font-size:inherit}.md-typeset .admonition.warning>.admonition-title::before,.md-typeset details.warning>.admonition-title::before,.md-typeset details.warning>summary::before{background-color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.warning>.admonition-title::after,.md-typeset details.warning>.admonition-title::after,.md-typeset details.warning>summary::after{color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.failure,.md-typeset details.failure{background:var(--md-admonition-bg-color--failure);border:.05rem solid var(--md-admonition-border-color--failure)}.md-typeset .admonition.failure>.admonition-title,.md-typeset details.failure>.admonition-title,.md-typeset details.failure>summary{font-size:inherit}.md-typeset .admonition.failure>.admonition-title::before,.md-typeset details.failure>.admonition-title::before,.md-typeset details.failure>summary::before{background-color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.failure>.admonition-title::after,.md-typeset details.failure>.admonition-title::after,.md-typeset details.failure>summary::after{color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.danger,.md-typeset details.danger{background:var(--md-admonition-bg-color--danger);border:.05rem solid var(--md-admonition-border-color--danger)}.md-typeset .admonition.danger>.admonition-title,.md-typeset details.danger>.admonition-title,.md-typeset details.danger>summary{font-size:inherit}.md-typeset .admonition.danger>.admonition-title::before,.md-typeset details.danger>.admonition-title::before,.md-typeset details.danger>summary::before{background-color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.danger>.admonition-title::after,.md-typeset details.danger>.admonition-title::after,.md-typeset details.danger>summary::after{color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{background:var(--md-admonition-bg-color--bug);border:.05rem solid var(--md-admonition-border-color--bug)}.md-typeset .admonition.bug>.admonition-title,.md-typeset details.bug>.admonition-title,.md-typeset details.bug>summary{font-size:inherit}.md-typeset .admonition.bug>.admonition-title::before,.md-typeset details.bug>.admonition-title::before,.md-typeset details.bug>summary::before{background-color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.bug>.admonition-title::after,.md-typeset details.bug>.admonition-title::after,.md-typeset details.bug>summary::after{color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.example,.md-typeset details.example{background:var(--md-admonition-bg-color--example);border:.05rem solid var(--md-admonition-border-color--example)}.md-typeset .admonition.example>.admonition-title,.md-typeset details.example>.admonition-title,.md-typeset details.example>summary{font-size:inherit}.md-typeset .admonition.example>.admonition-title::before,.md-typeset details.example>.admonition-title::before,.md-typeset details.example>summary::before{background-color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.example>.admonition-title::after,.md-typeset details.example>.admonition-title::after,.md-typeset details.example>summary::after{color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.quote,.md-typeset details.quote{background:var(--md-admonition-bg-color--quote);border:.05rem solid var(--md-admonition-border-color--quote)}.md-typeset .admonition.quote>.admonition-title,.md-typeset details.quote>.admonition-title,.md-typeset details.quote>summary{font-size:inherit}.md-typeset .admonition.quote>.admonition-title::before,.md-typeset details.quote>.admonition-title::before,.md-typeset details.quote>summary::before{background-color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.quote>.admonition-title::after,.md-typeset details.quote>.admonition-title::after,.md-typeset details.quote>summary::after{color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.settings,.md-typeset details.settings{background:var(--md-admonition-bg-color--settings);border:.05rem solid var(--md-admonition-border-color--settings)}.md-typeset .admonition.settings>.admonition-title::before,.md-typeset details.settings>.admonition-title::before,.md-typeset details.settings>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--settings);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--settings);mask-image:var(--md-admonition-icon--settings);content:" "}.md-typeset .admonition.settings>.admonition-title::after,.md-typeset details.settings>.admonition-title::after,.md-typeset details.settings>summary::after{color:var(--md-admonition-icon-color--settings)}.md-typeset .admonition.new,.md-typeset details.new{background:var(--md-admonition-bg-color--new);border:.05rem solid var(--md-admonition-border-color--new)}.md-typeset .admonition.new>.admonition-title::before,.md-typeset details.new>.admonition-title::before,.md-typeset details.new>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--new);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--new);mask-image:var(--md-admonition-icon--new);content:" "}.md-typeset .admonition.new>.admonition-title::after,.md-typeset details.new>.admonition-title::after,.md-typeset details.new>summary::after{color:var(--md-admonition-icon-color--new)}.md-typeset .admonition.important,.md-typeset details.important{background:var(--md-admonition-bg-color--important);border:.05rem solid var(--md-admonition-border-color--important)}.md-typeset .admonition.important>.admonition-title::before,.md-typeset details.important>.admonition-title::before,.md-typeset details.important>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--important);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--important);mask-image:var(--md-admonition-icon--important);content:" "}.md-typeset .admonition.important>.admonition-title::after,.md-typeset details.important>.admonition-title::after,.md-typeset details.important>summary::after{color:var(--md-admonition-icon-color--important)}mjx-container[display=true]{font-size:120% !important}mjx-container:not([display]){font-size:100% !important}.md-typeset .arithmatex{overflow-x:auto !important;overflow-y:hidden !important}.katex-display .katex-html{display:flex !important;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:space-between}.katex-display .katex-html .base{display:inline !important}.katex-display .katex-html .tag{position:relative !important;display:inline !important;margin-left:var(--margin-small)}.CtxtMenu_InfoClose{top:.2em;right:.2em}.CtxtMenu_InfoContent{overflow:auto;text-align:left;font-size:80%;padding:.4em .6em;border:1px inset;margin:1em 0px;max-height:20em;max-width:30em;background-color:#eee;white-space:normal}.CtxtMenu_Info.CtxtMenu_MousePost{outline:none}.CtxtMenu_Info{position:fixed;left:50%;width:auto;text-align:center;border:3px outset;padding:1em 2em;background-color:#ddd;color:#000;cursor:default;font-family:message-box;font-size:120%;font-style:normal;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:15px;-webkit-border-radius:15px;-moz-border-radius:15px;-khtml-border-radius:15px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color="gray", Positive="true")}.CtxtMenu_MenuClose{position:absolute;cursor:pointer;display:inline-block;border:2px solid #aaa;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;font-family:"Courier New",Courier;font-size:24px;color:#f0f0f0}.CtxtMenu_MenuClose span{display:block;background-color:#aaa;border:1.5px solid;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;line-height:0;padding:8px 0 6px}.CtxtMenu_MenuClose:hover{color:#fff !important;border:2px solid #ccc !important}.CtxtMenu_MenuClose:hover span{background-color:#ccc !important}.CtxtMenu_MenuClose:hover:focus{outline:none}.CtxtMenu_Menu{position:absolute;background-color:#fff;color:#000;width:auto;padding:5px 0px;border:1px solid #ccc;margin:0;cursor:default;font:menu;text-align:left;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-khtml-border-radius:5px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray}.CtxtMenu_MenuItem{padding:1px 2em;background:rgba(0,0,0,0)}.CtxtMenu_MenuArrow{position:absolute;right:.5em;padding-top:.25em;color:#666;font-size:.75em}.CtxtMenu_MenuActive .CtxtMenu_MenuArrow{color:#fff}.CtxtMenu_MenuArrow.CtxtMenu_RTL{left:.5em;right:auto}.CtxtMenu_MenuCheck{position:absolute;left:.7em}.CtxtMenu_MenuCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuRadioCheck{position:absolute;left:.7em}.CtxtMenu_MenuRadioCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuInputBox{padding-left:1em;right:.5em;color:#666}.CtxtMenu_MenuInputBox.CtxtMenu_RTL{left:.1em}.CtxtMenu_MenuComboBox{left:.1em;padding-bottom:.5em}.CtxtMenu_MenuSlider{left:.1em}.CtxtMenu_SliderValue{position:absolute;right:.1em;padding-top:.25em;color:#333;font-size:.75em}.CtxtMenu_SliderBar{outline:none;background:#d3d3d3}.CtxtMenu_MenuLabel{padding:1px 2em 3px 1.33em;font-style:italic}.CtxtMenu_MenuRule{border-top:1px solid #ddd;margin:4px 3px}.CtxtMenu_MenuDisabled{color:GrayText}.CtxtMenu_MenuActive{background-color:#606872;color:#fff}.CtxtMenu_MenuDisabled:focus{background-color:#e8e8e8}.CtxtMenu_MenuLabel:focus{background-color:#e8e8e8}.CtxtMenu_ContextMenu:focus{outline:none}.CtxtMenu_ContextMenu .CtxtMenu_MenuItem:focus{outline:none}.CtxtMenu_SelectionMenu{position:relative;float:left;border-bottom:none;-webkit-box-shadow:none;-webkit-border-radius:0px}.CtxtMenu_SelectionItem{padding-right:1em}.CtxtMenu_Selection{right:40%;width:50%}.CtxtMenu_SelectionBox{padding:0em;max-height:20em;max-width:none;background-color:#fff}.CtxtMenu_SelectionDivider{clear:both;border-top:2px solid #000}.CtxtMenu_Menu .CtxtMenu_MenuClose{top:-10px;left:-10px}[data-md-color-scheme=slate] .CtxtMenu_InfoSignature input,[data-md-color-scheme=slate] .CtxtMenu_InfoContent pre{color:#000}[data-md-color-scheme=slate] .CtxtMenu_Info,[data-md-color-scheme=slate] .CtxtMenu_Menu{box-shadow:0px 10px 20px rgba(0,0,0,.5)}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset mark.critic{padding:0 .25em;color:unset;box-shadow:none}.md-typeset .critic.break{margin:0}.md-typeset details{overflow:hidden}.md-typeset details>summary>:is(h1,h2,h3,h4,h5,h6){margin:0;font-weight:inherit;font-size:inherit}.md-typeset details>summary:focus{outline-style:none}:root>*{--highlight-svg-console: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 19V7H4v12zm0-16a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm-7 14v-2h5v2zm-3.42-4L5.57 9H8.4l3.3 3.3c.39.39.39 1.03 0 1.42L8.42 17H5.59z"/></svg>');--highlight-svg-arrow-expand: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 21v-2H6.41l4.5-4.5-1.41-1.41-4.5 4.5V14H3v7zm4.5-10.09 4.5-4.5V10h2V3h-7v2h3.59l-4.5 4.5z"/></svg>');--highlight-svg-arrow-collapse: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19.5 3.09 15 7.59V4h-2v7h7V9h-3.59l4.5-4.5zM4 13v2h3.59l-4.5 4.5 1.41 1.41 4.5-4.5V20h2v-7z"/></svg>')}.highlight .hll{box-shadow:2px 0 0 0 var(--md-accent-fg-color) inset}.highlight .kc{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne{color:var(--md-code-hl-class-color)}.highlight .mb{color:var(--md-code-hl-number-color)}.highlight .nb,.highlight .bp{color:var(--md-code-hl-builtin-color)}.highlight .nn{color:var(--md-code-hl-namespace-color)}.highlight .na,.highlight .nd,.highlight .ni{color:var(--md-code-hl-entity-color)}.highlight .nl,.highlight .nt{color:var(--md-code-hl-tag-color)}.md-typeset code{border:.05rem solid var(--md-code-border-color)}.md-typeset *:not(pre)>code{margin:0;padding:.1654411765em .3125em;color:var(--md-code-fg-color);background-color:var(--md-code-inline-bg-color);border-radius:.2rem;box-shadow:none}.md-typeset pre>code{display:grid}.md-typeset td code{word-break:normal}.md-typeset :is(.highlight,pre):has(+div.result) code{border-bottom-right-radius:0;border-bottom-left-radius:0}.md-typeset .highlight{-moz-tab-size:8;-o-tab-size:8;tab-size:8}.md-typeset .highlight [data-linenos]::before{left:-1.2698412698em;margin-left:-1.2698412698em}.md-typeset .highlight [data-linenos]:hover::before{color:var(--md-accent-fg-color);font-weight:700}.md-typeset .highlight [data-linenos].special::before{background-color:var(--md-code-special-bg-color)}.md-typeset .highlight .hll [data-linenos]::before{border-right:2px solid var(--md-accent-fg-color)}.md-typeset .highlighttable code{border-left-width:0}.md-typeset .highlighttable .linenos{border:.05rem solid var(--md-code-border-color);border-right-width:0}.md-typeset .highlighttable .linenodiv .special{margin-right:.0793650794em;margin-left:-1.2698412698em;padding-right:.6349206349em;padding-left:1.2698412698em;background-color:var(--md-code-special-bg-color)}.md-typeset .highlight span.filename{position:relative;display:block;margin-top:1em;padding:.5em 1.1764705882em .5em 2.9411764706em;font-weight:700;font-size:.68rem;background-color:var(--md-code-title-bg-color);border:.05rem solid var(--md-code-border-color);border-bottom-width:0;border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .highlight span.filename+pre{margin-top:0}.md-typeset .highlight span.filename+pre code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .highlight span.filename::before{position:absolute;left:.8823529412em;width:1.4705882353em;height:1.4705882353em;background-color:var(--md-default-fg-color);-webkit-mask-image:var(--highlight-svg-console);mask-image:var(--highlight-svg-console);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset .collapse-code{position:relative;margin-top:1em;margin-bottom:1em}.md-typeset .collapse-code pre{margin-top:0;margin-bottom:0}.md-typeset .collapse-code input{display:none}.md-typeset .collapse-code input~.code-footer{width:100%;margin:0;padding:.25em .5em .25em 0em}.md-typeset .collapse-code input~.code-footer label{position:relative;margin:.05em;padding:.15em .8em;color:var(--md-primary-bg-color);font-size:90%;background-color:var(--md-accent-fg-color);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;border-radius:.1rem;cursor:pointer;content:""}.md-typeset .collapse-code input~.code-footer label:hover{background-color:var(--md-accent-fg-color)}.md-typeset .collapse-code input~.code-footer label::before{position:absolute;top:.15em;left:.15em;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-primary-bg-color);background-size:1.25em;content:""}.md-typeset .collapse-code input~.code-footer label.expand{display:none}.md-typeset .collapse-code input~.code-footer label.expand::before{-webkit-mask-image:var(--highlight-svg-arrow-expand);mask-image:var(--highlight-svg-arrow-expand)}.md-typeset .collapse-code input~.code-footer label.collapse::before{-webkit-mask-image:var(--highlight-svg-arrow-collapse);mask-image:var(--highlight-svg-arrow-collapse)}.md-typeset .collapse-code input:checked~.code-footer label.expand{display:inline}.md-typeset .collapse-code input:checked~.code-footer label.collapse{display:none}.md-typeset .collapse-code input:checked+div.highlight code{max-height:9.375em;overflow:hidden}.md-typeset .collapse-code input:checked~.code-footer{position:relative;bottom:4.3em;left:0;margin-bottom:-4.3em;padding:2em .5em .5em .8rem;background-image:linear-gradient(to bottom, transparent, var(--md-default-bg-color) 80% 100%);border:.05rem solid var(--md-code-border-color);border-top-width:0;border-bottom-right-radius:.48rem;border-bottom-left-radius:.48rem}.md-typeset .highlight+.result{border-color:var(--md-code-border-color);border-top-color:rgba(0,0,0,0);border-right-width:.05rem;border-bottom-width:.05rem;border-left-width:.05rem}.md-nav__link .md-ellipsis code{padding:0em .4em}.md-typeset .keys .key-power::before{padding-right:.4em;content:"⏻"}.md-typeset .keys .key-fingerprint::before{padding-right:.4em;content:"☝"}:root>*{--magiclink-email-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4H4c-1.11 0-2 .89-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2m-3 13H7v-2h10m0-2H7v-2h10m3-2h-3V6h3"/></svg>');--magiclink-github-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33s1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2"/></svg>');--magiclink-bitbucket-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.65 3C2.3 3 2 3.3 2 3.65v.12l2.73 16.5c.07.42.43.73.85.73h13.05c.31 0 .59-.22.64-.54L22 3.77a.643.643 0 0 0-.54-.73c-.03-.01-.07-.01-.11-.01zM14.1 14.95H9.94L8.81 9.07h6.3z"/></svg>');--magiclink-gitlab-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m21.94 13.11-1.05-3.22c0-.03-.01-.06-.02-.09l-2.11-6.48a.86.86 0 0 0-.8-.57c-.36 0-.68.25-.79.58l-2 6.17H8.84L6.83 3.33a.85.85 0 0 0-.79-.58c-.37 0-.69.25-.8.58L3.13 9.82v.01l-1.07 3.28c-.16.5.01 1.04.44 1.34l9.22 6.71c.17.12.39.12.56-.01l9.22-6.7c.43-.3.6-.84.44-1.34M8.15 10.45l2.57 7.91-6.17-7.91m8.73 7.92 2.47-7.59.1-.33h3.61l-5.59 7.16m4.1-13.67 1.81 5.56h-3.62m-1.3.95-1.79 5.51L12 19.24l-2.86-8.79M6.03 3.94 7.84 9.5H4.23m-1.18 4.19c-.09-.07-.13-.19-.09-.29l.79-2.43 5.82 7.45m11.38-4.73-6.51 4.73.02-.03 5.79-7.42.79 2.43c.04.1 0 .22-.09.29"/></svg>');--magiclink-commit-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.944 11h4.306a.75.75 0 0 1 0 1.5h-4.306a5.001 5.001 0 0 1-9.888 0H2.75a.75.75 0 0 1 0-1.5h4.306a5.001 5.001 0 0 1 9.888 0m-1.444.75a3.5 3.5 0 1 0-7 0 3.5 3.5 0 0 0 7 0"/></svg>');--magiclink-compare-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.5 6.75a.75.75 0 0 0-1.5 0V9H8.75a.75.75 0 0 0 0 1.5H11v2.25a.75.75 0 0 0 1.5 0V10.5h2.25a.75.75 0 0 0 0-1.5H12.5zM8.75 16a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 0-1.5z"/><path d="M5 1h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2m-.5 2v18a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5V7.018a.5.5 0 0 0-.146-.354l-4.018-4.018a.5.5 0 0 0-.354-.146H5a.5.5 0 0 0-.5.5"/></svg>');--magiclink-pull-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16 19.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0m-14.5 0a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0m0-14.5a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0M4.75 3a1.75 1.75 0 1 0 .001 3.501A1.75 1.75 0 0 0 4.75 3m0 14.5a1.75 1.75 0 1 0 .001 3.501A1.75 1.75 0 0 0 4.75 17.5m14.5 0a1.75 1.75 0 1 0 .001 3.501 1.75 1.75 0 0 0-.001-3.501"/><path d="M13.405 1.72a.75.75 0 0 1 0 1.06L12.185 4h4.065A3.75 3.75 0 0 1 20 7.75v8.75a.75.75 0 0 1-1.5 0V7.75a2.25 2.25 0 0 0-2.25-2.25h-4.064l1.22 1.22a.75.75 0 0 1-1.061 1.06l-2.5-2.5a.75.75 0 0 1 0-1.06l2.5-2.5a.75.75 0 0 1 1.06 0M4.75 7.25A.75.75 0 0 1 5.5 8v8A.75.75 0 0 1 4 16V8a.75.75 0 0 1 .75-.75"/></svg>');--magiclink-issue-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1M2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12m9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14"/></svg>');--magiclink-discussion-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1M1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.75.75 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25"/><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25z"/></svg>')}.md-typeset a[href^="mailto:"]:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-email-icon);mask-image:var(--magiclink-email-icon)}.md-typeset .magiclink-repository:not(.magiclink-ignore),.md-typeset .magiclink-compare:not(.magiclink-ignore),.md-typeset .magiclink-commit:not(.magiclink-ignore),.md-typeset .magiclink-pull:not(.magiclink-ignore),.md-typeset .magiclink-issue:not(.magiclink-ignore),.md-typeset .magiclink-discussion:not(.magiclink-ignore),.md-typeset a[href^="mailto:"]:not(.magiclink-ignore){position:relative;padding-left:1.375em}.md-typeset .magiclink-repository:not(.magiclink-ignore)::before,.md-typeset .magiclink-compare:not(.magiclink-ignore)::before,.md-typeset .magiclink-commit:not(.magiclink-ignore)::before,.md-typeset .magiclink-pull:not(.magiclink-ignore)::before,.md-typeset .magiclink-issue:not(.magiclink-ignore)::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before,.md-typeset a[href^="mailto:"]:not(.magiclink-ignore)::before{position:absolute;top:0;left:0;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-typeset-a-color);background-size:1.25em;transition:background-color 125ms;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset .magiclink-repository:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-compare:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-commit:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-pull:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-issue:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore):hover::before,.md-typeset a[href^="mailto:"]:not(.magiclink-ignore):hover::before{background-color:var(--md-accent-fg-color)}.md-typeset .magiclink-commit:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-commit-icon);mask-image:var(--magiclink-commit-icon)}.md-typeset .magiclink-compare:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-compare-icon);mask-image:var(--magiclink-compare-icon)}.md-typeset .magiclink-pull:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-pull-icon);mask-image:var(--magiclink-pull-icon)}.md-typeset .magiclink-issue:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-issue-icon);mask-image:var(--magiclink-issue-icon)}.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-discussion-icon);mask-image:var(--magiclink-discussion-icon)}.md-typeset .magiclink-repository.magiclink-github:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-github-icon);mask-image:var(--magiclink-github-icon)}.md-typeset .magiclink-repository.magiclink-gitlab:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-gitlab-icon);mask-image:var(--magiclink-gitlab-icon)}.md-typeset .magiclink-repository.magiclink-bitbucket:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-bitbucket-icon);mask-image:var(--magiclink-bitbucket-icon)}.md-typeset mark:not(.critic){box-shadow:none}.md-typeset .progress-label{position:absolute;width:100%;margin:0;color:var(--md-text-color);font-weight:700;line-height:1.4rem;white-space:nowrap;text-align:center;text-shadow:-0.0625em -0.0625em .375em var(--md-default-bg-color--light),.0625em -0.0625em .375em var(--md-default-bg-color--light),-0.0625em .0625em .375em var(--md-default-bg-color--light),.0625em .0625em .375em var(--md-default-bg-color--light)}.md-typeset .progress-bar{float:left;height:1.2rem;background-color:#2979ff}.md-typeset .candystripe-animate .progress-bar{animation:animate-stripes 3s linear infinite}.md-typeset .progress{position:relative;display:block;width:100%;height:1.2rem;margin:.5rem 0;background-color:var(--md-default-fg-color--lightest)}.md-typeset .progress.thin{height:.4rem;margin-top:.9rem}.md-typeset .progress.thin .progress-label{margin-top:-0.4rem}.md-typeset .progress.thin .progress-bar{height:.4rem}.md-typeset .progress.candystripe .progress-bar{background-image:linear-gradient(135deg, var(--md-progress-stripe) 27%, transparent 27%, transparent 52%, var(--md-progress-stripe) 52%, var(--md-progress-stripe) 77%, transparent 77%, transparent);background-size:2rem 2rem}.md-typeset .progress-100plus .progress-bar{background-color:var(--md-progress-100)}.md-typeset .progress-80plus .progress-bar{background-color:var(--md-progress-80)}.md-typeset .progress-60plus .progress-bar{background-color:var(--md-progress-60)}.md-typeset .progress-40plus .progress-bar{background-color:var(--md-progress-40)}.md-typeset .progress-20plus .progress-bar{background-color:var(--md-progress-20)}.md-typeset .progress-0plus .progress-bar{background-color:var(--md-progress-0)}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:6rem 0}}.md-typeset .tabbed-control button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.md-typeset .tabbed-control--next button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.js .md-typeset .tabbed-labels::before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control{width:2rem}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control[hidden]{width:1.2rem;opacity:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block{padding:0 .6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child{margin-top:.9375em}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child code{border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child span.filename{margin-top:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child pre code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilite code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilitetable code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlight code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlighttable code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>diagram-div:only-child{margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}[data-md-color-scheme=slate] .md-typeset .task-list-control .task-list-indicator::before{background-color:var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate] .md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:hsl(135,94%,65%)}:root>*{--toc-svg-link: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4a5 5 0 0 0 5-5 5 5 0 0 0-5-5"/></svg>')}.md-typeset .headerlink{width:1em;height:1em;vertical-align:middle;background-color:var(--md-default-fg-color--lighter);background-size:1em;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;visibility:visible;-webkit-mask-image:var(--toc-svg-link);mask-image:var(--toc-svg-link)}.md-typeset .headerlink:hover,.md-typeset [id]:target .headerlink{background-color:var(--md-accent-fg-color)}diagram-div{overflow:auto}.md-typeset div.steps>ol{counter-reset:item}.md-typeset div.steps>ol>li{position:relative;padding-left:1em;list-style:none}.md-typeset div.steps>ol>li::before{position:absolute;top:0;left:0;z-index:-1;display:block;width:1.75em;height:1.75em;margin-left:-1.25em;color:var(--md-steps-fg-color);font-weight:600;font-size:.9em;text-align:center;background-color:var(--md-steps-bg-color);border:1px solid var(--md-steps-border-color);border-radius:100px;content:counter(item);counter-increment:item}.md-typeset div.steps>ol>li::after{position:absolute;top:0;bottom:0;left:-0.36em;display:block;width:1px;margin-top:2em;border-left:1px solid var(--md-steps-border-color);content:""}.md-typeset table:not([class]){background:none;border-radius:.4rem}.md-typeset table:not([class]) th{border-bottom:.1rem solid var(--md-accent-fg-color)}html{background-color:rgba(0,0,0,0)}[data-md-component=announce] .twemoji{color:var(--md-primary-fg-color)}.md-container .md-tabs .md-tabs__item--active{border-bottom:.1rem solid var(--md-accent-fg-color)}.md-nav--secondary>ul{border-left:.1rem solid var(--md-default-fg-color--lightest)}.md-nav--secondary ul .md-nav__item .md-nav__link--active{margin-left:-0.1rem;padding-left:.8rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-0.7rem;padding-left:1.4rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.3rem;padding-left:2rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.9rem;padding-left:2.6rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-2.5rem;padding-left:3.2rem}.md-nav--secondary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav--secondary .md-nav__item .md-nav__link--active{color:var(--md-default-fg-color);border-left:.1rem solid var(--md-accent-fg-color);border-top-left-radius:0;border-bottom-left-radius:0}.md-nav--secondary .md-nav__item .md-nav__link:focus,.md-nav--secondary .md-nav__item .md-nav__link:hover{color:var(--md-default-fg-color)}.md-nav--primary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav__source{color:var(--md-text-color)}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--light)}.md-typeset h5{color:var(--md-text-color);text-transform:none}.md-typeset__scrollwrap,.md-sidebar__scrollwrap,.md-search__scrollwrap,.md-typeset pre>code,.md-typeset div.mermaid,.md-typeset div.diagram,.md-typeset mermaid-div,.md-typeset diagram-div,.md-typeset pre.arithmatex,.md-typeset div.arithmatex{scrollbar-color:var(--md-default-fg-color--lighter) rgba(0,0,0,0);scrollbar-width:thin}.md-typeset__scrollwrap:hover,.md-sidebar__scrollwrap:hover,.md-search__scrollwrap:hover,.md-typeset pre>code:hover,.md-typeset div.mermaid:hover,.md-typeset div.diagram:hover,.md-typeset mermaid-div:hover,.md-typeset diagram-div:hover,.md-typeset pre.arithmatex:hover,.md-typeset div.arithmatex:hover{scrollbar-color:var(--md-accent-fg-color) rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar,.md-sidebar__scrollwrap::-webkit-scrollbar,.md-search__scrollwrap::-webkit-scrollbar,.md-typeset pre>code::-webkit-scrollbar,.md-typeset div.mermaid::-webkit-scrollbar,.md-typeset div.diagram::-webkit-scrollbar,.md-typeset mermaid-div::-webkit-scrollbar,.md-typeset diagram-div::-webkit-scrollbar,.md-typeset pre.arithmatex::-webkit-scrollbar,.md-typeset div.arithmatex::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset__scrollwrap::-webkit-scrollbar-corner,.md-sidebar__scrollwrap::-webkit-scrollbar-corner,.md-search__scrollwrap::-webkit-scrollbar-corner,.md-typeset pre>code::-webkit-scrollbar-corner,.md-typeset div.mermaid::-webkit-scrollbar-corner,.md-typeset div.diagram::-webkit-scrollbar-corner,.md-typeset mermaid-div::-webkit-scrollbar-corner,.md-typeset diagram-div::-webkit-scrollbar-corner,.md-typeset pre.arithmatex::-webkit-scrollbar-corner,.md-typeset div.arithmatex::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb,.md-search__scrollwrap::-webkit-scrollbar-thumb,.md-typeset pre>code::-webkit-scrollbar-thumb,.md-typeset div.mermaid::-webkit-scrollbar-thumb,.md-typeset div.diagram::-webkit-scrollbar-thumb,.md-typeset mermaid-div::-webkit-scrollbar-thumb,.md-typeset diagram-div::-webkit-scrollbar-thumb,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb,.md-typeset div.arithmatex::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover,.md-search__scrollwrap::-webkit-scrollbar-thumb:hover,.md-typeset pre>code::-webkit-scrollbar-thumb:hover,.md-typeset div.mermaid::-webkit-scrollbar-thumb:hover,.md-typeset div.diagram::-webkit-scrollbar-thumb:hover,.md-typeset mermaid-div::-webkit-scrollbar-thumb:hover,.md-typeset diagram-div::-webkit-scrollbar-thumb:hover,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb:hover,.md-typeset div.arithmatex::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-content__inner>diagram-div{margin-right:-0.8rem;margin-left:-0.8rem}.md-content__inner>.highlight span.filename{border-top-left-radius:0;border-top-right-radius:0}.md-content__inner>.collapse-code{margin-right:-0.8rem;margin-left:-0.8rem}.md-content__inner>.collapse-code label.collapse{left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:0}.md-content__inner>.tabbed-set .tabbed-labels{max-width:100%;margin:0;padding-inline-start:0;scroll-padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels::after{padding-inline-end:0;content:none}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-inline-start:0;padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-inline-end:0;padding-inline-end:0}}
2
+ /*# sourceMappingURL=extra-b4375c8180.css.map */