about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages')
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/__init__.py40
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/af.py108
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ar.py99
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ca.py130
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/cs.py110
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/da.py114
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/de.py107
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/en.py114
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/eo.py119
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/es.py123
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/fa.py102
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/fi.py98
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/fr.py108
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/gl.py106
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/he.py110
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/it.py99
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ja.py119
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ka.py90
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ko.py111
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/lt.py109
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/lv.py108
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/nl.py114
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/pl.py101
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/pt_br.py110
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ru.py90
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/sk.py96
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/sv.py96
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/uk.py91
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/zh_cn.py104
-rw-r--r--.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/zh_tw.py109
30 files changed, 3135 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/__init__.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/__init__.py
new file mode 100644
index 00000000..a8bfd231
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/__init__.py
@@ -0,0 +1,40 @@
+# $Id: __init__.py 9026 2022-03-04 15:57:13Z milde $
+# Author: David Goodger <goodger@python.org>
+# Copyright: This module has been placed in the public domain.
+
+# Internationalization details are documented in
+# <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+
+"""
+This package contains modules for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+from docutils.languages import LanguageImporter
+
+
+class RstLanguageImporter(LanguageImporter):
+    """Import language modules.
+
+    When called with a BCP 47 language tag, instances return a module
+    with localisations for "directive" and "role" names for  from
+    `docutils.parsers.rst.languages` or the PYTHONPATH.
+
+    If there is no matching module, warn (if a `reporter` is passed)
+    and return None.
+    """
+    packages = ('docutils.parsers.rst.languages.', '')
+    warn_msg = 'rST localisation for language "%s" not found.'
+    fallback = None
+
+    def check_content(self, module):
+        """Check if we got an rST language module."""
+        if not (isinstance(module.directives, dict)
+                and isinstance(module.roles, dict)):
+            raise ImportError
+
+
+get_language = RstLanguageImporter()
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/af.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/af.py
new file mode 100644
index 00000000..31cb4ebf
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/af.py
@@ -0,0 +1,108 @@
+# $Id: af.py 9417 2023-06-27 20:04:54Z milde $
+# Author: Jannie Hofmeyr <jhsh@sun.ac.za>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Afrikaans-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      'aandag': 'attention',
+      'versigtig': 'caution',
+      'code (translation required)': 'code',
+      'gevaar': 'danger',
+      'fout': 'error',
+      'wenk': 'hint',
+      'belangrik': 'important',
+      'nota': 'note',
+      'tip': 'tip',  # hint and tip both have the same translation: wenk
+      'waarskuwing': 'warning',
+      'advies': 'admonition',
+      'vermaning': 'admonition',  # sic! kept for backwards compatibiltity
+      'kantstreep': 'sidebar',
+      'onderwerp': 'topic',
+      'lynblok': 'line-block',
+      'math (translation required)': 'math',
+      'parsed-literal (translation required)': 'parsed-literal',
+      'rubriek': 'rubric',
+      'epigraaf': 'epigraph',
+      'hoogtepunte': 'highlights',
+      'pull-quote (translation required)': 'pull-quote',
+      'compound (translation required)': 'compound',
+      'container (translation required)': 'container',
+      # 'vrae': 'questions',
+      # 'qa': 'questions',
+      # 'faq': 'questions',
+      'table (translation required)': 'table',
+      'csv-table (translation required)': 'csv-table',
+      'list-table (translation required)': 'list-table',
+      'meta': 'meta',
+      # 'beeldkaart': 'imagemap',
+      'beeld': 'image',
+      'figuur': 'figure',
+      'insluiting': 'include',
+      'rou': 'raw',
+      'vervang': 'replace',
+      'unicode': 'unicode',  # should this be translated? unikode
+      'datum': 'date',
+      'klas': 'class',
+      'role (translation required)': 'role',
+      'default-role (translation required)': 'default-role',
+      'title (translation required)': 'title',
+      'inhoud': 'contents',
+      'sectnum': 'sectnum',
+      'section-numbering': 'sectnum',
+      'header (translation required)': 'header',
+      'footer (translation required)': 'footer',
+      # 'voetnote': 'footnotes',
+      # 'aanhalings': 'citations',
+      'teikennotas': 'target-notes',
+      'restructuredtext-test-directive': 'restructuredtext-test-directive'}
+"""Afrikaans name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    'afkorting': 'abbreviation',
+    'ab': 'abbreviation',
+    'akroniem': 'acronym',
+    'ac': 'acronym',
+    'code (translation required)': 'code',
+    'indeks': 'index',
+    'i': 'index',
+    'voetskrif': 'subscript',
+    'sub': 'subscript',
+    'boskrif': 'superscript',
+    'sup': 'superscript',
+    'titelverwysing': 'title-reference',
+    'titel': 'title-reference',
+    't': 'title-reference',
+    'pep-verwysing': 'pep-reference',
+    'pep': 'pep-reference',
+    'rfc-verwysing': 'rfc-reference',
+    'rfc': 'rfc-reference',
+    'nadruk': 'emphasis',
+    'sterk': 'strong',
+    'literal (translation required)': 'literal',
+    'math (translation required)': 'math',
+    'benoemde verwysing': 'named-reference',
+    'anonieme verwysing': 'anonymous-reference',
+    'voetnootverwysing': 'footnote-reference',
+    'aanhalingverwysing': 'citation-reference',
+    'vervangingsverwysing': 'substitution-reference',
+    'teiken': 'target',
+    'uri-verwysing': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    'rou': 'raw',
+    }
+"""Mapping of Afrikaans role names to canonical names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ar.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ar.py
new file mode 100644
index 00000000..71be92a5
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ar.py
@@ -0,0 +1,99 @@
+# $Id: fa.py 4564 2016-08-10 11:48:42Z
+# Author: Shahin <me@5hah.in>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Arabic-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+directives = {
+    # language-dependent: fixed
+    'تنبيه': 'attention',
+    'احتیاط': 'caution',
+    'كود': 'code',
+    'خطر': 'danger',
+    'خطأ': 'error',
+    'تلميح': 'hint',
+    'مهم': 'important',
+    'ملاحظة': 'note',
+    'نصيحة': 'tip',
+    'تحذير': 'warning',
+    'تذكير': 'admonition',
+    'شريط-جانبي': 'sidebar',
+    'موضوع': 'topic',
+    'قالب-سطري': 'line-block',
+    'لفظ-حرفي': 'parsed-literal',
+    'معيار': 'rubric',
+    'فكرة-الكتاب': 'epigraph',
+    'تمييز': 'highlights',
+    'نقل-قول': 'pull-quote',
+    'ترکیب': 'compound',
+    'وعاء': 'container',
+    # 'questions': 'questions',
+    'جدول': 'table',
+    'جدول-csv': 'csv-table',
+    'جدول-قوائم': 'list-table',
+    # 'qa': 'questions',
+    # 'faq': 'questions',
+    'ميتا': 'meta',
+    'رياضيات': 'math',
+    # 'imagemap': 'imagemap',
+    'صورة': 'image',
+    'رسم-توضيحي': 'figure',
+    'تضمين': 'include',
+    'خام': 'raw',
+    'تبديل': 'replace',
+    'یونیکد': 'unicode',
+    'تاریخ': 'date',
+    'كائن': 'class',
+    'قانون': 'role',
+    'قانون-افتراضي': 'default-role',
+    'عنوان': 'title',
+    'المحتوى': 'contents',
+    'رقم-الفصل': 'sectnum',
+    'رقم-القسم': 'sectnum',
+    'رأس-الصفحة': 'header',
+    'هامش': 'footer',
+    # 'footnotes': 'footnotes',
+    # 'citations': 'citations',
+    '': 'target-notes',
+}
+"""Arabic name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    # language-dependent: fixed
+    'اختصار': 'abbreviation',
+    'اختزال': 'acronym',
+    'كود': 'code',
+    'فهرس': 'index',
+    'خفض': 'subscript',
+    'رفع': 'superscript',
+    'عنوان-مرجع': 'title-reference',
+    'مرجع-pep': 'pep-reference',
+    'rfc-مرجع': 'rfc-reference',
+    'تأكيد': 'emphasis',
+    'عريض': 'strong',
+    'لفظی': 'literal',
+    'رياضيات': 'math',
+    'مرجع-مسمى': 'named-reference',
+    'مرجع-مجهول': 'anonymous-reference',
+    'مرجع-هامشي': 'footnote-reference',
+    'مرجع-منقول': 'citation-reference',
+    'مرجع-معوض': 'substitution-reference',
+    'هدف': 'target',
+    'منبع-uri': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    'خام': 'raw',
+}
+"""Mapping of Arabic role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ca.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ca.py
new file mode 100644
index 00000000..8c8eae40
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ca.py
@@ -0,0 +1,130 @@
+# $Id: ca.py 9457 2023-10-02 16:25:50Z milde $
+# Authors: Ivan Vilata i Balaguer <ivan@selidor.net>;
+#          Antoni Bella Pérez <antonibella5@yahoo.com>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation,
+# please read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+# These translations can be used without changes for
+# Valencian variant of Catalan (use language tag "ca-valencia").
+# Checked by a native speaker of Valentian.
+
+"""
+Catalan-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      # language-dependent: fixed
+      'atenció': 'attention',
+      'compte': 'caution',
+      'perill': 'danger',
+      'error': 'error',
+      'suggeriment': 'hint',
+      'important': 'important',
+      'nota': 'note',
+      'consell': 'tip',
+      'avís': 'warning',
+      'advertiment': 'admonition',
+      'nota-al-marge': 'sidebar',
+      'nota-marge': 'sidebar',
+      'tema': 'topic',
+      'bloc-de-línies': 'line-block',
+      'bloc-línies': 'line-block',
+      'literal-analitzat': 'parsed-literal',
+      'codi': 'code',
+      'bloc-de-codi': 'code',
+      'matemàtiques': 'math',
+      'rúbrica': 'rubric',
+      'epígraf': 'epigraph',
+      'sumari': 'highlights',
+      'cita-destacada': 'pull-quote',
+      'compost': 'compound',
+      'contenidor': 'container',
+      'taula': 'table',
+      'taula-csv': 'csv-table',
+      'taula-llista': 'list-table',
+      'meta': 'meta',
+      # 'imagemap': 'imagemap',
+      'imatge': 'image',
+      'figura': 'figure',
+      'inclou': 'include',
+      'incloure': 'include',
+      'cru': 'raw',
+      'reemplaça': 'replace',
+      'reemplaçar': 'replace',
+      'unicode': 'unicode',
+      'data': 'date',
+      'classe': 'class',
+      'rol': 'role',
+      'rol-predeterminat': 'default-role',
+      'títol': 'title',
+      'contingut': 'contents',
+      'numsec': 'sectnum',
+      'numeració-de-seccions': 'sectnum',
+      'numeració-seccions': 'sectnum',
+      'capçalera': 'header',
+      'peu-de-pàgina': 'footer',
+      'peu-pàgina': 'footer',
+      # 'footnotes': 'footnotes',
+      # 'citations': 'citations',
+      'notes-amb-destinacions': 'target-notes',
+      'notes-destinacions': 'target-notes',
+      'directiva-de-prova-de-restructuredtext': 'restructuredtext-test-directive'}  # noqa:E501
+"""Catalan name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    # language-dependent: fixed
+    'abreviatura': 'abbreviation',
+    'abreviació': 'abbreviation',
+    'abrev': 'abbreviation',
+    'ab': 'abbreviation',
+    'acrònim': 'acronym',
+    'ac': 'acronym',
+    'codi': 'code',
+    'èmfasi': 'emphasis',
+    'literal': 'literal',
+    'matemàtiques': 'math',
+    'referència-a-pep': 'pep-reference',
+    'referència-pep': 'pep-reference',
+    'pep': 'pep-reference',
+    'referència-a-rfc': 'rfc-reference',
+    'referència-rfc': 'rfc-reference',
+    'rfc': 'rfc-reference',
+    'destacat': 'strong',
+    'subíndex': 'subscript',
+    'sub': 'subscript',
+    'superíndex': 'superscript',
+    'sup': 'superscript',
+    'referència-a-títol': 'title-reference',
+    'referència-títol': 'title-reference',
+    'títol': 'title-reference',
+    't': 'title-reference',
+    'cru': 'raw',
+    # the following roles are not implemented in Docutils
+    'índex': 'index',
+    'i': 'index',
+    'referència-anònima': 'anonymous-reference',
+    'referència-a-cita': 'citation-reference',
+    'referència-cita': 'citation-reference',
+    'referència-a-nota-al-peu': 'footnote-reference',
+    'referència-nota-al-peu': 'footnote-reference',
+    'referència-amb-nom': 'named-reference',
+    'referència-nom': 'named-reference',
+    'referència-a-substitució': 'substitution-reference',
+    'referència-substitució': 'substitution-reference',
+    'referència-a-uri': 'uri-reference',
+    'referència-uri': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    'destinació': 'target',
+    }
+"""Mapping of Catalan role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/cs.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/cs.py
new file mode 100644
index 00000000..70274d28
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/cs.py
@@ -0,0 +1,110 @@
+# $Id: cs.py 9452 2023-09-27 00:11:54Z milde $
+# Author: Marek Blaha <mb@dat.cz>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Czech-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      # language-dependent: fixed
+      'pozor': 'attention',
+      # jak rozlisit caution a warning?
+      'caution (translation required)': 'caution',
+      'code (translation required)': 'code',
+      'nebezpečí': 'danger',
+      'chyba': 'error',
+      'rada': 'hint',
+      'důležité': 'important',
+      'poznámka': 'note',
+      'tip (translation required)': 'tip',
+      'varování': 'warning',
+      'admonition (translation required)': 'admonition',
+      'sidebar (translation required)': 'sidebar',
+      'téma': 'topic',
+      'line-block (translation required)': 'line-block',
+      'parsed-literal (translation required)': 'parsed-literal',
+      'oddíl': 'rubric',
+      'moto': 'epigraph',
+      'highlights (translation required)': 'highlights',
+      'pull-quote (translation required)': 'pull-quote',
+      'compound (translation required)': 'compound',
+      'container (translation required)': 'container',
+      # 'questions': 'questions',
+      # 'qa': 'questions',
+      # 'faq': 'questions',
+      'table (translation required)': 'table',
+      'csv-table (translation required)': 'csv-table',
+      'list-table (translation required)': 'list-table',
+      'math (translation required)': 'math',
+      'meta (translation required)': 'meta',
+      # 'imagemap': 'imagemap',
+      'image (translation required)': 'image',    # obrazek
+      'figure (translation required)': 'figure',  # a tady?
+      'include (translation required)': 'include',
+      'raw (translation required)': 'raw',
+      'replace (translation required)': 'replace',
+      'unicode (translation required)': 'unicode',
+      'datum': 'date',
+      'třída': 'class',
+      'role (translation required)': 'role',
+      'default-role (translation required)': 'default-role',
+      'title (translation required)': 'title',
+      'obsah': 'contents',
+      'sectnum (translation required)': 'sectnum',
+      'section-numbering (translation required)': 'sectnum',
+      'header (translation required)': 'header',
+      'footer (translation required)': 'footer',
+      # 'footnotes': 'footnotes',
+      # 'citations': 'citations',
+      'target-notes (translation required)': 'target-notes',
+      'restructuredtext-test-directive': 'restructuredtext-test-directive'}
+"""Czech name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    # language-dependent: fixed
+    'abbreviation (translation required)': 'abbreviation',
+    'ab (translation required)': 'abbreviation',
+    'acronym (translation required)': 'acronym',
+    'ac (translation required)': 'acronym',
+    'code (translation required)': 'code',
+    'index (translation required)': 'index',
+    'i (translation required)': 'index',
+    'subscript (translation required)': 'subscript',
+    'sub (translation required)': 'subscript',
+    'superscript (translation required)': 'superscript',
+    'sup (translation required)': 'superscript',
+    'title-reference (translation required)': 'title-reference',
+    'title (translation required)': 'title-reference',
+    't (translation required)': 'title-reference',
+    'pep-reference (translation required)': 'pep-reference',
+    'pep (translation required)': 'pep-reference',
+    'rfc-reference (translation required)': 'rfc-reference',
+    'rfc (translation required)': 'rfc-reference',
+    'emphasis (translation required)': 'emphasis',
+    'strong (translation required)': 'strong',
+    'literal (translation required)': 'literal',
+    'math (translation required)': 'math',
+    'named-reference (translation required)': 'named-reference',
+    'anonymous-reference (translation required)': 'anonymous-reference',
+    'footnote-reference (translation required)': 'footnote-reference',
+    'citation-reference (translation required)': 'citation-reference',
+    'substitution-reference (translation required)': 'substitution-reference',
+    'target (translation required)': 'target',
+    'uri-reference (translation required)': 'uri-reference',
+    'uri (translation required)': 'uri-reference',
+    'url (translation required)': 'uri-reference',
+    'raw (translation required)': 'raw',
+    }
+"""Mapping of Czech role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/da.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/da.py
new file mode 100644
index 00000000..31a250e1
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/da.py
@@ -0,0 +1,114 @@
+# $Id: da.py 9417 2023-06-27 20:04:54Z milde $
+# Author: E D
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Danish-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      # language-dependent: fixed
+      'giv agt': 'attention',
+      'pas på': 'caution',
+      'kode': 'code',
+      'kode-blok': 'code',
+      'kildekode': 'code',
+      'fare': 'danger',
+      'fejl': 'error',
+      'vink': 'hint',
+      'vigtigt': 'important',
+      'bemærk': 'note',
+      'tips': 'tip',
+      'advarsel': 'warning',
+      'varsel': 'admonition',
+      'formaning': 'admonition',  # sic! kept for backwards compatibiltity
+      'sidebjælke': 'sidebar',
+      'emne': 'topic',
+      'linje-blok': 'line-block',
+      'linie-blok': 'line-block',
+      'parset-literal': 'parsed-literal',
+      'rubrik': 'rubric',
+      'epigraf': 'epigraph',
+      'fremhævninger': 'highlights',
+      'pull-quote (translation required)': 'pull-quote',
+      'compound (translation required)': 'compound',
+      'container (translation required)': 'container',
+      # 'questions': 'questions',
+      'tabel': 'table',
+      'csv-tabel': 'csv-table',
+      'liste-tabel': 'list-table',
+      # 'qa': 'questions',
+      # 'faq': 'questions',
+      'meta': 'meta',
+      'math (translation required)': 'math',
+      # 'imagemap': 'imagemap',
+      'billede': 'image',
+      'figur': 'figure',
+      'inkludér': 'include',
+      'inkluder': 'include',
+      'rå': 'raw',
+      'erstat': 'replace',
+      'unicode': 'unicode',
+      'dato': 'date',
+      'klasse': 'class',
+      'rolle': 'role',
+      'forvalgt-rolle': 'default-role',
+      'titel': 'title',
+      'indhold': 'contents',
+      'sektnum': 'sectnum',
+      'sektions-nummerering': 'sectnum',
+      'sidehovede': 'header',
+      'sidefod': 'footer',
+      # 'footnotes': 'footnotes',
+      # 'citations': 'citations',
+      'target-notes (translation required)': 'target-notes',
+      'restructuredtext-test-direktiv': 'restructuredtext-test-directive'}
+"""Danish name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    # language-dependent: fixed
+    'forkortelse': 'abbreviation',
+    'fork': 'abbreviation',
+    'akronym': 'acronym',
+    'ac (translation required)': 'acronym',
+    'kode': 'code',
+    'indeks': 'index',
+    'i': 'index',
+    'subscript (translation required)': 'subscript',
+    'sub (translation required)': 'subscript',
+    'superscript (translation required)': 'superscript',
+    'sup (translation required)': 'superscript',
+    'titel-reference': 'title-reference',
+    'titel': 'title-reference',
+    't': 'title-reference',
+    'pep-reference': 'pep-reference',
+    'pep': 'pep-reference',
+    'rfc-reference': 'rfc-reference',
+    'rfc': 'rfc-reference',
+    'emfase': 'emphasis',
+    'kraftig': 'strong',
+    'literal': 'literal',
+    'math (translation required)': 'math',
+    'navngivet-reference': 'named-reference',
+    'anonym-reference': 'anonymous-reference',
+    'fodnote-reference': 'footnote-reference',
+    'citation-reference (translation required)': 'citation-reference',
+    'substitutions-reference': 'substitution-reference',
+    'target (translation required)': 'target',
+    'uri-reference': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    'rå': 'raw',
+    }
+"""Mapping of Danish role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/de.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/de.py
new file mode 100644
index 00000000..4b7ef8e0
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/de.py
@@ -0,0 +1,107 @@
+# $Id: de.py 9428 2023-07-07 06:50:26Z milde $
+# Authors: Engelbert Gruber <grubert@users.sourceforge.net>;
+#          Lea Wiemann <LeWiemann@gmail.com>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+German-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      'warnhinweis': 'admonition',  # or, more generally, 'anmerkung'?
+      'ermahnung': 'admonition',  # sic! kept for backwards compatibiltity
+      'achtung': 'attention',
+      'vorsicht': 'caution',
+      'code': 'code',
+      'gefahr': 'danger',
+      'fehler': 'error',
+      'hinweis': 'hint',  # Wink
+      'wichtig': 'important',
+      'notiz': 'note',
+      'tipp': 'tip',
+      'warnung': 'warning',
+      'kasten': 'sidebar',
+      'seitenkasten': 'sidebar',  # kept for backwards compatibiltity
+      'seitenleiste': 'sidebar',
+      'thema': 'topic',
+      'zeilenblock': 'line-block',
+      'parsed-literal (translation required)': 'parsed-literal',
+      'rubrik': 'rubric',
+      'epigraph': 'epigraph',
+      'highlights': 'highlights',
+      'pull-quote': 'pull-quote',  # commonly used in German too
+      'seitenansprache': 'pull-quote',
+      # cf. http://www.typografie.info/2/wiki.php?title=Seitenansprache
+      'zusammengesetzt': 'compound',
+      'verbund': 'compound',
+      'container': 'container',
+      # 'fragen': 'questions',
+      'tabelle': 'table',
+      'csv-tabelle': 'csv-table',
+      'listentabelle': 'list-table',
+      'mathe': 'math',
+      'formel': 'math',
+      'meta': 'meta',
+      # 'imagemap': 'imagemap',
+      'bild': 'image',
+      'abbildung': 'figure',
+      'unverändert': 'raw',
+      'roh': 'raw',
+      'einfügen': 'include',
+      'ersetzung': 'replace',
+      'ersetzen': 'replace',
+      'ersetze': 'replace',
+      'unicode': 'unicode',
+      'datum': 'date',
+      'klasse': 'class',
+      'rolle': 'role',
+      'standardrolle': 'default-role',
+      'titel': 'title',
+      'inhalt': 'contents',
+      'kapitelnummerierung': 'sectnum',
+      'abschnittsnummerierung': 'sectnum',
+      'linkziel-fußnoten': 'target-notes',
+      'kopfzeilen': 'header',
+      'fußzeilen': 'footer',
+      # 'fußnoten': 'footnotes',
+      # 'zitate': 'citations',
+      }
+"""German name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+      'abkürzung': 'abbreviation',
+      'akronym': 'acronym',
+      'code': 'code',
+      'index': 'index',
+      'tiefgestellt': 'subscript',
+      'hochgestellt': 'superscript',
+      'titel-referenz': 'title-reference',
+      'pep-referenz': 'pep-reference',
+      'rfc-referenz': 'rfc-reference',
+      'betonung': 'emphasis',  # for backwards compatibility
+      'betont': 'emphasis',
+      'fett': 'strong',
+      'wörtlich': 'literal',
+      'mathe': 'math',
+      'benannte-referenz': 'named-reference',
+      'unbenannte-referenz': 'anonymous-reference',
+      'fußnoten-referenz': 'footnote-reference',
+      'zitat-referenz': 'citation-reference',
+      'ersetzungs-referenz': 'substitution-reference',
+      'ziel': 'target',
+      'uri-referenz': 'uri-reference',
+      'unverändert': 'raw',
+      'roh': 'raw',
+      }
+"""Mapping of German role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/en.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/en.py
new file mode 100644
index 00000000..7b9319e6
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/en.py
@@ -0,0 +1,114 @@
+# $Id: en.py 9417 2023-06-27 20:04:54Z milde $
+# Author: David Goodger <goodger@python.org>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+English-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      # language-dependent: fixed
+      'attention': 'attention',
+      'caution': 'caution',
+      'danger': 'danger',
+      'error': 'error',
+      'hint': 'hint',
+      'important': 'important',
+      'note': 'note',
+      'tip': 'tip',
+      'warning': 'warning',
+      'admonition': 'admonition',  # advice/advisory/remark, not reprimand
+      'sidebar': 'sidebar',
+      'topic': 'topic',
+      'line-block': 'line-block',
+      'parsed-literal': 'parsed-literal',
+      'code': 'code',
+      'code-block': 'code',
+      'sourcecode': 'code',
+      'math': 'math',
+      'rubric': 'rubric',
+      'epigraph': 'epigraph',
+      'highlights': 'highlights',
+      'pull-quote': 'pull-quote',
+      'compound': 'compound',
+      'container': 'container',
+      'table': 'table',
+      'csv-table': 'csv-table',
+      'list-table': 'list-table',
+      'meta': 'meta',
+      # 'imagemap': 'imagemap',
+      'image': 'image',
+      'figure': 'figure',
+      'include': 'include',
+      'raw': 'raw',
+      'replace': 'replace',
+      'unicode': 'unicode',
+      'date': 'date',
+      'class': 'class',
+      'role': 'role',
+      'default-role': 'default-role',
+      'title': 'title',
+      'contents': 'contents',
+      'sectnum': 'sectnum',
+      'section-numbering': 'sectnum',
+      'header': 'header',
+      'footer': 'footer',
+      # 'footnotes': 'footnotes',
+      # 'citations': 'citations',
+      'target-notes': 'target-notes',
+      'restructuredtext-test-directive': 'restructuredtext-test-directive'}
+"""Mapping of English directive name to registered directive names
+
+Cf. https://docutils.sourceforge.io/docs/ref/rst/directives.html
+and `_directive_registry` in ``directives/__init__.py``.
+"""
+
+roles = {
+    # language-dependent: fixed
+    'abbreviation': 'abbreviation',
+    'ab': 'abbreviation',
+    'acronym': 'acronym',
+    'ac': 'acronym',
+    'code': 'code',
+    'emphasis': 'emphasis',
+    'literal': 'literal',
+    'math': 'math',
+    'pep-reference': 'pep-reference',
+    'pep': 'pep-reference',
+    'rfc-reference': 'rfc-reference',
+    'rfc': 'rfc-reference',
+    'strong': 'strong',
+    'subscript': 'subscript',
+    'sub': 'subscript',
+    'superscript': 'superscript',
+    'sup': 'superscript',
+    'title-reference': 'title-reference',
+    'title': 'title-reference',
+    't': 'title-reference',
+    'raw': 'raw',
+    # the following roles are not implemented in Docutils
+    'index': 'index',
+    'i': 'index',
+    'anonymous-reference': 'anonymous-reference',
+    'citation-reference': 'citation-reference',
+    'footnote-reference': 'footnote-reference',
+    'named-reference': 'named-reference',
+    'substitution-reference': 'substitution-reference',
+    'uri-reference': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    'target': 'target',
+    }
+"""Mapping of English role names to canonical role names for interpreted text.
+
+Cf. https://docutils.sourceforge.io/docs/ref/rst/roles.html
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/eo.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/eo.py
new file mode 100644
index 00000000..1db6694f
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/eo.py
@@ -0,0 +1,119 @@
+# $Id: eo.py 9452 2023-09-27 00:11:54Z milde $
+# Author: Marcelo Huerta San Martin <richieadler@users.sourceforge.net>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Esperanto-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+    # language-dependent: fixed
+    'atentu': 'attention',
+    'zorgu': 'caution',
+    'code (translation required)': 'code',
+    'dangxero': 'danger',
+    'danĝero': 'danger',
+    'eraro': 'error',
+    'spuro': 'hint',
+    'grava': 'important',
+    'noto': 'note',
+    'helpeto': 'tip',
+    'averto': 'warning',
+    'sciigo': 'admonition',
+    'admono': 'admonition',  # sic! kept for backwards compatibiltity
+    'flankteksto': 'sidebar',
+    'temo': 'topic',
+    'linea-bloko': 'line-block',
+    'analizota-literalo': 'parsed-literal',
+    'rubriko': 'rubric',
+    'epigrafo': 'epigraph',
+    'elstarajxoj': 'highlights',
+    'elstaraĵoj': 'highlights',
+    'ekstera-citajxo': 'pull-quote',
+    'ekstera-citaĵo': 'pull-quote',
+    'kombinajxo': 'compound',
+    'kombinaĵo': 'compound',
+    'tekstingo': 'container',
+    'enhavilo': 'container',
+    # 'questions': 'questions',
+    # 'qa': 'questions',
+    # 'faq': 'questions',
+    'tabelo': 'table',
+    'tabelo-vdk': 'csv-table',  # "valoroj disigitaj per komoj"
+    'tabelo-csv': 'csv-table',
+    'tabelo-lista': 'list-table',
+    'meta': 'meta',
+    'math (translation required)': 'math',
+    # 'imagemap': 'imagemap',
+    'bildo': 'image',
+    'figuro': 'figure',
+    'inkludi': 'include',
+    'senanaliza': 'raw',
+    'anstatauxi': 'replace',
+    'anstataŭi': 'replace',
+    'unicode': 'unicode',
+    'dato': 'date',
+    'klaso': 'class',
+    'rolo': 'role',
+    'preterlasita-rolo': 'default-role',
+    'titolo': 'title',
+    'enhavo': 'contents',
+    'seknum': 'sectnum',
+    'sekcia-numerado': 'sectnum',
+    'kapsekcio': 'header',
+    'piedsekcio': 'footer',
+    # 'footnotes': 'footnotes',
+    # 'citations': 'citations',
+    'celaj-notoj': 'target-notes',
+    'restructuredtext-test-directive': 'restructuredtext-test-directive'}
+"""Esperanto name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    # language-dependent: fixed
+    'mallongigo': 'abbreviation',
+    'mall': 'abbreviation',
+    'komenclitero': 'acronym',
+    'kl': 'acronym',
+    'code (translation required)': 'code',
+    'indekso': 'index',
+    'i': 'index',
+    'subskribo': 'subscript',
+    'sub': 'subscript',
+    'supraskribo': 'superscript',
+    'sup': 'superscript',
+    'titola-referenco': 'title-reference',
+    'titolo': 'title-reference',
+    't': 'title-reference',
+    'pep-referenco': 'pep-reference',
+    'pep': 'pep-reference',
+    'rfc-referenco': 'rfc-reference',
+    'rfc': 'rfc-reference',
+    'emfazo': 'emphasis',
+    'forta': 'strong',
+    'litera': 'literal',
+    'math (translation required)': 'math',
+    'nomita-referenco': 'named-reference',
+    'nenomita-referenco': 'anonymous-reference',
+    'piednota-referenco': 'footnote-reference',
+    'citajxo-referenco': 'citation-reference',
+    'citaĵo-referenco': 'citation-reference',
+    'anstatauxa-referenco': 'substitution-reference',
+    'anstataŭa-referenco': 'substitution-reference',
+    'celo': 'target',
+    'uri-referenco': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    'senanaliza': 'raw',
+}
+"""Mapping of Esperanto role names to canonical names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/es.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/es.py
new file mode 100644
index 00000000..b7dda6c9
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/es.py
@@ -0,0 +1,123 @@
+# $Id: es.py 9452 2023-09-27 00:11:54Z milde $
+# Author: Marcelo Huerta San Martín <richieadler@users.sourceforge.net>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Spanish-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+directives = {
+    'atención': 'attention',
+    'atencion': 'attention',
+    'precaución': 'caution',
+    'code (translation required)': 'code',
+    'precaucion': 'caution',
+    'peligro': 'danger',
+    'error': 'error',
+    'sugerencia': 'hint',
+    'importante': 'important',
+    'nota': 'note',
+    'consejo': 'tip',
+    'advertencia': 'warning',
+    'aviso': 'admonition',
+    'exhortacion': 'admonition',  # sic! kept for backwards compatibiltity
+    'exhortación': 'admonition',  # sic! kept for backwards compatibiltity
+    'nota-al-margen': 'sidebar',
+    'tema': 'topic',
+    'bloque-de-lineas': 'line-block',
+    'bloque-de-líneas': 'line-block',
+    'literal-evaluado': 'parsed-literal',
+    'firma': 'rubric',
+    'epígrafe': 'epigraph',
+    'epigrafe': 'epigraph',
+    'destacado': 'highlights',
+    'cita-destacada': 'pull-quote',
+    'combinacion': 'compound',
+    'combinación': 'compound',
+    'contenedor': 'container',
+    # 'questions': 'questions',
+    # 'qa': 'questions',
+    # 'faq': 'questions',
+    'tabla': 'table',
+    'tabla-vsc': 'csv-table',
+    'tabla-csv': 'csv-table',
+    'tabla-lista': 'list-table',
+    'meta': 'meta',
+    'math (translation required)': 'math',
+    # 'imagemap': 'imagemap',
+    'imagen': 'image',
+    'figura': 'figure',
+    'incluir': 'include',
+    'sin-analisis': 'raw',
+    'sin-análisis': 'raw',
+    'reemplazar': 'replace',
+    'unicode': 'unicode',
+    'fecha': 'date',
+    'clase': 'class',
+    'rol': 'role',
+    'rol-por-omision': 'default-role',
+    'rol-por-omisión': 'default-role',
+    'titulo': 'title',
+    'título': 'title',
+    'contenido': 'contents',
+    'numseccion': 'sectnum',
+    'numsección': 'sectnum',
+    'numeracion-seccion': 'sectnum',
+    'numeración-sección': 'sectnum',
+    'notas-destino': 'target-notes',
+    'cabecera': 'header',
+    'pie': 'footer',
+    # 'footnotes': 'footnotes',
+    # 'citations': 'citations',
+    'restructuredtext-test-directive': 'restructuredtext-test-directive'}
+"""Spanish name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    'abreviatura': 'abbreviation',
+    'ab': 'abbreviation',
+    'acronimo': 'acronym',
+    'ac': 'acronym',
+    'code (translation required)': 'code',
+    'indice': 'index',
+    'i': 'index',
+    'subindice': 'subscript',
+    'subíndice': 'subscript',
+    'superindice': 'superscript',
+    'superíndice': 'superscript',
+    'referencia-titulo': 'title-reference',
+    'titulo': 'title-reference',
+    't': 'title-reference',
+    'referencia-pep': 'pep-reference',
+    'pep': 'pep-reference',
+    'referencia-rfc': 'rfc-reference',
+    'rfc': 'rfc-reference',
+    'enfasis': 'emphasis',
+    'énfasis': 'emphasis',
+    'destacado': 'strong',
+    'literal': 'literal',  # "literal" is also a word in Spanish :-)
+    'math (translation required)': 'math',
+    'referencia-con-nombre': 'named-reference',
+    'referencia-anonima': 'anonymous-reference',
+    'referencia-anónima': 'anonymous-reference',
+    'referencia-nota-al-pie': 'footnote-reference',
+    'referencia-cita': 'citation-reference',
+    'referencia-sustitucion': 'substitution-reference',
+    'referencia-sustitución': 'substitution-reference',
+    'destino': 'target',
+    'referencia-uri': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    'sin-analisis': 'raw',
+    'sin-análisis': 'raw',
+}
+"""Mapping of Spanish role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/fa.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/fa.py
new file mode 100644
index 00000000..420a315e
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/fa.py
@@ -0,0 +1,102 @@
+# $Id: fa.py 4564 2016-08-10 11:48:42Z
+# Author: Shahin <me@5hah.in>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Persian-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+    # language-dependent: fixed
+    'توجه': 'attention',
+    'احتیاط': 'caution',
+    'کد': 'code',
+    'بلوک-کد': 'code',
+    'کد-منبع': 'code',
+    'خطر': 'danger',
+    'خطا': 'error',
+    'راهنما': 'hint',
+    'مهم': 'important',
+    'یادداشت': 'note',
+    'نکته': 'tip',
+    'اخطار': 'warning',
+    'تذکر': 'admonition',
+    'نوار-کناری': 'sidebar',
+    'موضوع': 'topic',
+    'بلوک-خط': 'line-block',
+    'تلفظ-پردازش-شده': 'parsed-literal',
+    'سر-فصل': 'rubric',
+    'کتیبه': 'epigraph',
+    'نکات-برجسته': 'highlights',
+    'نقل-قول': 'pull-quote',
+    'ترکیب': 'compound',
+    'ظرف': 'container',
+    # 'questions': 'questions',
+    'جدول': 'table',
+    'جدول-csv': 'csv-table',
+    'جدول-لیست': 'list-table',
+    # 'qa': 'questions',
+    # 'faq': 'questions',
+    'متا': 'meta',
+    'ریاضی': 'math',
+    # 'imagemap': 'imagemap',
+    'تصویر': 'image',
+    'شکل': 'figure',
+    'شامل': 'include',
+    'خام': 'raw',
+    'جایگزین': 'replace',
+    'یونیکد': 'unicode',
+    'تاریخ': 'date',
+    'کلاس': 'class',
+    'قانون': 'role',
+    'قانون-پیش‌فرض': 'default-role',
+    'عنوان': 'title',
+    'محتوا': 'contents',
+    'شماره-فصل': 'sectnum',
+    'شماره‌گذاری-فصل': 'sectnum',
+    'سرآیند': 'header',
+    'پاصفحه': 'footer',
+    # 'footnotes': 'footnotes',
+    # 'citations': 'citations',
+    'یادداشت-هدف': 'target-notes',
+}
+"""Persian name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    # language-dependent: fixed
+    'مخفف': 'abbreviation',
+    'سرنام': 'acronym',
+    'کد': 'code',
+    'شاخص': 'index',
+    'زیرنویس': 'subscript',
+    'بالانویس': 'superscript',
+    'عنوان': 'title-reference',
+    'نیرو': 'pep-reference',
+    'rfc-reference (translation required)': 'rfc-reference',
+    'تاکید': 'emphasis',
+    'قوی': 'strong',
+    'لفظی': 'literal',
+    'ریاضی': 'math',
+    'منبع-نام‌گذاری': 'named-reference',
+    'منبع-ناشناس': 'anonymous-reference',
+    'منبع-پانویس': 'footnote-reference',
+    'منبع-نقل‌فول': 'citation-reference',
+    'منبع-جایگزینی': 'substitution-reference',
+    'هدف': 'target',
+    'منبع-uri': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    'خام': 'raw',
+}
+"""Mapping of Persian role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/fi.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/fi.py
new file mode 100644
index 00000000..88653ac5
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/fi.py
@@ -0,0 +1,98 @@
+# $Id: fi.py 9452 2023-09-27 00:11:54Z milde $
+# Author: Asko Soukka <asko.soukka@iki.fi>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Finnish-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      # language-dependent: fixed
+      'huomio': 'attention',
+      'varo': 'caution',
+      'code (translation required)': 'code',
+      'vaara': 'danger',
+      'virhe': 'error',
+      'vihje': 'hint',
+      'tärkeää': 'important',
+      'huomautus': 'note',
+      'neuvo': 'tip',
+      'varoitus': 'warning',
+      'kehotus': 'admonition',  # sic! advice/advisory/remark, not reprimand
+      'sivupalkki': 'sidebar',
+      'aihe': 'topic',
+      'rivi': 'line-block',
+      'tasalevyinen': 'parsed-literal',
+      'ohje': 'rubric',
+      'epigraafi': 'epigraph',
+      'kohokohdat': 'highlights',
+      'lainaus': 'pull-quote',
+      'taulukko': 'table',
+      'csv-taulukko': 'csv-table',
+      'list-table (translation required)': 'list-table',
+      'compound (translation required)': 'compound',
+      'container (translation required)': 'container',
+      # 'kysymykset': 'questions',
+      'meta': 'meta',
+      'math (translation required)': 'math',
+      # 'kuvakartta': 'imagemap',
+      'kuva': 'image',
+      'kaavio': 'figure',
+      'sisällytä': 'include',
+      'raaka': 'raw',
+      'korvaa': 'replace',
+      'unicode': 'unicode',
+      'päiväys': 'date',
+      'luokka': 'class',
+      'rooli': 'role',
+      'default-role (translation required)': 'default-role',
+      'title (translation required)': 'title',
+      'sisällys': 'contents',
+      'kappale': 'sectnum',
+      'header (translation required)': 'header',
+      'footer (translation required)': 'footer',
+      # 'alaviitteet': 'footnotes',
+      # 'viitaukset': 'citations',
+      'target-notes (translation required)': 'target-notes'}
+"""Finnish name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    # language-dependent: fixed
+    'lyhennys': 'abbreviation',
+    'akronyymi': 'acronym',
+    'kirjainsana': 'acronym',
+    'code (translation required)': 'code',
+    'hakemisto': 'index',
+    'luettelo': 'index',
+    'alaindeksi': 'subscript',
+    'indeksi': 'subscript',
+    'yläindeksi': 'superscript',
+    'title-reference (translation required)': 'title-reference',
+    'title (translation required)': 'title-reference',
+    'pep-reference (translation required)': 'pep-reference',
+    'rfc-reference (translation required)': 'rfc-reference',
+    'korostus': 'emphasis',
+    'vahvistus': 'strong',
+    'tasalevyinen': 'literal',
+    'math (translation required)': 'math',
+    'named-reference (translation required)': 'named-reference',
+    'anonymous-reference (translation required)': 'anonymous-reference',
+    'footnote-reference (translation required)': 'footnote-reference',
+    'citation-reference (translation required)': 'citation-reference',
+    'substitution-reference (translation required)': 'substitution-reference',
+    'kohde': 'target',
+    'uri-reference (translation required)': 'uri-reference',
+    'raw (translation required)': 'raw',
+    }
+"""Mapping of Finnish role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/fr.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/fr.py
new file mode 100644
index 00000000..cd4ca9db
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/fr.py
@@ -0,0 +1,108 @@
+# $Id: fr.py 9417 2023-06-27 20:04:54Z milde $
+# Authors: David Goodger <goodger@python.org>; William Dode
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+French-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      'attention': 'attention',
+      'précaution': 'caution',
+      'danger': 'danger',
+      'erreur': 'error',
+      'conseil': 'hint',
+      'important': 'important',
+      'note': 'note',
+      'astuce': 'tip',
+      'avertissement': 'warning',
+      'annonce': 'admonition',
+      'admonition': 'admonition',  # sic! kept for backwards compatibiltity
+      # suggestions: annonce, avis, indication, remarque, renseignement
+      # see also https://sourceforge.net/p/docutils/bugs/453/
+      'encadré': 'sidebar',
+      'sujet': 'topic',
+      'bloc-textuel': 'line-block',
+      'bloc-interprété': 'parsed-literal',
+      'code-interprété': 'parsed-literal',
+      'code': 'code',
+      'math (translation required)': 'math',
+      'intertitre': 'rubric',
+      'exergue': 'epigraph',
+      'épigraphe': 'epigraph',
+      'chapeau': 'highlights',
+      'accroche': 'pull-quote',
+      'compound (translation required)': 'compound',
+      'container (translation required)': 'container',
+      'tableau': 'table',
+      'csv-table (translation required)': 'csv-table',
+      'list-table (translation required)': 'list-table',
+      'méta': 'meta',
+      # 'imagemap (translation required)': 'imagemap',
+      'image': 'image',
+      'figure': 'figure',
+      'inclure': 'include',
+      'brut': 'raw',
+      'remplacer': 'replace',
+      'remplace': 'replace',
+      'unicode': 'unicode',
+      'date': 'date',
+      'classe': 'class',
+      'role (translation required)': 'role',
+      'default-role (translation required)': 'default-role',
+      'titre (translation required)': 'title',
+      'sommaire': 'contents',
+      'table-des-matières': 'contents',
+      'sectnum': 'sectnum',
+      'section-numérotée': 'sectnum',
+      'liens': 'target-notes',
+      'header (translation required)': 'header',
+      'footer (translation required)': 'footer',
+      # 'footnotes (translation required)': 'footnotes',
+      # 'citations (translation required)': 'citations',
+      }
+"""Mapping of French directive names to registered directive names
+
+Cf. https://docutils.sourceforge.io/docs/ref/rst/directives.html
+and `_directive_registry` in ``directives/__init__.py``.
+"""
+
+roles = {
+      'abréviation': 'abbreviation',
+      'acronyme': 'acronym',
+      'sigle': 'acronym',
+      'code': 'code',
+      'emphase': 'emphasis',
+      'littéral': 'literal',
+      'math (translation required)': 'math',
+      'pep-référence': 'pep-reference',
+      'rfc-référence': 'rfc-reference',
+      'fort': 'strong',
+      'indice': 'subscript',
+      'ind': 'subscript',
+      'exposant': 'superscript',
+      'exp': 'superscript',
+      'titre-référence': 'title-reference',
+      'titre': 'title-reference',
+      'brut': 'raw',
+      # the following roles are not implemented in Docutils
+      'index': 'index',
+      'nommée-référence': 'named-reference',
+      'anonyme-référence': 'anonymous-reference',
+      'note-référence': 'footnote-reference',
+      'citation-référence': 'citation-reference',
+      'substitution-référence': 'substitution-reference',
+      'lien': 'target',
+      'uri-référence': 'uri-reference',
+      }
+"""Mapping of French role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/gl.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/gl.py
new file mode 100644
index 00000000..837c3f1f
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/gl.py
@@ -0,0 +1,106 @@
+# Author: David Goodger
+# Contact: goodger@users.sourceforge.net
+# Revision: $Revision: 4229 $
+# Date: $Date: 2005-12-23 00:46:16 +0100 (Fri, 23 Dec 2005) $
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Galician-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      # language-dependent: fixed
+      'atención': 'attention',
+      'advertencia': 'caution',
+      'code (translation required)': 'code',
+      'perigo': 'danger',
+      'erro': 'error',
+      'pista': 'hint',
+      'importante': 'important',
+      'nota': 'note',
+      'consello': 'tip',
+      'aviso': 'warning',
+      'admonición': 'admonition',  # sic! advice/advisory/remark, not reprimand
+      'barra lateral': 'sidebar',
+      'tópico': 'topic',
+      'bloque-liña': 'line-block',
+      'literal-analizado': 'parsed-literal',
+      'rúbrica': 'rubric',
+      'epígrafe': 'epigraph',
+      'realzados': 'highlights',
+      'coller-citación': 'pull-quote',
+      'compor': 'compound',
+      'recipiente': 'container',
+      'táboa': 'table',
+      'táboa-csv': 'csv-table',
+      'táboa-listaxe': 'list-table',
+      'meta': 'meta',
+      'math (translation required)': 'math',
+      'imaxe': 'image',
+      'figura': 'figure',
+      'incluír': 'include',
+      'cru': 'raw',
+      'substituír': 'replace',
+      'unicode': 'unicode',
+      'data': 'date',
+      'clase': 'class',
+      'regra': 'role',
+      'regra-predeterminada': 'default-role',
+      'título': 'title',
+      'contido': 'contents',
+      'seccnum': 'sectnum',
+      'sección-numerar': 'sectnum',
+      'cabeceira': 'header',
+      'pé de páxina': 'footer',
+      'notas-destino': 'target-notes',
+      'texto restruturado-proba-directiva': 'restructuredtext-test-directive',
+      }
+"""Galician name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    # language-dependent: fixed
+    'abreviatura': 'abbreviation',
+    'ab': 'abbreviation',
+    'acrónimo': 'acronym',
+    'ac': 'acronym',
+    'code (translation required)': 'code',
+    'índice': 'index',
+    'i': 'index',
+    'subíndice': 'subscript',
+    'sub': 'subscript',
+    'superíndice': 'superscript',
+    'sup': 'superscript',
+    'referencia título': 'title-reference',
+    'título': 'title-reference',
+    't': 'title-reference',
+    'referencia-pep': 'pep-reference',
+    'pep': 'pep-reference',
+    'referencia-rfc': 'rfc-reference',
+    'rfc': 'rfc-reference',
+    'énfase': 'emphasis',
+    'forte': 'strong',
+    'literal': 'literal',
+    'math (translation required)': 'math',
+    'referencia-nome': 'named-reference',
+    'referencia-anónimo': 'anonymous-reference',
+    'referencia-nota ao pé': 'footnote-reference',
+    'referencia-citación': 'citation-reference',
+    'referencia-substitución': 'substitution-reference',
+    'destino': 'target',
+    'referencia-uri': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    'cru': 'raw',
+    }
+"""Mapping of Galician role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/he.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/he.py
new file mode 100644
index 00000000..7a5f3bae
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/he.py
@@ -0,0 +1,110 @@
+# Author: Meir Kriheli
+# Id: $Id: he.py 9452 2023-09-27 00:11:54Z milde $
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+English-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+    # language-dependent: fixed
+    'תשומת לב': 'attention',
+    'זהירות': 'caution',
+    'code (translation required)': 'code',
+    'סכנה': 'danger',
+    'שגיאה': 'error',
+    'רמז': 'hint',
+    'חשוב': 'important',
+    'הערה': 'note',
+    'טיפ': 'tip',
+    'אזהרה': 'warning',
+    'admonition': 'admonition',
+    'sidebar': 'sidebar',
+    'topic': 'topic',
+    'line-block': 'line-block',
+    'parsed-literal': 'parsed-literal',
+    'rubric': 'rubric',
+    'epigraph': 'epigraph',
+    'highlights': 'highlights',
+    'pull-quote': 'pull-quote',
+    'compound': 'compound',
+    'container': 'container',
+    'table': 'table',
+    'csv-table': 'csv-table',
+    'list-table': 'list-table',
+    'meta': 'meta',
+    'math (translation required)': 'math',
+    'תמונה': 'image',
+    'figure': 'figure',
+    'include': 'include',
+    'raw': 'raw',
+    'replace': 'replace',
+    'unicode': 'unicode',
+    'date': 'date',
+    'סגנון': 'class',
+    'role': 'role',
+    'default-role': 'default-role',
+    'title': 'title',
+    'תוכן': 'contents',
+    'sectnum': 'sectnum',
+    'section-numbering': 'sectnum',
+    'header': 'header',
+    'footer': 'footer',
+    'target-notes': 'target-notes',
+    'restructuredtext-test-directive': 'restructuredtext-test-directive',
+    # 'questions': 'questions',
+    # 'qa': 'questions',
+    # 'faq': 'questions',
+    # 'imagemap': 'imagemap',
+    # 'footnotes': 'footnotes',
+    # 'citations': 'citations',
+    }
+"""English name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    # language-dependent: fixed
+    'abbreviation': 'abbreviation',
+    'ab': 'abbreviation',
+    'acronym': 'acronym',
+    'ac': 'acronym',
+    'code (translation required)': 'code',
+    'index': 'index',
+    'i': 'index',
+    'תחתי': 'subscript',
+    'sub': 'subscript',
+    'עילי': 'superscript',
+    'sup': 'superscript',
+    'title-reference': 'title-reference',
+    'title': 'title-reference',
+    't': 'title-reference',
+    'pep-reference': 'pep-reference',
+    'pep': 'pep-reference',
+    'rfc-reference': 'rfc-reference',
+    'rfc': 'rfc-reference',
+    'emphasis': 'emphasis',
+    'strong': 'strong',
+    'literal': 'literal',
+    'math (translation required)': 'math',
+    'named-reference': 'named-reference',
+    'anonymous-reference': 'anonymous-reference',
+    'footnote-reference': 'footnote-reference',
+    'citation-reference': 'citation-reference',
+    'substitution-reference': 'substitution-reference',
+    'target': 'target',
+    'uri-reference': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    'raw': 'raw',
+    }
+"""Mapping of English role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/it.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/it.py
new file mode 100644
index 00000000..ee5ba829
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/it.py
@@ -0,0 +1,99 @@
+# $Id: it.py 9417 2023-06-27 20:04:54Z milde $
+# Authors: Nicola Larosa <docutils@tekNico.net>;
+#          Lele Gaifax <lele@seldati.it>
+# Copyright: This module has been placed in the public domain.
+
+# Beware: the italian translation of the reStructuredText documentation
+# at http://docit.bice.dyndns.org/static/ReST, in particular
+# http://docit.bice.dyndns.org/static/ReST/ref/rst/directives.html, needs
+# to be synced with the content of this file.
+
+"""
+Italian-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      'attenzione': 'attention',
+      'cautela': 'caution',
+      'code (translation required)': 'code',
+      'pericolo': 'danger',
+      'errore': 'error',
+      'suggerimento': 'hint',
+      'importante': 'important',
+      'nota': 'note',
+      'consiglio': 'tip',
+      'avvertenza': 'warning',
+      'avviso': 'admonition',
+      'ammonizione': 'admonition',  # sic! kept for backards compatibility
+      'riquadro': 'sidebar',
+      'argomento': 'topic',
+      'blocco-di-righe': 'line-block',
+      'blocco-interpretato': 'parsed-literal',
+      'rubrica': 'rubric',
+      'epigrafe': 'epigraph',
+      'punti-salienti': 'highlights',
+      'estratto-evidenziato': 'pull-quote',
+      'composito': 'compound',
+      'container (translation required)': 'container',
+      # 'questions': 'questions',
+      # 'qa': 'questions',
+      # 'faq': 'questions',
+      'tabella': 'table',
+      'tabella-csv': 'csv-table',
+      'tabella-elenco': 'list-table',
+      'meta': 'meta',
+      'math (translation required)': 'math',
+      # 'imagemap': 'imagemap',
+      'immagine': 'image',
+      'figura': 'figure',
+      'includi': 'include',
+      'grezzo': 'raw',
+      'sostituisci': 'replace',
+      'unicode': 'unicode',
+      'data': 'date',
+      'classe': 'class',
+      'ruolo': 'role',
+      'ruolo-predefinito': 'default-role',
+      'titolo': 'title',
+      'indice': 'contents',
+      'contenuti': 'contents',
+      'seznum': 'sectnum',
+      'sezioni-autonumerate': 'sectnum',
+      'annota-riferimenti-esterni': 'target-notes',
+      'intestazione': 'header',
+      'piede-pagina': 'footer',
+      # 'footnotes': 'footnotes',
+      # 'citations': 'citations',
+      'restructuredtext-test-directive': 'restructuredtext-test-directive'}
+"""Italian name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+      'abbreviazione': 'abbreviation',
+      'acronimo': 'acronym',
+      'code (translation required)': 'code',
+      'indice': 'index',
+      'deponente': 'subscript',
+      'esponente': 'superscript',
+      'riferimento-titolo': 'title-reference',
+      'riferimento-pep': 'pep-reference',
+      'riferimento-rfc': 'rfc-reference',
+      'enfasi': 'emphasis',
+      'forte': 'strong',
+      'letterale': 'literal',
+      'math (translation required)': 'math',
+      'riferimento-con-nome': 'named-reference',
+      'riferimento-anonimo': 'anonymous-reference',
+      'riferimento-nota': 'footnote-reference',
+      'riferimento-citazione': 'citation-reference',
+      'riferimento-sostituzione': 'substitution-reference',
+      'destinazione': 'target',
+      'riferimento-uri': 'uri-reference',
+      'grezzo': 'raw',
+      }
+"""Mapping of Italian role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ja.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ja.py
new file mode 100644
index 00000000..eef1549d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ja.py
@@ -0,0 +1,119 @@
+# $Id: ja.py 9030 2022-03-05 23:28:32Z milde $
+# Author: David Goodger <goodger@python.org>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Japanese-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+# Corrections to these translations are welcome!
+# 間違いがあれば、どうぞ正しい翻訳を教えて下さい。
+
+directives = {
+    # language-dependent: fixed
+    '注目': 'attention',
+    '注意': 'caution',
+    'code (translation required)': 'code',
+    '危険': 'danger',
+    'エラー': 'error',
+    'ヒント': 'hint',
+    '重要': 'important',
+    '備考': 'note',
+    '通報': 'tip',
+    '警告': 'warning',
+    '戒告': 'admonition',
+    'サイドバー': 'sidebar',
+    'トピック': 'topic',
+    'ラインブロック': 'line-block',
+    'パーズドリテラル': 'parsed-literal',
+    'ルブリック': 'rubric',
+    'エピグラフ': 'epigraph',
+    '題言': 'epigraph',
+    'ハイライト': 'highlights',
+    '見所': 'highlights',
+    'プルクオート': 'pull-quote',
+    '合成': 'compound',
+    'コンテナー': 'container',
+    '容器': 'container',
+    '表': 'table',
+    'csv表': 'csv-table',
+    'リスト表': 'list-table',
+    # '質問': 'questions',
+    # '問答': 'questions',
+    # 'faq': 'questions',
+    'math (translation required)': 'math',
+    'メタ': 'meta',
+    # 'イメージマプ': 'imagemap',
+    'イメージ': 'image',
+    '画像': 'image',
+    'フィグア': 'figure',
+    '図版': 'figure',
+    'インクルード': 'include',
+    '含む': 'include',
+    '組み込み': 'include',
+    '生': 'raw',
+    '原': 'raw',
+    '換える': 'replace',
+    '取り換える': 'replace',
+    '掛け替える': 'replace',
+    'ユニコード': 'unicode',
+    '日付': 'date',
+    'クラス': 'class',
+    'ロール': 'role',
+    '役': 'role',
+    'ディフォルトロール': 'default-role',
+    '既定役': 'default-role',
+    'タイトル': 'title',
+    '題': 'title',                       # 題名 件名
+    '目次': 'contents',
+    '節数': 'sectnum',
+    'ヘッダ': 'header',
+    'フッタ': 'footer',
+    # '脚注': 'footnotes',                # 脚註?
+    # 'サイテーション': 'citations',   # 出典 引証 引用
+    'ターゲットノート': 'target-notes',  # 的注 的脚注
+    }
+"""Japanese name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    # language-dependent: fixed
+    '略': 'abbreviation',
+    '頭字語': 'acronym',
+    'code (translation required)': 'code',
+    'インデックス': 'index',
+    '索引': 'index',
+    '添字': 'subscript',
+    '下付': 'subscript',
+    '下': 'subscript',
+    '上付': 'superscript',
+    '上': 'superscript',
+    '題参照': 'title-reference',
+    'pep参照': 'pep-reference',
+    'rfc参照': 'rfc-reference',
+    '強調': 'emphasis',
+    '強い': 'strong',
+    'リテラル': 'literal',
+    '整形済み': 'literal',
+    'math (translation required)': 'math',
+    '名付参照': 'named-reference',
+    '無名参照': 'anonymous-reference',
+    '脚注参照': 'footnote-reference',
+    '出典参照': 'citation-reference',
+    '代入参照': 'substitution-reference',
+    '的': 'target',
+    'uri参照': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    '生': 'raw',
+    }
+"""Mapping of Japanese role names to canonical role names for interpreted
+text."""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ka.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ka.py
new file mode 100644
index 00000000..e7f18ab7
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ka.py
@@ -0,0 +1,90 @@
+# $Id: ka.py 9444 2023-08-23 12:02:41Z grubert $
+# Author: Temuri Doghonadze <temuri.doghonadze@gmail.com>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Georgian-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+directives = {
+    'ხაზების-ბლოკი': 'line-block',
+    'მეტა': 'meta',
+    'მათემატიკა': 'math',
+    'დამუშავებული-ლიტერალი': 'parsed-literal',
+    'გამოყოფილი-ციტატა': 'pull-quote',
+    'კოდი': 'code',
+    'შერეული': 'compound',
+    'კონტეინერი': 'container',
+    'ცხრილი': 'table',
+    'csv-ცხრილი': 'csv-table',
+    'ჩამონათვალი-ცხრილი': 'list-table',
+    'დაუმუშავებელი': 'raw',
+    'ჩანაცვლება': 'replace',
+    'restructuredtext-ის-სატესტო-დირექტივა': 'restructuredtext-test-directive',
+    'სამიზნე-შენიშვნები': 'target-notes',
+    'უნიკოდი': 'unicode',
+    'თარიღი': 'date',
+    'გვერდითი-პანელი': 'sidebar',
+    'მნიშვნელოვანი': 'important',
+    'ჩასმა': 'include',
+    'ყურადღება': 'attention',
+    'გამოკვეთა': 'highlights',
+    'შენიშვნა': 'admonition',
+    'გამოსახულება': 'image',
+    'კლასი': 'class',
+    'როლი': 'role',
+    'ნაგულისხმევი-როლი': 'default-role',
+    'სათაური': 'title',
+    'განყ-ნომერი': 'sectnum',
+    'განყ-ნომერი': 'sectnum',
+    'საფრთხე': 'danger',
+    'ფრთხილად': 'caution',
+    'შეცდომა': 'error',
+    'მინიშნება': 'tip',
+    'ყურადღებით': 'warning',
+    'აღნიშვნა': 'note',
+    'ფიგურა': 'figure',
+    'რუბრიკა': 'rubric',
+    'რჩევა': 'hint',
+    'შემცველობა': 'contents',
+    'თემა': 'topic',
+    'ეპიგრაფი': 'epigraph',
+    'თავსართი': 'header',
+    'ქვედა კოლონტიტული': 'footer',
+    }
+"""Georgian name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    'აკრონიმი': 'acronym',
+    'კოდი': 'code',
+    'ანონიმური-მიმართვა': 'anonymous-reference',
+    'სიტყვასიტყვითი': 'literal',
+    'მათემატიკა': 'math',
+    'ზედა-ინდექსი': 'superscript',
+    'მახვილი': 'emphasis',
+    'სახელიანი-მიმართვა': 'named-reference',
+    'ინდექსი': 'index',
+    'ქვედა-ინდექსი': 'subscript',
+    'სქელი-ფონტი': 'strong',
+    'აბრევიატურა': 'abbreviation',
+    'ჩანაცვლების-მიმართვა': 'substitution-reference',
+    'pep-მიმართვა': 'pep-reference',
+    'rfc-მიმართვა	': 'rfc-reference',
+    'uri-მიმართვა': 'uri-reference',
+    'title-მიმართვა': 'title-reference',
+    'ქვედა-კოლონტიტულზე-მიმართვა': 'footnote-reference',
+    'ციტატაზე-მიმართვა': 'citation-reference',
+    'სამიზნე': 'target',
+    'დაუმუშავებელი': 'raw',
+    }
+"""Mapping of Georgian role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ko.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ko.py
new file mode 100644
index 00000000..434fea12
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ko.py
@@ -0,0 +1,111 @@
+# $Id: ko.py 9030 2022-03-05 23:28:32Z milde $
+# Author: Thomas SJ Kang <thomas.kangsj@ujuc.kr>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Korean-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      # language-dependent: fixed
+      '집중': 'attention',
+      '주의': 'caution',
+      '코드': 'code',
+      '코드-블록': 'code',
+      '소스코드': 'code',
+      '위험': 'danger',
+      '오류': 'error',
+      '실마리': 'hint',
+      '중요한': 'important',
+      '비고': 'note',
+      '팁': 'tip',
+      '경고': 'warning',
+      '권고': 'admonition',
+      '사이드바': 'sidebar',
+      '주제': 'topic',
+      '라인-블록': 'line-block',
+      '파싱된-리터럴': 'parsed-literal',
+      '지시문': 'rubric',
+      '제명': 'epigraph',
+      '하이라이트': 'highlights',
+      '발췌문': 'pull-quote',
+      '합성어': 'compound',
+      '컨테이너': 'container',
+      # '질문': 'questions',
+      '표': 'table',
+      'csv-표': 'csv-table',
+      'list-표': 'list-table',
+      # 'qa': 'questions',
+      # 'faq': 'questions',
+      '메타': 'meta',
+      '수학': 'math',
+      # '이미지맵': 'imagemap',
+      '이미지': 'image',
+      '도표': 'figure',
+      '포함': 'include',
+      'raw': 'raw',
+      '대신하다': 'replace',
+      '유니코드': 'unicode',
+      '날짜': 'date',
+      '클래스': 'class',
+      '역할': 'role',
+      '기본-역할': 'default-role',
+      '제목': 'title',
+      '내용': 'contents',
+      'sectnum': 'sectnum',
+      '섹션-번호-매기기': 'sectnum',
+      '머리말': 'header',
+      '꼬리말': 'footer',
+      # '긱주': 'footnotes',
+      # '인용구': 'citations',
+      '목표-노트': 'target-notes',
+      'restructuredtext 테스트 지시어': 'restructuredtext-test-directive'}
+"""Korean name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    # language-dependent: fixed
+    '약어': 'abbreviation',
+    'ab': 'abbreviation',
+    '두음문자': 'acronym',
+    'ac': 'acronym',
+    '코드': 'code',
+    '색인': 'index',
+    'i': 'index',
+    '다리-글자': 'subscript',
+    'sub': 'subscript',
+    '어깨-글자': 'superscript',
+    'sup': 'superscript',
+    '제목-참조': 'title-reference',
+    '제목': 'title-reference',
+    't': 'title-reference',
+    'pep-참조': 'pep-reference',
+    'pep': 'pep-reference',
+    'rfc-참조': 'rfc-reference',
+    'rfc': 'rfc-reference',
+    '강조': 'emphasis',
+    '굵게': 'strong',
+    '기울기': 'literal',
+    '수학': 'math',
+    '명명된-참조': 'named-reference',
+    '익명-참조': 'anonymous-reference',
+    '각주-참조': 'footnote-reference',
+    '인용-참조': 'citation-reference',
+    '대리-참조': 'substitution-reference',
+    '대상': 'target',
+    'uri-참조': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    'raw': 'raw',
+    }
+"""Mapping of Korean role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/lt.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/lt.py
new file mode 100644
index 00000000..7d324d67
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/lt.py
@@ -0,0 +1,109 @@
+# $Id: lt.py 9030 2022-03-05 23:28:32Z milde $
+# Author: Dalius Dobravolskas <dalius.do...@gmail.com>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Lithuanian-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      # language-dependent: fixed
+      'dėmesio': 'attention',
+      'atsargiai': 'caution',
+      'code (translation required)': 'code',
+      'pavojinga': 'danger',
+      'klaida': 'error',
+      'užuomina': 'hint',
+      'svarbu': 'important',
+      'pastaba': 'note',
+      'patarimas': 'tip',
+      'įspėjimas': 'warning',
+      'perspėjimas': 'admonition',
+      'šoninė-juosta': 'sidebar',
+      'tema': 'topic',
+      'linijinis-blokas': 'line-block',
+      'išanalizuotas-literalas': 'parsed-literal',
+      'rubrika': 'rubric',
+      'epigrafas': 'epigraph',
+      'pagridiniai-momentai': 'highlights',
+      'atitraukta-citata': 'pull-quote',
+      'sudėtinis-darinys': 'compound',
+      'konteineris': 'container',
+      # 'questions': 'questions',
+      'lentelė': 'table',
+      'csv-lentelė': 'csv-table',
+      'sąrašo-lentelė': 'list-table',
+      # 'qa': 'questions',
+      # 'faq': 'questions',
+      'meta': 'meta',
+      'matematika': 'math',
+      # 'imagemap': 'imagemap',
+      'paveiksliukas': 'image',
+      'iliustracija': 'figure',
+      'pridėti': 'include',
+      'žalia': 'raw',
+      'pakeisti': 'replace',
+      'unikodas': 'unicode',
+      'data': 'date',
+      'klasė': 'class',
+      'rolė': 'role',
+      'numatytoji-rolė': 'default-role',
+      'titulas': 'title',
+      'turinys': 'contents',
+      'seknum': 'sectnum',
+      'sekcijos-numeravimas': 'sectnum',
+      'antraštė': 'header',
+      'poraštė': 'footer',
+      # 'footnotes': 'footnotes',
+      # 'citations': 'citations',
+      'nutaikytos-pastaba': 'target-notes',
+      'restructuredtext-testinė-direktyva': 'restructuredtext-test-directive'}
+"""Lithuanian name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    # language-dependent: fixed
+    'santrumpa': 'abbreviation',
+    'sa': 'abbreviation',
+    'akronimas': 'acronym',
+    'ak': 'acronym',
+    'code (translation required)': 'code',
+    'indeksas': 'index',
+    'i': 'index',
+    'apatinis-indeksas': 'subscript',
+    'sub': 'subscript',
+    'viršutinis-indeksas': 'superscript',
+    'sup': 'superscript',
+    'antrašės-nuoroda': 'title-reference',
+    'antraštė': 'title-reference',
+    'a': 'title-reference',
+    'pep-nuoroda': 'pep-reference',
+    'pep': 'pep-reference',
+    'rfc-nuoroda': 'rfc-reference',
+    'rfc': 'rfc-reference',
+    'paryškinimas': 'emphasis',
+    'sustiprintas': 'strong',
+    'literalas': 'literal',
+    'matematika': 'math',
+    'vardinė-nuoroda': 'named-reference',
+    'anoniminė-nuoroda': 'anonymous-reference',
+    'išnašos-nuoroda': 'footnote-reference',
+    'citatos-nuoroda': 'citation-reference',
+    'pakeitimo-nuoroda': 'substitution-reference',
+    'taikinys': 'target',
+    'uri-nuoroda': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    'žalia': 'raw',
+    }
+"""Mapping of English role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/lv.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/lv.py
new file mode 100644
index 00000000..18e4dc49
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/lv.py
@@ -0,0 +1,108 @@
+# $Id: lv.py 9030 2022-03-05 23:28:32Z milde $
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Latvian-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      # language-dependent: fixed
+      'uzmanību': 'attention',
+      'piesardzību': 'caution',
+      'kods': 'code',
+      'koda-bloks': 'code',
+      'pirmkods': 'code',
+      'bīstami': 'danger',
+      'kļūda': 'error',
+      'ieteikums': 'hint',
+      'svarīgi': 'important',
+      'piezīme': 'note',
+      'padoms': 'tip',
+      'brīdinājums': 'warning',
+      'aizrādījums': 'admonition',
+      'sānjosla': 'sidebar',
+      'tēma': 'topic',
+      'rindu-bloks': 'line-block',
+      'parsēts-literālis': 'parsed-literal',
+      'rubrika': 'rubric',
+      'epigrāfs': 'epigraph',
+      'apskats': 'highlights',
+      'izvilkuma-citāts': 'pull-quote',
+      'savienojums': 'compound',
+      'konteiners': 'container',
+      # 'questions': 'questions',
+      'tabula': 'table',
+      'csv-tabula': 'csv-table',
+      'sarakstveida-tabula': 'list-table',
+      # 'qa': 'questions',
+      # 'faq': 'questions',
+      'meta': 'meta',
+      'matemātika': 'math',
+      # 'imagemap': 'imagemap',
+      'attēls': 'image',
+      'figūra': 'figure',
+      'ietvert': 'include',
+      'burtiski': 'raw',
+      'aizvieto': 'replace',
+      'unicode': 'unicode',
+      'datums': 'date',
+      'klase': 'class',
+      'role': 'role',
+      'noklusējuma-role': 'default-role',
+      'virsraksts': 'title',
+      'saturs': 'contents',
+      'numurēt-sekcijas': 'sectnum',
+      'galvene': 'header',
+      'kājene': 'footer',
+      # 'footnotes': 'footnotes',
+      # 'citations': 'citations',
+      'atsauces-apakšā': 'target-notes',
+      'restructuredtext-testa-direktīva': 'restructuredtext-test-directive'}
+"""English name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    # language-dependent: fixed
+    'saīsinājums': 'abbreviation',
+    'īsi': 'abbreviation',
+    'akronīms': 'acronym',
+    'kods': 'code',
+    'indekss': 'index',
+    'i': 'index',
+    'apakšraksts': 'subscript',
+    'apakšā': 'subscript',
+    'augšraksts': 'superscript',
+    'augšā': 'superscript',
+    'virsraksta-atsauce': 'title-reference',
+    'virsraksts': 'title-reference',
+    'v': 'title-reference',
+    'atsauce-uz-pep': 'pep-reference',
+    'pep': 'pep-reference',
+    'atsauce-uz-rfc': 'rfc-reference',
+    'rfc': 'rfc-reference',
+    'izcēlums': 'emphasis',
+    'blīvs': 'strong',
+    'literālis': 'literal',
+    'matemātika': 'math',
+    'nosaukta-atsauce': 'named-reference',
+    'nenosaukta-atsauce': 'anonymous-reference',
+    'kājenes-atsauce': 'footnote-reference',
+    'citātā-atsauce': 'citation-reference',
+    'aizvietojuma-atsauce': 'substitution-reference',
+    'mēr''kis': 'target',
+    'atsauce-uz-uri': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    'burtiski': 'raw',
+    }
+"""Mapping of English role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/nl.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/nl.py
new file mode 100644
index 00000000..762ddcf2
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/nl.py
@@ -0,0 +1,114 @@
+# $Id: nl.py 9417 2023-06-27 20:04:54Z milde $
+# Author: Martijn Pieters <mjpieters@users.sourceforge.net>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Dutch-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      # language-dependent: fixed
+      'attentie': 'attention',
+      'let-op': 'caution',
+      'code (translation required)': 'code',
+      'gevaar': 'danger',
+      'fout': 'error',
+      'hint': 'hint',
+      'belangrijk': 'important',
+      'opmerking': 'note',
+      'tip': 'tip',
+      'waarschuwing': 'warning',
+      'advies': 'admonition',
+      'aanmaning': 'admonition',  # sic! kept for backwards compatibiltity
+      'katern': 'sidebar',
+      'onderwerp': 'topic',
+      'lijn-blok': 'line-block',
+      'letterlijk-ontleed': 'parsed-literal',
+      'rubriek': 'rubric',
+      'opschrift': 'epigraph',
+      'hoogtepunten': 'highlights',
+      'pull-quote': 'pull-quote',  # Dutch printers use the english term
+      'samenstelling': 'compound',
+      'verbinding': 'compound',
+      'container (translation required)': 'container',
+      # 'vragen': 'questions',
+      'tabel': 'table',
+      'csv-tabel': 'csv-table',
+      'lijst-tabel': 'list-table',
+      # 'veelgestelde-vragen': 'questions',
+      'meta': 'meta',
+      'math (translation required)': 'math',
+      # 'imagemap': 'imagemap',
+      'beeld': 'image',
+      'figuur': 'figure',
+      'opnemen': 'include',
+      'onbewerkt': 'raw',
+      'vervang': 'replace',
+      'vervanging': 'replace',
+      'unicode': 'unicode',
+      'datum': 'date',
+      'klasse': 'class',
+      'rol': 'role',
+      'default-role (translation required)': 'default-role',
+      'title (translation required)': 'title',
+      'inhoud': 'contents',
+      'sectnum': 'sectnum',
+      'sectie-nummering': 'sectnum',
+      'hoofdstuk-nummering': 'sectnum',
+      'header (translation required)': 'header',
+      'footer (translation required)': 'footer',
+      # 'voetnoten': 'footnotes',
+      # 'citaten': 'citations',
+      'verwijzing-voetnoten': 'target-notes',
+      'restructuredtext-test-instructie': 'restructuredtext-test-directive'}
+"""Dutch name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    # language-dependent: fixed
+    'afkorting': 'abbreviation',
+    # 'ab': 'abbreviation',
+    'acroniem': 'acronym',
+    'ac': 'acronym',
+    'code (translation required)': 'code',
+    'index': 'index',
+    'i': 'index',
+    'inferieur': 'subscript',
+    'inf': 'subscript',
+    'superieur': 'superscript',
+    'sup': 'superscript',
+    'titel-referentie': 'title-reference',
+    'titel': 'title-reference',
+    't': 'title-reference',
+    'pep-referentie': 'pep-reference',
+    'pep': 'pep-reference',
+    'rfc-referentie': 'rfc-reference',
+    'rfc': 'rfc-reference',
+    'nadruk': 'emphasis',
+    'extra': 'strong',
+    'extra-nadruk': 'strong',
+    'vet': 'strong',
+    'letterlijk': 'literal',
+    'math (translation required)': 'math',
+    'benoemde-referentie': 'named-reference',
+    'anonieme-referentie': 'anonymous-reference',
+    'voetnoot-referentie': 'footnote-reference',
+    'citaat-referentie': 'citation-reference',
+    'substitie-reference': 'substitution-reference',
+    'verwijzing': 'target',
+    'uri-referentie': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    'onbewerkt': 'raw',
+    }
+"""Mapping of Dutch role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/pl.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/pl.py
new file mode 100644
index 00000000..9aac2d42
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/pl.py
@@ -0,0 +1,101 @@
+# $Id$
+# Author: Robert Wojciechowicz <rw@smsnet.pl>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Polish-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+    # language-dependent: fixed
+    'uwaga': 'attention',
+    'ostrożnie': 'caution',
+    'code (translation required)': 'code',
+    'niebezpieczeństwo': 'danger',
+    'błąd': 'error',
+    'wskazówka': 'hint',
+    'ważne': 'important',
+    'przypis': 'note',
+    'rada': 'tip',
+    'ostrzeżenie': 'warning',
+    'zauważenie': 'admonition',  # remark
+    'upomnienie': 'admonition',  # sic! kept for backwards compatibiltity
+    'ramka': 'sidebar',
+    'temat': 'topic',
+    'blok-linii': 'line-block',
+    'sparsowany-literał': 'parsed-literal',
+    'rubryka': 'rubric',
+    'epigraf': 'epigraph',
+    'highlights': 'highlights',  # FIXME no polish equivalent?
+    'pull-quote': 'pull-quote',  # FIXME no polish equivalent?
+    'złożony': 'compound',
+    'kontener': 'container',
+    # 'questions': 'questions',
+    'tabela': 'table',
+    'tabela-csv': 'csv-table',
+    'tabela-listowa': 'list-table',
+    # 'qa': 'questions',
+    # 'faq': 'questions',
+    'meta': 'meta',
+    'math (translation required)': 'math',
+    # 'imagemap': 'imagemap',
+    'obraz': 'image',
+    'rycina': 'figure',
+    'dołącz': 'include',
+    'surowe': 'raw',
+    'zastąp': 'replace',
+    'unikod': 'unicode',
+    'data': 'date',
+    'klasa': 'class',
+    'rola': 'role',
+    'rola-domyślna': 'default-role',
+    'tytuł': 'title',
+    'treść': 'contents',
+    'sectnum': 'sectnum',
+    'numeracja-sekcji': 'sectnum',
+    'nagłówek': 'header',
+    'stopka': 'footer',
+    # 'footnotes': 'footnotes',
+    # 'citations': 'citations',
+    'target-notes': 'target-notes',  # FIXME no polish equivalent?
+    'restructuredtext-test-directive': 'restructuredtext-test-directive'}
+"""Polish name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    # language-dependent: fixed
+    'skrót': 'abbreviation',
+    'akronim': 'acronym',
+    'code (translation required)': 'code',
+    'indeks': 'index',
+    'indeks-dolny': 'subscript',
+    'indeks-górny': 'superscript',
+    'referencja-tytuł': 'title-reference',
+    'referencja-pep': 'pep-reference',
+    'referencja-rfc': 'rfc-reference',
+    'podkreślenie': 'emphasis',
+    'wytłuszczenie': 'strong',
+    'dosłownie': 'literal',
+    'math (translation required)': 'math',
+    'referencja-nazwana': 'named-reference',
+    'referencja-anonimowa': 'anonymous-reference',
+    'referencja-przypis': 'footnote-reference',
+    'referencja-cytat': 'citation-reference',
+    'referencja-podstawienie': 'substitution-reference',
+    'cel': 'target',
+    'referencja-uri': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    'surowe': 'raw',
+    }
+"""Mapping of Polish role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/pt_br.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/pt_br.py
new file mode 100644
index 00000000..45a670db
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/pt_br.py
@@ -0,0 +1,110 @@
+# $Id: pt_br.py 9452 2023-09-27 00:11:54Z milde $
+# Author: David Goodger <goodger@python.org>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Brazilian Portuguese-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      # language-dependent: fixed
+      'atenção': 'attention',
+      'cuidado': 'caution',
+      'code (translation required)': 'code',
+      'perigo': 'danger',
+      'erro': 'error',
+      'sugestão': 'hint',
+      'importante': 'important',
+      'nota': 'note',
+      'dica': 'tip',
+      'aviso': 'warning',
+      'advertência': 'admonition',
+      'exortação': 'admonition',  # sic! advice/advisory/remark, not reprimand
+      'barra-lateral': 'sidebar',
+      'tópico': 'topic',
+      'bloco-de-linhas': 'line-block',
+      'literal-interpretado': 'parsed-literal',
+      'rubrica': 'rubric',
+      'epígrafo': 'epigraph',
+      'destaques': 'highlights',
+      'citação-destacada': 'pull-quote',
+      'compound (translation required)': 'compound',
+      'container (translation required)': 'container',
+      # 'perguntas': 'questions',
+      # 'qa': 'questions',
+      # 'faq': 'questions',
+      'table (translation required)': 'table',
+      'csv-table (translation required)': 'csv-table',
+      'list-table (translation required)': 'list-table',
+      'meta': 'meta',
+      'math (translation required)': 'math',
+      # 'imagemap': 'imagemap',
+      'imagem': 'image',
+      'figura': 'figure',
+      'inclusão': 'include',
+      'cru': 'raw',
+      'substituição': 'replace',
+      'unicode': 'unicode',
+      'data': 'date',
+      'classe': 'class',
+      'role (translation required)': 'role',
+      'default-role (translation required)': 'default-role',
+      'title (translation required)': 'title',
+      'índice': 'contents',
+      'numsec': 'sectnum',
+      'numeração-de-seções': 'sectnum',
+      'header (translation required)': 'header',
+      'footer (translation required)': 'footer',
+      # 'notas-de-rorapé': 'footnotes',
+      # 'citações': 'citations',
+      'links-no-rodapé': 'target-notes',
+      'restructuredtext-test-directive': 'restructuredtext-test-directive'}
+"""Brazilian Portuguese name to registered (in directives/__init__.py)
+directive name mapping."""
+
+roles = {
+    # language-dependent: fixed
+    'abbreviação': 'abbreviation',
+    'ab': 'abbreviation',
+    'acrônimo': 'acronym',
+    'ac': 'acronym',
+    'code (translation required)': 'code',
+    'índice-remissivo': 'index',
+    'i': 'index',
+    'subscrito': 'subscript',
+    'sub': 'subscript',
+    'sobrescrito': 'superscript',
+    'sob': 'superscript',
+    'referência-a-título': 'title-reference',
+    'título': 'title-reference',
+    't': 'title-reference',
+    'referência-a-pep': 'pep-reference',
+    'pep': 'pep-reference',
+    'referência-a-rfc': 'rfc-reference',
+    'rfc': 'rfc-reference',
+    'ênfase': 'emphasis',
+    'forte': 'strong',
+    'literal': 'literal',
+    'math (translation required)': 'math',  # translation required?
+    'referência-por-nome': 'named-reference',
+    'referência-anônima': 'anonymous-reference',
+    'referência-a-nota-de-rodapé': 'footnote-reference',
+    'referência-a-citação': 'citation-reference',
+    'referência-a-substituição': 'substitution-reference',
+    'alvo': 'target',
+    'referência-a-uri': 'uri-reference',
+    'uri': 'uri-reference',
+    'url': 'uri-reference',
+    'cru': 'raw',
+    }
+"""Mapping of Brazilian Portuguese role names to canonical role names
+for interpreted text."""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ru.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ru.py
new file mode 100644
index 00000000..7c84cd02
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/ru.py
@@ -0,0 +1,90 @@
+# $Id: ru.py 9030 2022-03-05 23:28:32Z milde $
+# Author: Roman Suzi <rnd@onego.ru>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Russian-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+directives = {
+    'блок-строк': 'line-block',
+    'meta': 'meta',
+    'математика': 'math',
+    'обработанный-литерал': 'parsed-literal',
+    'выделенная-цитата': 'pull-quote',
+    'код': 'code',
+    'compound (translation required)': 'compound',
+    'контейнер': 'container',
+    'таблица': 'table',
+    'csv-table (translation required)': 'csv-table',
+    'list-table (translation required)': 'list-table',
+    'сырой': 'raw',
+    'замена': 'replace',
+    'тестовая-директива-restructuredtext': 'restructuredtext-test-directive',
+    'целевые-сноски': 'target-notes',
+    'unicode': 'unicode',
+    'дата': 'date',
+    'боковая-полоса': 'sidebar',
+    'важно': 'important',
+    'включать': 'include',
+    'внимание': 'attention',
+    'выделение': 'highlights',
+    'замечание': 'admonition',
+    'изображение': 'image',
+    'класс': 'class',
+    'роль': 'role',
+    'default-role (translation required)': 'default-role',
+    'титул': 'title',
+    'номер-раздела': 'sectnum',
+    'нумерация-разделов': 'sectnum',
+    'опасно': 'danger',
+    'осторожно': 'caution',
+    'ошибка': 'error',
+    'подсказка': 'tip',
+    'предупреждение': 'warning',
+    'примечание': 'note',
+    'рисунок': 'figure',
+    'рубрика': 'rubric',
+    'совет': 'hint',
+    'содержание': 'contents',
+    'тема': 'topic',
+    'эпиграф': 'epigraph',
+    'header (translation required)': 'header',
+    'footer (translation required)': 'footer',
+    }
+"""Russian name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    'акроним': 'acronym',
+    'код': 'code',
+    'анонимная-ссылка': 'anonymous-reference',
+    'буквально': 'literal',
+    'математика': 'math',
+    'верхний-индекс': 'superscript',
+    'выделение': 'emphasis',
+    'именованная-ссылка': 'named-reference',
+    'индекс': 'index',
+    'нижний-индекс': 'subscript',
+    'сильное-выделение': 'strong',
+    'сокращение': 'abbreviation',
+    'ссылка-замена': 'substitution-reference',
+    'ссылка-на-pep': 'pep-reference',
+    'ссылка-на-rfc': 'rfc-reference',
+    'ссылка-на-uri': 'uri-reference',
+    'ссылка-на-заглавие': 'title-reference',
+    'ссылка-на-сноску': 'footnote-reference',
+    'цитатная-ссылка': 'citation-reference',
+    'цель': 'target',
+    'сырой': 'raw',
+    }
+"""Mapping of Russian role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/sk.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/sk.py
new file mode 100644
index 00000000..7b1cef82
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/sk.py
@@ -0,0 +1,96 @@
+# $Id: sk.py 9452 2023-09-27 00:11:54Z milde $
+# Author: Miroslav Vasko <zemiak@zoznam.sk>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Slovak-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      'pozor': 'attention',
+      'opatrne': 'caution',
+      'code (translation required)': 'code',
+      'nebezpe\xe8enstvo': 'danger',
+      'chyba': 'error',
+      'rada': 'hint',
+      'd\xf4le\x9eit\xe9': 'important',
+      'pozn\xe1mka': 'note',
+      'tip (translation required)': 'tip',
+      'varovanie': 'warning',
+      'admonition (translation required)': 'admonition',
+      'sidebar (translation required)': 'sidebar',
+      't\xe9ma': 'topic',
+      'blok-riadkov': 'line-block',
+      'parsed-literal': 'parsed-literal',
+      'rubric (translation required)': 'rubric',
+      'epigraph (translation required)': 'epigraph',
+      'highlights (translation required)': 'highlights',
+      'pull-quote (translation required)': 'pull-quote',
+      'compound (translation required)': 'compound',
+      'container (translation required)': 'container',
+      # 'questions': 'questions',
+      # 'qa': 'questions',
+      # 'faq': 'questions',
+      'table (translation required)': 'table',
+      'csv-table (translation required)': 'csv-table',
+      'list-table (translation required)': 'list-table',
+      'meta': 'meta',
+      'math (translation required)': 'math',
+      # 'imagemap': 'imagemap',
+      'obr\xe1zok': 'image',
+      'tvar': 'figure',
+      'vlo\x9ei\x9d': 'include',
+      'raw (translation required)': 'raw',
+      'nahradi\x9d': 'replace',
+      'unicode': 'unicode',
+      'dátum': 'date',
+      'class (translation required)': 'class',
+      'role (translation required)': 'role',
+      'default-role (translation required)': 'default-role',
+      'title (translation required)': 'title',
+      'obsah': 'contents',
+      '\xe8as\x9d': 'sectnum',
+      '\xe8as\x9d-\xe8\xedslovanie': 'sectnum',
+      'cie\xbeov\xe9-pozn\xe1mky': 'target-notes',
+      'header (translation required)': 'header',
+      'footer (translation required)': 'footer',
+      # 'footnotes': 'footnotes',
+      # 'citations': 'citations',
+      }
+"""Slovak name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+      'abbreviation (translation required)': 'abbreviation',
+      'acronym (translation required)': 'acronym',
+      'code (translation required)': 'code',
+      'index (translation required)': 'index',
+      'subscript (translation required)': 'subscript',
+      'superscript (translation required)': 'superscript',
+      'title-reference (translation required)': 'title-reference',
+      'pep-reference (translation required)': 'pep-reference',
+      'rfc-reference (translation required)': 'rfc-reference',
+      'emphasis (translation required)': 'emphasis',
+      'strong (translation required)': 'strong',
+      'literal (translation required)': 'literal',
+      'math (translation required)': 'math',
+      'named-reference (translation required)': 'named-reference',
+      'anonymous-reference (translation required)': 'anonymous-reference',
+      'footnote-reference (translation required)': 'footnote-reference',
+      'citation-reference (translation required)': 'citation-reference',
+      'substitution-reference (translation required)': 'substitution-reference',  # noqa:E501
+      'target (translation required)': 'target',
+      'uri-reference (translation required)': 'uri-reference',
+      'raw (translation required)': 'raw',
+      }
+"""Mapping of Slovak role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/sv.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/sv.py
new file mode 100644
index 00000000..e6b11aea
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/sv.py
@@ -0,0 +1,96 @@
+# $Id: sv.py 9030 2022-03-05 23:28:32Z milde $
+# Author: Adam Chodorowski <chodorowski@users.sourceforge.net>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Swedish language mappings for language-dependent features of reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+directives = {
+      'observera': 'attention',
+      'akta': 'caution',  # also 'försiktigt'
+      'kod': 'code',
+      'fara': 'danger',
+      'fel': 'error',
+      'vink': 'hint',  # also 'hint'
+      'viktigt': 'important',
+      'notera': 'note',
+      'tips': 'tip',
+      'varning': 'warning',
+      'anmärkning': 'admonition',  # literal 'tillrättavisning', 'förmaning'
+      'sidorad': 'sidebar',
+      'ämne': 'topic',
+      'tema': 'topic',
+      'rad-block': 'line-block',
+      # 'tolkad-bokstavlig'?
+      'parsed-literal (translation required)': 'parsed-literal',
+      'rubrik': 'rubric',
+      'epigraf': 'epigraph',
+      'höjdpunkter': 'highlights',
+      'pull-quote (translation required)': 'pull-quote',
+      'sammansatt': 'compound',
+      'container': 'container',
+      # 'frågor': 'questions',
+      # NOTE: A bit long, but recommended by http://www.nada.kth.se/dataterm/:
+      # 'frågor-och-svar': 'questions',
+      # 'vanliga-frågor': 'questions',
+      'tabell': 'table',
+      'csv-tabell': 'csv-table',
+      'list-tabell': 'list-table',
+      'meta': 'meta',
+      'matematik': 'math',
+      # 'bildkarta': 'imagemap',  # FIXME: Translation might be too literal.
+      'bild': 'image',
+      'figur': 'figure',
+      'inkludera': 'include',
+      'rå': 'raw',
+      'ersätta': 'replace',
+      'unicode': 'unicode',
+      'datum': 'date',
+      'klass': 'class',
+      'roll': 'role',
+      'standardroll': 'default-role',
+      'titel': 'title',
+      'innehåll': 'contents',
+      'sektionsnumrering': 'sectnum',
+      'target-notes (translation required)': 'target-notes',
+      'sidhuvud': 'header',
+      'sidfot': 'footer',
+      # 'fotnoter': 'footnotes',
+      # 'citeringar': 'citations',
+      }
+"""Swedish name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+      'förkortning': 'abbreviation',
+      'akronym': 'acronym',
+      'kod': 'code',
+      'index': 'index',
+      'nedsänkt': 'subscript',
+      'upphöjd': 'superscript',
+      'titel-referens': 'title-reference',
+      'pep-referens': 'pep-reference',
+      'rfc-referens': 'rfc-reference',
+      'betoning': 'emphasis',
+      'stark': 'strong',
+      'bokstavlig': 'literal',  # also 'ordagranna'
+      'matematik': 'math',
+      'namngiven-referens': 'named-reference',
+      'anonym-referens': 'anonymous-reference',
+      'fotnot-referens': 'footnote-reference',
+      'citat-referens': 'citation-reference',
+      'ersättnings-referens': 'substitution-reference',
+      'mål': 'target',
+      'uri-referens': 'uri-reference',
+      'rå': 'raw',
+      }
+"""Mapping of Swedish role names to canonical role names for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/uk.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/uk.py
new file mode 100644
index 00000000..9e74dc32
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/uk.py
@@ -0,0 +1,91 @@
+# $Id: uk.py 9114 2022-07-28 17:06:10Z milde $
+# Author: Dmytro Kazanzhy <dkazanzhy@gmail.com>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <http://docutils.sf.net/docs/howto/i18n.html>.  Two files must be
+# translated for each language: one in docutils/languages, the other in
+# docutils/parsers/rst/languages.
+
+"""
+Ukrainian-language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+directives = {
+    'блок-строк': 'line-block',
+    'мета': 'meta',
+    'математика': 'math',
+    'оброблений-літерал': 'parsed-literal',
+    'виділена-цитата': 'pull-quote',
+    'код': 'code',
+    'складений абзац': 'compound',
+    'контейнер': 'container',
+    'таблиця': 'table',
+    'таблиця-csv': 'csv-table',
+    'таблиця-списків': 'list-table',
+    'сирий': 'raw',
+    'заміна': 'replace',
+    'тестова-директива-restructuredtext': 'restructuredtext-test-directive',
+    'цільові-виноски': 'target-notes',
+    'юнікод': 'unicode',
+    'дата': 'date',
+    'бічна-панель': 'sidebar',
+    'важливо': 'important',
+    'включати': 'include',
+    'увага': 'attention',
+    'виділення': 'highlights',
+    'зауваження': 'admonition',
+    'зображення': 'image',
+    'клас': 'class',
+    'роль': 'role',
+    'роль-за-замовчуванням': 'default-role',
+    'заголовок': 'title',
+    'номер-розділу': 'sectnum',
+    'нумерація-розділів': 'sectnum',
+    'небезпечно': 'danger',
+    'обережно': 'caution',
+    'помилка': 'error',
+    'підказка': 'tip',
+    'попередження': 'warning',
+    'примітка': 'note',
+    'малюнок': 'figure',
+    'рубрика': 'rubric',
+    'порада': 'hint',
+    'зміст': 'contents',
+    'тема': 'topic',
+    'епіграф': 'epigraph',
+    'верхній колонтитул': 'header',
+    'нижній колонтитул': 'footer',
+    }
+"""Ukrainian name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    'акронім': 'acronym',
+    'код': 'code',
+    'анонімне-посилання': 'anonymous-reference',
+    'буквально': 'literal',
+    'математика': 'math',
+    'верхній-індекс': 'superscript',
+    'наголос': 'emphasis',
+    'іменоване-посилання': 'named-reference',
+    'індекс': 'index',
+    'нижній-індекс': 'subscript',
+    'жирне-накреслення': 'strong',
+    'скорочення': 'abbreviation',
+    'посилання-заміна': 'substitution-reference',
+    'посилання-на-pep': 'pep-reference',
+    'посилання-на-rfc': 'rfc-reference',
+    'посилання-на-uri': 'uri-reference',
+    'посилання-на-заголовок': 'title-reference',
+    'посилання-на-зноску': 'footnote-reference',
+    'посилання-на-цитату': 'citation-reference',
+    'ціль': 'target',
+    'сирий': 'raw',
+    }
+"""Mapping of Ukrainian role names to canonical role names
+for interpreted text.
+"""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/zh_cn.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/zh_cn.py
new file mode 100644
index 00000000..fbb6fd8c
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/zh_cn.py
@@ -0,0 +1,104 @@
+# $Id: zh_cn.py 9030 2022-03-05 23:28:32Z milde $
+# Author: Panjunyong <panjy@zopechina.com>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Simplified Chinese language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      # language-dependent: fixed
+      '注意': 'attention',
+      '小心': 'caution',
+      'code (translation required)': 'code',
+      '危险': 'danger',
+      '错误': 'error',
+      '提示': 'hint',
+      '重要': 'important',
+      '注解': 'note',
+      '技巧': 'tip',
+      '警告': 'warning',
+      '忠告': 'admonition',
+      '侧框': 'sidebar',
+      '主题': 'topic',
+      'line-block (translation required)': 'line-block',
+      'parsed-literal (translation required)': 'parsed-literal',
+      '醒目': 'rubric',
+      '铭文': 'epigraph',
+      '要点': 'highlights',
+      'pull-quote (translation required)': 'pull-quote',
+      '复合': 'compound',
+      '容器': 'container',
+      # 'questions (translation required)': 'questions',
+      '表格': 'table',
+      'csv表格': 'csv-table',
+      '列表表格': 'list-table',
+      # 'qa (translation required)': 'questions',
+      # 'faq (translation required)': 'questions',
+      '元数据': 'meta',
+      'math (translation required)': 'math',
+      # 'imagemap (translation required)': 'imagemap',
+      '图片': 'image',
+      '图例': 'figure',
+      '包含': 'include',
+      '原文': 'raw',
+      '代替': 'replace',
+      '统一码': 'unicode',
+      '日期': 'date',
+      '类型': 'class',
+      '角色': 'role',
+      '默认角色': 'default-role',
+      '标题': 'title',
+      '目录': 'contents',
+      '章节序号': 'sectnum',
+      '题头': 'header',
+      '页脚': 'footer',
+      # 'footnotes (translation required)': 'footnotes',
+      # 'citations (translation required)': 'citations',
+      'target-notes (translation required)': 'target-notes',
+      'restructuredtext-test-directive': 'restructuredtext-test-directive'}
+"""Simplified Chinese name to registered (in directives/__init__.py)
+directive name mapping."""
+
+roles = {
+    # language-dependent: fixed
+    '缩写': 'abbreviation',
+    '简称': 'acronym',
+    'code (translation required)': 'code',
+    'index (translation required)': 'index',
+    'i (translation required)': 'index',
+    '下标': 'subscript',
+    '上标': 'superscript',
+    'title-reference (translation required)': 'title-reference',
+    'title (translation required)': 'title-reference',
+    't (translation required)': 'title-reference',
+    'pep-reference (translation required)': 'pep-reference',
+    'pep (translation required)': 'pep-reference',
+    'rfc-reference (translation required)': 'rfc-reference',
+    'rfc (translation required)': 'rfc-reference',
+    '强调': 'emphasis',
+    '加粗': 'strong',
+    '字面': 'literal',
+    'math (translation required)': 'math',
+    'named-reference (translation required)': 'named-reference',
+    'anonymous-reference (translation required)': 'anonymous-reference',
+    'footnote-reference (translation required)': 'footnote-reference',
+    'citation-reference (translation required)': 'citation-reference',
+    'substitution-reference (translation required)': 'substitution-reference',
+    'target (translation required)': 'target',
+    'uri-reference (translation required)': 'uri-reference',
+    'uri (translation required)': 'uri-reference',
+    'url (translation required)': 'uri-reference',
+    'raw (translation required)': 'raw',
+    }
+"""Mapping of Simplified Chinese role names to canonical role names
+for interpreted text."""
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/zh_tw.py b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/zh_tw.py
new file mode 100644
index 00000000..126255d0
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docutils/parsers/rst/languages/zh_tw.py
@@ -0,0 +1,109 @@
+# $Id: zh_tw.py 9030 2022-03-05 23:28:32Z milde $
+# Author: David Goodger <goodger@python.org>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <https://docutils.sourceforge.io/docs/howto/i18n.html>.
+# Two files must be translated for each language: one in docutils/languages,
+# the other in docutils/parsers/rst/languages.
+
+"""
+Traditional Chinese language mappings for language-dependent features of
+reStructuredText.
+"""
+
+__docformat__ = 'reStructuredText'
+
+
+directives = {
+      # language-dependent: fixed
+      'attention (translation required)': 'attention',
+      'caution (translation required)': 'caution',
+      'code (translation required)': 'code',
+      'danger (translation required)': 'danger',
+      'error (translation required)': 'error',
+      'hint (translation required)': 'hint',
+      'important (translation required)': 'important',
+      'note (translation required)': 'note',
+      'tip (translation required)': 'tip',
+      'warning (translation required)': 'warning',
+      'admonition (translation required)': 'admonition',
+      'sidebar (translation required)': 'sidebar',
+      'topic (translation required)': 'topic',
+      'line-block (translation required)': 'line-block',
+      'parsed-literal (translation required)': 'parsed-literal',
+      'rubric (translation required)': 'rubric',
+      'epigraph (translation required)': 'epigraph',
+      'highlights (translation required)': 'highlights',
+      'pull-quote (translation required)': 'pull-quote',
+      'compound (translation required)': 'compound',
+      'container (translation required)': 'container',
+      # 'questions (translation required)': 'questions',
+      'table (translation required)': 'table',
+      'csv-table (translation required)': 'csv-table',
+      'list-table (translation required)': 'list-table',
+      # 'qa (translation required)': 'questions',
+      # 'faq (translation required)': 'questions',
+      'meta (translation required)': 'meta',
+      'math (translation required)': 'math',
+      # 'imagemap (translation required)': 'imagemap',
+      'image (translation required)': 'image',
+      'figure (translation required)': 'figure',
+      'include (translation required)': 'include',
+      'raw (translation required)': 'raw',
+      'replace (translation required)': 'replace',
+      'unicode (translation required)': 'unicode',
+      '日期': 'date',
+      'class (translation required)': 'class',
+      'role (translation required)': 'role',
+      'default-role (translation required)': 'default-role',
+      'title (translation required)': 'title',
+      'contents (translation required)': 'contents',
+      'sectnum (translation required)': 'sectnum',
+      'section-numbering (translation required)': 'sectnum',
+      'header (translation required)': 'header',
+      'footer (translation required)': 'footer',
+      # 'footnotes (translation required)': 'footnotes',
+      # 'citations (translation required)': 'citations',
+      'target-notes (translation required)': 'target-notes',
+      'restructuredtext-test-directive': 'restructuredtext-test-directive'}
+"""Traditional Chinese name to registered (in directives/__init__.py)
+directive name mapping."""
+
+roles = {
+    # language-dependent: fixed
+    'abbreviation (translation required)': 'abbreviation',
+    'ab (translation required)': 'abbreviation',
+    'acronym (translation required)': 'acronym',
+    'ac (translation required)': 'acronym',
+    'code (translation required)': 'code',
+    'index (translation required)': 'index',
+    'i (translation required)': 'index',
+    'subscript (translation required)': 'subscript',
+    'sub (translation required)': 'subscript',
+    'superscript (translation required)': 'superscript',
+    'sup (translation required)': 'superscript',
+    'title-reference (translation required)': 'title-reference',
+    'title (translation required)': 'title-reference',
+    't (translation required)': 'title-reference',
+    'pep-reference (translation required)': 'pep-reference',
+    'pep (translation required)': 'pep-reference',
+    'rfc-reference (translation required)': 'rfc-reference',
+    'rfc (translation required)': 'rfc-reference',
+    'emphasis (translation required)': 'emphasis',
+    'strong (translation required)': 'strong',
+    'literal (translation required)': 'literal',
+    'math (translation required)': 'math',
+    'named-reference (translation required)': 'named-reference',
+    'anonymous-reference (translation required)': 'anonymous-reference',
+    'footnote-reference (translation required)': 'footnote-reference',
+    'citation-reference (translation required)': 'citation-reference',
+    'substitution-reference (translation required)': 'substitution-reference',
+    'target (translation required)': 'target',
+    'uri-reference (translation required)': 'uri-reference',
+    'uri (translation required)': 'uri-reference',
+    'url (translation required)': 'uri-reference',
+    'raw (translation required)': 'raw',
+    }
+"""Mapping of Traditional Chinese role names to canonical role names for
+interpreted text."""