├── .github └── workflows │ └── deploy.yml ├── .gitignore ├── LICENSE.md ├── README.md ├── hatch_build.py ├── mkdocs_pymdownx_material_extras ├── __init__.py ├── __meta__.py └── theme │ ├── assets │ └── pymdownx-extras │ │ ├── extra-c6ab11540a.css │ │ ├── extra-loader-B5CKpNQx.js │ │ ├── material-extra-3rdparty-BUCF4rjN.js │ │ └── material-extra-theme-2ek1P7jT.js │ ├── main.html │ └── partials │ ├── footer.html │ ├── header.html │ └── libs.html └── pyproject.toml /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: deploy 2 | 3 | on: 4 | push: 5 | tags: 6 | - '*' 7 | 8 | jobs: 9 | 10 | pypi: 11 | strategy: 12 | matrix: 13 | distribution: [bdist_wheel, sdist] 14 | 15 | runs-on: ubuntu-latest 16 | 17 | steps: 18 | - uses: actions/checkout@v4 19 | - uses: actions/setup-python@v5 20 | with: 21 | python-version: '3.13' 22 | - name: Package 23 | run: | 24 | pip install --upgrade build 25 | python -m build -s -w 26 | - name: Publish 27 | uses: pypa/gh-action-pypi-publish@release/v1 28 | with: 29 | user: __token__ 30 | password: ${{ secrets.PYPI_PWD }} 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | manifest*.json 3 | *.map 4 | 5 | # Byte-compiled / optimized / DLL files 6 | __pycache__/ 7 | *.py[cod] 8 | *$py.class 9 | 10 | # C extensions 11 | *.so 12 | 13 | # Distribution / packaging 14 | .Python 15 | build/ 16 | develop-eggs/ 17 | dist/ 18 | downloads/ 19 | eggs/ 20 | .eggs/ 21 | lib/ 22 | lib64/ 23 | parts/ 24 | sdist/ 25 | var/ 26 | wheels/ 27 | pip-wheel-metadata/ 28 | share/python-wheels/ 29 | *.egg-info/ 30 | .installed.cfg 31 | *.egg 32 | MANIFEST 33 | 34 | # PyInstaller 35 | # Usually these files are written by a python script from a template 36 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 37 | *.manifest 38 | *.spec 39 | 40 | # Installer logs 41 | pip-log.txt 42 | pip-delete-this-directory.txt 43 | 44 | # Unit test / coverage reports 45 | htmlcov/ 46 | .tox/ 47 | .nox/ 48 | .coverage 49 | .coverage.* 50 | .cache 51 | nosetests.xml 52 | coverage.xml 53 | *.cover 54 | *.py,cover 55 | .hypothesis/ 56 | .pytest_cache/ 57 | 58 | # Translations 59 | *.mo 60 | *.pot 61 | 62 | # Django stuff: 63 | *.log 64 | local_settings.py 65 | db.sqlite3 66 | db.sqlite3-journal 67 | 68 | # Flask stuff: 69 | instance/ 70 | .webassets-cache 71 | 72 | # Scrapy stuff: 73 | .scrapy 74 | 75 | # Sphinx documentation 76 | docs/_build/ 77 | 78 | # PyBuilder 79 | target/ 80 | 81 | # Jupyter Notebook 82 | .ipynb_checkpoints 83 | 84 | # IPython 85 | profile_default/ 86 | ipython_config.py 87 | 88 | # pyenv 89 | .python-version 90 | 91 | # pipenv 92 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 93 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 94 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 95 | # install all needed dependencies. 96 | #Pipfile.lock 97 | 98 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 99 | __pypackages__/ 100 | 101 | # Celery stuff 102 | celerybeat-schedule 103 | celerybeat.pid 104 | 105 | # SageMath parsed files 106 | *.sage.py 107 | 108 | # Environments 109 | .env 110 | .venv 111 | env/ 112 | venv/ 113 | ENV/ 114 | env.bak/ 115 | venv.bak/ 116 | 117 | # Spyder project settings 118 | .spyderproject 119 | .spyproject 120 | 121 | # Rope project settings 122 | .ropeproject 123 | 124 | # mkdocs documentation 125 | /site 126 | 127 | # mypy 128 | .mypy_cache/ 129 | .dmypy.json 130 | dmypy.json 131 | 132 | # Pyre type checker 133 | .pyre/ 134 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 -2025 Isaac Muse 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MkDocs Pymdownx Material Extras 2 | 3 | A plugin for MkDocs -- specifically the [MkDocs Material Theme](https://github.com/squidfunk/mkdocs-material). 4 | 5 | Adds additional resources that are used in the PyMdown Extensions documentation, and other 6 | [@facelessuser](https://github.com/facelessuser) projects. 7 | 8 | While this is not specifically meant for outside consumption, and was originally written for 9 | [@facelessuser](https://github.com/facelessuser) projects, it can be freely used if desired. 10 | 11 | Files are copied from the [pymdown-extensions project](https://github.com/facelessuser/pymdown-extensions/tree/master/docs/theme/assets/pymdownx-extras). 12 | 13 | ## Instructions 14 | 15 | This is bound to specific versions of MkDocs Material and PyMdown Extensions. It may sometimes be tied to betas. 16 | 17 | Installation: 18 | 19 | ``` 20 | pip install mkdocs_pymdownx_material_extras 21 | ``` 22 | 23 | Add it to your `mkdocs.yml` plugins. It is assuming you are using MkDocs Material. When doing so, remember to add 24 | back the `search` plugin as it doesn't append to the plugins, but overrides the plugins: 25 | 26 | ```yml 27 | plugins: 28 | - search 29 | - mkdocs_pymdownx_material_extras 30 | ``` 31 | 32 | Setup your theme as follows: 33 | 34 | ```yml 35 | theme: 36 | name: material # Must use Material theme 37 | custom_dir: docs/theme # If you have overrides, specify where to find them 38 | palette: 39 | scheme: dracula # This is how to enables the Dracula theme for dark. For light, it will use default Material with some tweaks. 40 | primary: deep purple # Primary colors 41 | accent: deep purple # accent color 42 | ``` 43 | 44 | The following Material primary/accent colors map to actual Dracula colors: 45 | 46 | Material | Dracula 47 | ----------- | ------- 48 | red | red 49 | pink | pink 50 | purple | purple 51 | deep-purple | purple 52 | blue | blue 53 | indigo | blue 54 | light-blue | blue 55 | cyan | cyan 56 | teal | cyan 57 | green | green 58 | light-green | green 59 | lime | green 60 | yellow | yellow 61 | amber | yellow 62 | orange | orange 63 | deep-orange | orange 64 | 65 | ## Sponsor Footer Link 66 | 67 | If you'd like to add the sponsor heart in the footer, add your sponsor link under the MkDocs theme options like so. 68 | 69 | ```yml 70 | theme: 71 | pymdownx: 72 | sponsor: "https://github.com/sponsors/facelessuser" 73 | ``` 74 | 75 | ## Mermaid Support 76 | 77 | Mermaid support is baked in. Simply add the Mermaid script to your MkDocs config: 78 | 79 | ```yml 80 | extra_javascript: 81 | - https://cdn.jsdelivr.net/npm/mermaid@11.5.0/dist/mermaid.min.js 82 | ``` 83 | 84 | If you do not like our default setup, you are free to modify it. Simply provide a script file before before you include 85 | Mermaid with the new config: 86 | 87 | ```yml 88 | extra_javascript: 89 | - my_mermaid_config.js 90 | - https://cdn.jsdelivr.net/npm/mermaid@11.5.0/dist/mermaid.min.js 91 | ``` 92 | Also, setup your Mermaid diagrams: 93 | 94 | ```yml 95 | markdown_extensions: 96 | - pymdownx.superfences: 97 | custom_fences: 98 | # Mermaid diagrams 99 | - name: diagram 100 | class: diagram 101 | format: !!python/name:pymdownx.superfences.fence_code_format 102 | ``` 103 | 104 | Then you can specify your Mermaid diagrams in `diagram` code blocks: 105 | 106 | ```` 107 | ```diagram 108 | ... 109 | ``` 110 | ```` 111 | 112 | Mermaid setups are provided per scheme. You can see the setup [here](https://github.com/facelessuser/pymdown-extensions/blob/main/docs/src/js/material-extra-3rdparty.js). 113 | if you are trying to override them. 114 | 115 | ## MathJax/KaTeX 116 | 117 | Again, MathJax and KaTeX support is baked in. Simply add the MathJax script(s) to your MkDocs config: 118 | 119 | MathJax: 120 | 121 | ```yml 122 | extra_javascript: 123 | - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js 124 | ``` 125 | 126 | KaTeX: 127 | 128 | ```yml 129 | extra_css: 130 | - https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.css 131 | 132 | extra_javascript: 133 | - https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.js 134 | ``` 135 | 136 | Lastly, setup Arithmatex: 137 | 138 | ```yml 139 | markdown_extensions: 140 | - pymdownx.arithmatex: 141 | generic: true # Must use generic mode 142 | block_tag: 'pre' # We wrap block math in `
` to avoid issues with MkDocs minify HTML plugin: https://github.com/byrnereese/mkdocs-minify-plugin
143 | ```
144 | 
145 | If you do not like the default MathJax setup, add your own config before MathJax script:
146 | 
147 | ```yml
148 | extra_javascript:
149 |   - my_mathjax_config.js
150 |   - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
151 | ```
152 | 


--------------------------------------------------------------------------------
/hatch_build.py:
--------------------------------------------------------------------------------
 1 | """Dynamically define some metadata."""
 2 | import os
 3 | from hatchling.metadata.plugin.interface import MetadataHookInterface
 4 | 
 5 | 
 6 | def get_version_dev_status(root):
 7 |     """Get version_info without importing the entire module."""
 8 | 
 9 |     import importlib.util
10 | 
11 |     path = os.path.join(root, "mkdocs_pymdownx_material_extras", "__meta__.py")
12 |     spec = importlib.util.spec_from_file_location("__meta__", path)
13 |     module = importlib.util.module_from_spec(spec)
14 |     spec.loader.exec_module(module)
15 |     return module.__version_info__._get_dev_status()
16 | 
17 | 
18 | class CustomMetadataHook(MetadataHookInterface):
19 |     """Our metadata hook."""
20 | 
21 |     def update(self, metadata):
22 |         """See https://ofek.dev/hatch/latest/plugins/metadata-hook/ for more information."""
23 | 
24 |         metadata["classifiers"] = [
25 |             f"Development Status :: {get_version_dev_status(self.root)}",
26 |             "Environment :: Console",
27 |             "Intended Audience :: Developers",
28 |             "License :: OSI Approved :: MIT License",
29 |             "Operating System :: OS Independent",
30 |             "Programming Language :: Python :: 3",
31 |             "Programming Language :: Python :: 3.9",
32 |             "Programming Language :: Python :: 3.10",
33 |             "Programming Language :: Python :: 3.11",
34 |             "Programming Language :: Python :: 3.12",
35 |             "Programming Language :: Python :: 3.13",
36 |             "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
37 |             "Topic :: Software Development :: Libraries :: Python Modules",
38 |             "Topic :: Text Processing :: Filters",
39 |             "Topic :: Text Processing :: Markup :: HTML",
40 |         ]
41 | 


--------------------------------------------------------------------------------
/mkdocs_pymdownx_material_extras/__init__.py:
--------------------------------------------------------------------------------
 1 | """Mkdocs material Custom."""
 2 | from .__meta__ import __version__, __version_info__, parse_version  # noqa: F401
 3 | import glob
 4 | import os
 5 | import mkdocs.plugins
 6 | import mkdocs
 7 | 
 8 | MKDOCS_150 = parse_version(mkdocs.__version__) >= (1, 5, 0)
 9 | RESOURCE_PATH = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'theme')
10 | 
11 | 
12 | class PymdownxMaterialExtras(mkdocs.plugins.BasePlugin):
13 |     """Plugin to add custom assets to Material theme."""
14 | 
15 |     def on_config(self, config, **kwargs):
16 |         """Add additional assets."""
17 | 
18 |         # Add our theme resources to the theme path.
19 |         config['theme'].dirs.insert(0, RESOURCE_PATH)
20 | 
21 |         base_path = RESOURCE_PATH.replace('\\', '/') + '/'
22 | 
23 |         # Add our extra styles and JavaScript to be included in the template.
24 |         extras = set(config['extra_css'])
25 |         for f in glob.glob(base_path + '**/*.css', recursive=True):
26 |             name = f.replace('\\', '/').replace(base_path, '')
27 |             if name not in extras:
28 |                 config['extra_css'].append(name)
29 | 
30 |         if MKDOCS_150:
31 |             from mkdocs.config.config_options import ExtraScriptValue
32 | 
33 |             extras = set(
34 |                 script.path if not isinstance(script, str) else script for script in config['extra_javascript']
35 |             )
36 |             for f in glob.glob(base_path + '**/extra*.js', recursive=True):
37 |                 name = f.replace('\\', '/').replace(base_path, '')
38 |                 if name not in extras:
39 |                     config['extra_javascript'].append(ExtraScriptValue(name))
40 |         else:
41 |             extras = set(config['extra_javascript'])
42 |             for f in glob.glob(base_path + '**/extra*.js', recursive=True):
43 |                 name = f.replace('\\', '/').replace(base_path, '')
44 |                 if name not in extras:
45 |                     config['extra_javascript'].append(name)
46 | 
47 |         return config
48 | 


--------------------------------------------------------------------------------
/mkdocs_pymdownx_material_extras/__meta__.py:
--------------------------------------------------------------------------------
  1 | """Meta related things."""
  2 | from collections import namedtuple
  3 | import re
  4 | 
  5 | RE_VER = re.compile(
  6 |     r'''(?x)
  7 |     (?P\d+)(?:\.(?P\d+))?(?:\.(?P\d+))?
  8 |     (?:(?Pa|b|rc)(?P
\d+))?
  9 |     (?:\.post(?P\d+))?
 10 |     (?:\.dev(?P\d+))?
 11 |     '''
 12 | )
 13 | 
 14 | REL_MAP = {
 15 |     ".dev": "",
 16 |     ".dev-alpha": "a",
 17 |     ".dev-beta": "b",
 18 |     ".dev-candidate": "rc",
 19 |     "alpha": "a",
 20 |     "beta": "b",
 21 |     "candidate": "rc",
 22 |     "final": ""
 23 | }
 24 | 
 25 | DEV_STATUS = {
 26 |     ".dev": "2 - Pre-Alpha",
 27 |     ".dev-alpha": "2 - Pre-Alpha",
 28 |     ".dev-beta": "2 - Pre-Alpha",
 29 |     ".dev-candidate": "2 - Pre-Alpha",
 30 |     "alpha": "3 - Alpha",
 31 |     "beta": "4 - Beta",
 32 |     "candidate": "4 - Beta",
 33 |     "final": "5 - Production/Stable"
 34 | }
 35 | 
 36 | PRE_REL_MAP = {"a": 'alpha', "b": 'beta', "rc": 'candidate'}
 37 | 
 38 | 
 39 | class Version(namedtuple("Version", ["major", "minor", "micro", "release", "pre", "post", "dev"])):
 40 |     """
 41 |     Get the version (PEP 440).
 42 | 
 43 |     A biased approach to the PEP 440 semantic version.
 44 | 
 45 |     Provides a tuple structure which is sorted for comparisons `v1 > v2` etc.
 46 |       (major, minor, micro, release type, pre-release build, post-release build, development release build)
 47 |     Release types are named in is such a way they are comparable with ease.
 48 |     Accessors to check if a development, pre-release, or post-release build. Also provides accessor to get
 49 |     development status for setup files.
 50 | 
 51 |     How it works (currently):
 52 | 
 53 |     - You must specify a release type as either `final`, `alpha`, `beta`, or `candidate`.
 54 |     - To define a development release, you can use either `.dev`, `.dev-alpha`, `.dev-beta`, or `.dev-candidate`.
 55 |       The dot is used to ensure all development specifiers are sorted before `alpha`.
 56 |       You can specify a `dev` number for development builds, but do not have to as implicit development releases
 57 |       are allowed.
 58 |     - You must specify a `pre` value greater than zero if using a prerelease as this project (not PEP 440) does not
 59 |       allow implicit prereleases.
 60 |     - You can optionally set `post` to a value greater than zero to make the build a post release. While post releases
 61 |       are technically allowed in prereleases, it is strongly discouraged, so we are rejecting them. It should be
 62 |       noted that we do not allow `post0` even though PEP 440 does not restrict this. This project specifically
 63 |       does not allow implicit post releases.
 64 |     - It should be noted that we do not support epochs `1!` or local versions `+some-custom.version-1`.
 65 | 
 66 |     Acceptable version releases:
 67 | 
 68 |     ```
 69 |     Version(1, 0, 0, "final")                    1.0
 70 |     Version(1, 2, 0, "final")                    1.2
 71 |     Version(1, 2, 3, "final")                    1.2.3
 72 |     Version(1, 2, 0, ".dev-alpha", pre=4)        1.2a4
 73 |     Version(1, 2, 0, ".dev-beta", pre=4)         1.2b4
 74 |     Version(1, 2, 0, ".dev-candidate", pre=4)    1.2rc4
 75 |     Version(1, 2, 0, "final", post=1)            1.2.post1
 76 |     Version(1, 2, 3, ".dev")                     1.2.3.dev0
 77 |     Version(1, 2, 3, ".dev", dev=1)              1.2.3.dev1
 78 |     ```
 79 | 
 80 |     """
 81 | 
 82 |     def __new__(cls, major, minor, micro, release="final", pre=0, post=0, dev=0):
 83 |         """Validate version info."""
 84 | 
 85 |         # Ensure all parts are positive integers.
 86 |         for value in (major, minor, micro, pre, post):
 87 |             if not (isinstance(value, int) and value >= 0):
 88 |                 raise ValueError("All version parts except 'release' should be integers.")
 89 | 
 90 |         if release not in REL_MAP:
 91 |             raise ValueError("'{}' is not a valid release type.".format(release))
 92 | 
 93 |         # Ensure valid pre-release (we do not allow implicit pre-releases).
 94 |         if ".dev-candidate" < release < "final":
 95 |             if pre == 0:
 96 |                 raise ValueError("Implicit pre-releases not allowed.")
 97 |             elif dev:
 98 |                 raise ValueError("Version is not a development release.")
 99 |             elif post:
100 |                 raise ValueError("Post-releases are not allowed with pre-releases.")
101 | 
102 |         # Ensure valid development or development/pre release
103 |         elif release < "alpha":
104 |             if release > ".dev" and pre == 0:
105 |                 raise ValueError("Implicit pre-release not allowed.")
106 |             elif post:
107 |                 raise ValueError("Post-releases are not allowed with pre-releases.")
108 | 
109 |         # Ensure a valid normal release
110 |         else:
111 |             if pre:
112 |                 raise ValueError("Version is not a pre-release.")
113 |             elif dev:
114 |                 raise ValueError("Version is not a development release.")
115 | 
116 |         return super(Version, cls).__new__(cls, major, minor, micro, release, pre, post, dev)
117 | 
118 |     def _is_pre(self):
119 |         """Is prerelease."""
120 | 
121 |         return self.pre > 0
122 | 
123 |     def _is_dev(self):
124 |         """Is development."""
125 | 
126 |         return bool(self.release < "alpha")
127 | 
128 |     def _is_post(self):
129 |         """Is post."""
130 | 
131 |         return self.post > 0
132 | 
133 |     def _get_dev_status(self):  # pragma: no cover
134 |         """Get development status string."""
135 | 
136 |         return DEV_STATUS[self.release]
137 | 
138 |     def _get_canonical(self):
139 |         """Get the canonical output string."""
140 | 
141 |         # Assemble major, minor, micro version and append `pre`, `post`, or `dev` if needed..
142 |         if self.micro == 0:
143 |             ver = "{}.{}".format(self.major, self.minor)
144 |         else:
145 |             ver = "{}.{}.{}".format(self.major, self.minor, self.micro)
146 |         if self._is_pre():
147 |             ver += '{}{}'.format(REL_MAP[self.release], self.pre)
148 |         if self._is_post():
149 |             ver += ".post{}".format(self.post)
150 |         if self._is_dev():
151 |             ver += ".dev{}".format(self.dev)
152 | 
153 |         return ver
154 | 
155 | 
156 | def parse_version(ver, pre=False):
157 |     """Parse version into a comparable Version tuple."""
158 | 
159 |     m = RE_VER.match(ver)
160 | 
161 |     # Handle major, minor, micro
162 |     major = int(m.group('major'))
163 |     minor = int(m.group('minor')) if m.group('minor') else 0
164 |     micro = int(m.group('micro')) if m.group('micro') else 0
165 | 
166 |     # Handle pre releases
167 |     if m.group('type'):
168 |         release = PRE_REL_MAP[m.group('type')]
169 |         pre = int(m.group('pre'))
170 |     else:
171 |         release = "final"
172 |         pre = 0
173 | 
174 |     # Handle development releases
175 |     dev = m.group('dev') if m.group('dev') else 0
176 |     if m.group('dev'):
177 |         dev = int(m.group('dev'))
178 |         release = '.dev-' + release if pre else '.dev'
179 |     else:
180 |         dev = 0
181 | 
182 |     # Handle post
183 |     post = int(m.group('post')) if m.group('post') else 0
184 | 
185 |     return Version(major, minor, micro, release, pre, post, dev)
186 | 
187 | 
188 | __version_info__ = Version(2, 8, 0, "final")
189 | __version__ = __version_info__._get_canonical()
190 | 


--------------------------------------------------------------------------------
/mkdocs_pymdownx_material_extras/theme/assets/pymdownx-extras/extra-c6ab11540a.css:
--------------------------------------------------------------------------------
1 | :root>*{--md-code-link-bg-color: hsla(0, 0%, 96%, 1);--md-code-link-accent-bg-color: var(--md-code-link-bg-color);--md-default-bg-color--trans: rgb(100%, 100%, 100%, 0);--md-code-title-bg-color: var(--md-code-bg-color);--md-code-inline-bg-color: var(--md-code-bg-color);--md-code-special-bg-color: hsl(0, 0%, 91%);--md-code-alternate-bg-color: var(--md-code-bg-color);--md-code-hl-punctuation-color: var(--md-code-fg-color);--md-code-hl-namespace-color: var(--md-code-fg-color);--md-code-hl-entity-color: var(--md-code-hl-keyword-color);--md-code-hl-tag-color: var(--md-code-hl-keyword-color);--md-code-hl-builtin-color: var(--md-code-hl-constant-color);--md-code-hl-class-color: var(--md-code-hl-function-color);--md-steps-bg-color: var(--md-code-bg-color);--md-steps-fg-color: var(--md-code-fg-color);--md-steps-border-color: hsla(0, 0%, 75%, 1);--md-typeset-a-color: #00bcd4;--md-progress-stripe: var(--md-default-bg-color--lighter);--md-progress-100: #00e676;--md-progress-80: #00e676;--md-progress-60: #fbc02d;--md-progress-40: #ff9100;--md-progress-20: #ff5252;--md-progress-0: #ff1744;--md-typeset-kbd-color: rgb(234.6, 234.6, 234.6);--md-typeset-kbd-border-color: rgb(183.6, 183.6, 183.6);--md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1)}:root>*[data-md-color-scheme=slate]{--md-code-link-bg-color: hsla(232, 15%, 15%, 1);--md-code-link-accent-bg-color: var(--md-code-link-bg-color);--md-code-special-bg-color: hsl(232, 15%, 20%);--md-default-bg-color--trans: hsla(232,15%,15%, 0);--md-steps-border-color: hsla(225, 15%, 30%, 1);--md-typeset-kbd-color: var(--md-default-fg-color--lightest);--md-typeset-kbd-border-color: rgb(26.45, 27.6, 35.65);--md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter)}:root>*[data-md-color-scheme=dracula]{--md-default-fg-color: hsla(60, 30%, 96%, 0.87);--md-default-fg-color--light: hsla(60, 30%, 96%, 0.54);--md-default-fg-color--lighter: hsla(60, 30%, 96%, 0.16);--md-default-fg-color--lightest: hsla(60, 30%, 96%, 0.07);--md-default-autocomplete-fg-color: hsla(60, 30%, 96%, 0.4);--md-shadow-z2: 0 0.2rem 0.5rem hsla(0, 0%, 0%, 0.3), 0 0 0.05rem hsla(0, 0%, 0%, 0.2);--md-default-bg-color: var(--md-default-bg-color--darkest);--md-default-bg-color--light: hsla(231, 15%, 23%, 0.7);--md-default-bg-color--lighter: hsla(231, 15%, 23%, 0.3);--md-default-bg-color--lightest: hsla(231, 15%, 23%, 0.12);--md-default-bg-color--trans: hsla(231, 15%, 23%, 0);--md-default-bg-color--dark: hsl(231, 15%, 20%);--md-default-bg-color--darker: hsl(231, 15%, 17%);--md-default-bg-color--darkest: hsl(231, 15%, 14%);--md-default-bg-color--ultra-dark: hsl(231, 15%, 8%);--md-text-color: var(--md-default-fg-color);--md-typeset-color: var(--md-default-fg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-code-fg-color: hsl(60, 30%, 96%);--md-code-bg-color: hsl(231, 15%, 18%);--md-code-title-bg-color: var(--md-default-bg-color--ultra-dark);--md-code-inline-bg-color: hsl(231, 15%, 23%);--md-code-hl-operator-color: hsl(326, 100%, 74%);--md-code-hl-punctuation-color: hsl(60, 30%, 96%);--md-code-hl-string-color: hsl(65, 92%, 76%);--md-code-hl-special-color: hsl(265, 89%, 78%);--md-code-hl-number-color: hsl(265, 89%, 78%);--md-code-hl-keyword-color: hsl(326, 100%, 74%);--md-code-hl-name-color: hsl(60, 30%, 96%);--md-code-hl-constant-color: hsl(265, 89%, 78%);--md-code-hl-function-color: hsl(135, 94%, 65%);--md-code-hl-comment-color: hsl(225, 27%, 51%);--md-code-hl-variable-color: hsl(31, 100%, 71%);--md-code-hl-generic-color: hsl(225, 27%, 51%);--md-code-hl-color: hsl(231, 25%, 25%);--md-code-hl-entity-color: hsl(135, 94%, 65%);--md-code-hl-tag-color: hsl(326, 100%, 74%);--md-code-hl-namespace-color: hsl(60, 30%, 96%);--md-code-hl-builtin-color: hsl(191, 97%, 77%);--md-code-hl-class-color: hsl(191, 97%, 77%);--md-code-special-bg-color: hsl(231, 15%, 13%);--md-code-alternate-bg-color: rgb(60.6135, 62.47245, 73.0065);--md-code-link-bg-color: rgb(54.081675, 69.7755225, 82.853325);--md-steps-border-color: hsl(231, 15%, 28%);--md-typeset-a-color: hsl(191, 97%, 77%);--md-typeset-mark-color: rgb(109.61175, 114.238725, 82.43385);--md-typeset-del-color: rgb(114.60975, 69.542325, 103.44925);--md-typeset-ins-color: rgb(54.009, 114.078075, 77.641125);--md-progress-stripe: var(--md-default-bg-color--lightest);--md-progress-100: hsl(135, 94%, 65%);--md-progress-80: hsl(135, 92%, 79%);--md-progress-60: hsl(65, 92%, 76%);--md-progress-40: hsl(31, 100%, 71%);--md-progress-20: hsl(326, 100%, 74%);--md-progress-0: hsl(0, 100%, 67%);--md-typeset-kbd-color: var(--md-default-fg-color--lightest);--md-typeset-kbd-border-color: var(--md-default-bg-color--ultra-dark);--md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter)}[data-md-color-scheme=dracula][data-md-color-primary=red],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-primary-code-bg-color: rgb(71.41275, 47.923425, 57.87225);--md-primary-fg-color: hsla(0deg, 100%, 67%, 1);--md-primary-fg-color--transparent: hsla(0deg, 100%, 67%, 0.1);--md-primary-fg-color--light: hsla(0deg, 100%, 72%, 1);--md-primary-fg-color--dark: hsla(0deg, 100%, 62%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-primary=pink],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-primary-code-bg-color: rgb(71.41275, 53.278425, 74.49825);--md-primary-fg-color: hsla(326deg, 100%, 74%, 1);--md-primary-fg-color--transparent: hsla(326deg, 100%, 74%, 0.1);--md-primary-fg-color--light: hsla(326deg, 100%, 79%, 1);--md-primary-fg-color--dark: hsla(326deg, 100%, 69%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-primary=purple],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-primary-code-bg-color: rgb(61.749525, 57.264075, 82.1916);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.1);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-primary=deep-purple],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-primary-code-bg-color: rgb(61.749525, 57.264075, 82.1916);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.1);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-primary=blue],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-primary-code-bg-color: rgb(47.609775, 51.8956875, 69.435225);--md-primary-fg-color: hsla(225deg, 27%, 51%, 1);--md-primary-fg-color--transparent: hsla(225deg, 27%, 51%, 0.1);--md-primary-fg-color--light: hsla(225deg, 27%, 56%, 1);--md-primary-fg-color--dark: hsla(225deg, 27%, 46%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-primary=indigo],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-primary-code-bg-color: rgb(47.609775, 51.8956875, 69.435225);--md-primary-fg-color: hsla(225deg, 27%, 51%, 1);--md-primary-fg-color--transparent: hsla(225deg, 27%, 51%, 0.1);--md-primary-fg-color--light: hsla(225deg, 27%, 56%, 1);--md-primary-fg-color--dark: hsla(225deg, 27%, 46%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-primary=light-blue],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-primary-code-bg-color: rgb(47.609775, 51.8956875, 69.435225);--md-primary-fg-color: hsla(225deg, 27%, 51%, 1);--md-primary-fg-color--transparent: hsla(225deg, 27%, 51%, 0.1);--md-primary-fg-color--light: hsla(225deg, 27%, 56%, 1);--md-primary-fg-color--dark: hsla(225deg, 27%, 46%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-primary=cyan],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-primary-code-bg-color: rgb(54.081675, 69.7755225, 82.853325);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.1);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-primary=teal],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-primary-code-bg-color: rgb(54.081675, 69.7755225, 82.853325);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.1);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-primary=green],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-primary-code-bg-color: rgb(45.441, 72.365175, 63.437625);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.1);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-primary=light-green],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-primary-code-bg-color: rgb(45.441, 72.365175, 63.437625);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.1);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-primary=lime],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-primary-code-bg-color: rgb(45.441, 72.365175, 63.437625);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.1);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-primary=yellow],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-primary-code-bg-color: rgb(69.27075, 72.434025, 65.49165);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.1);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-primary=amber],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-primary-code-bg-color: rgb(69.27075, 72.434025, 65.49165);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.1);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-primary=orange],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-primary-code-bg-color: rgb(71.41275, 62.445675, 60.93225);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.1);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-primary=deep-orange],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-primary-code-bg-color: rgb(71.41275, 62.445675, 60.93225);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.1);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-accent=red],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-code-link-accent-bg-color: rgb(71.41275, 44.098425, 54.04725);--md-accent-fg-color: hsla(0deg, 100%, 62%, 1);--md-accent-fg-color--transparent: hsla(0deg, 100%, 62%, 0.1);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-accent=pink],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-code-link-accent-bg-color: rgb(71.41275, 49.453425, 72.84075);--md-accent-fg-color: hsla(326deg, 100%, 69%, 1);--md-accent-fg-color--transparent: hsla(326deg, 100%, 69%, 0.1);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-accent=purple],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-code-link-accent-bg-color: rgb(59.5533375, 53.64945, 81.981225);--md-accent-fg-color: hsla(265deg, 89%, 73%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 73%, 0.1);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-accent=deep-purple],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-code-link-accent-bg-color: rgb(59.5533375, 53.64945, 81.981225);--md-accent-fg-color: hsla(265deg, 89%, 73%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 73%, 0.1);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-accent=blue],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-code-link-accent-bg-color: rgb(46.0071, 50.1381, 67.2129);--md-accent-fg-color: hsla(225deg, 27%, 46%, 1);--md-accent-fg-color--transparent: hsla(225deg, 27%, 46%, 0.1);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-accent=indigo],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-code-link-accent-bg-color: rgb(46.0071, 50.1381, 67.2129);--md-accent-fg-color: hsla(225deg, 27%, 46%, 1);--md-accent-fg-color--transparent: hsla(225deg, 27%, 46%, 0.1);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-accent=light-blue],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-code-link-accent-bg-color: rgb(46.0071, 50.1381, 67.2129);--md-accent-fg-color: hsla(225deg, 27%, 46%, 1);--md-accent-fg-color--transparent: hsla(225deg, 27%, 46%, 0.1);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-accent=cyan],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-code-link-accent-bg-color: rgb(50.31405, 69.037935, 82.79595);--md-accent-fg-color: hsla(191deg, 97%, 72%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 72%, 0.1);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-accent=teal],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-code-link-accent-bg-color: rgb(50.31405, 69.037935, 82.79595);--md-accent-fg-color: hsla(191deg, 97%, 72%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 72%, 0.1);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-accent=green],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-code-link-accent-bg-color: rgb(41.73075, 72.250425, 60.62625);--md-accent-fg-color: hsla(135deg, 94%, 60%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 60%, 0.1);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-accent=light-green],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-code-link-accent-bg-color: rgb(41.73075, 72.250425, 60.62625);--md-accent-fg-color: hsla(135deg, 94%, 60%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 60%, 0.1);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-accent=lime],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-code-link-accent-bg-color: rgb(41.73075, 72.250425, 60.62625);--md-accent-fg-color: hsla(135deg, 94%, 60%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 60%, 0.1);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-accent=yellow],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-code-link-accent-bg-color: rgb(68.8245, 72.281025, 61.81965);--md-accent-fg-color: hsla(65deg, 92%, 71%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 71%, 0.1);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-accent=amber],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-code-link-accent-bg-color: rgb(68.8245, 72.281025, 61.81965);--md-accent-fg-color: hsla(65deg, 92%, 71%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 71%, 0.1);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-accent=orange],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-code-link-accent-bg-color: rgb(71.41275, 60.596925, 57.10725);--md-accent-fg-color: hsla(31deg, 100%, 66%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 66%, 0.1);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=dracula][data-md-color-accent=deep-orange],[data-md-color-scheme=dracula] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-code-link-accent-bg-color: rgb(71.41275, 60.596925, 57.10725);--md-accent-fg-color: hsla(31deg, 100%, 66%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 66%, 0.1);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}:root{--md-heart: #ff5252;--md-heart-big: #ff1744}:root :focus-visible{outline-style:solid}:root [data-md-color-scheme=dracula]{--md-heart: hsl(326, 100%, 74%);--md-heart-big: hsl(0, 100%, 67%)}.md-typeset h4{margin:2em 0 1em}.md-typeset a.source-link{position:relative;top:-0.6rem;float:right;color:var(--md-default-fg-color--lighter);transition:color 125ms}.md-typeset a.source-link:hover{color:var(--md-accent-fg-color)}.md-typeset a.source-link .twemoji{height:1.2rem}.md-typeset a.source-link .twemoji svg{width:1.2rem;height:1.2rem}.md-typeset div.highlight.md-max-height pre>code{max-height:15rem}.twemoji.heart-throb svg,.twemoji.heart-throb-hover svg{position:relative;color:var(--md-heart);animation:pulse 1.5s ease infinite}@keyframes pulse{0%{transform:scale(1)}40%{color:var(--md-heart-big);transform:scale(1.3)}50%{transform:scale(1.2)}60%{color:var(--md-heart-big);transform:scale(1.3)}100%{transform:scale(1)}}footer.sponsorship{text-align:center}footer.sponsorship hr{display:inline-block;width:1.6rem;margin:0 .7rem;vertical-align:middle;border-bottom:2px solid var(--md-default-fg-color--lighter)}footer.sponsorship:hover hr{border-color:var(--md-accent-fg-color)}footer.sponsorship:not(:hover) .twemoji.heart-throb-hover svg{color:var(--md-default-fg-color--lighter) !important}body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=dracula] .md-icon .light-mode,body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=dracula] .md-icon .system-mode,body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=dracula] .md-icon .unknown-mode{display:none}body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .dark-mode,body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .system-mode,body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .unknown-mode{display:none}body:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=dracula]) .md-icon .dark-mode,body:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=dracula]) .md-icon .light-mode,body:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=dracula]) .md-icon .system-mode{display:none}body[data-md-prefers-color-scheme=true] .md-icon .dark-mode,body[data-md-prefers-color-scheme=true] .md-icon .light-mode,body[data-md-prefers-color-scheme=true] .md-icon .unknown-mode{display:none}.md-header-nav__scheme{z-index:0}[data-md-toggle=search]:checked~.md-header .md-header-nav__scheme{display:none}.md-typeset .admonition,.md-typeset details{border-width:0;border-left-width:4px}:root>*{--md-admonition-bg-color: transparent}:root>*[data-md-color-scheme=dracula]{--md-admonition-icon-color: dracula.$drac-dark-yellow}:root>*{--md-admonition-icon--settings: url('data:image/svg+xml;charset=utf-8,');--md-admonition-bg-color--settings: rgba(170, 0, 255, 0.1);--md-admonition-icon-color--settings: #aa00ff;--md-admonition-shadow-color--settings: rgba(170, 0, 255, 0.1)}:root>*[data-md-color-scheme=dracula]{--md-admonition-bg-color--settings: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--settings: hsl(326, 100%, 74%);--md-admonition-shadow-color--settings: hsla(326, 100%, 74%, 0.1)}:root>*{--md-admonition-bg-color--note: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--note: hsl(51, 94%, 73%);--md-admonition-shadow-color--note: hsl(51, 94%, 73%)}:root>*{--md-admonition-bg-color--abstract: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--abstract: hsl(191, 97%, 77%);--md-admonition-shadow-color--abstract: hsl(191, 97%, 77%)}:root>*{--md-admonition-bg-color--info: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--info: hsl(190, 94%, 87%);--md-admonition-shadow-color--info: hsl(190, 94%, 87%)}:root>*{--md-admonition-bg-color--tip: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--tip: hsl(161, 97%, 77%);--md-admonition-shadow-color--tip: hsl(161, 97%, 77%)}:root>*{--md-admonition-bg-color--success: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--success: hsl(135, 94%, 65%);--md-admonition-shadow-color--success: hsl(135, 94%, 65%)}:root>*{--md-admonition-bg-color--question: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--question: hsl(135, 92%, 79%);--md-admonition-shadow-color--question: hsl(135, 92%, 79%)}:root>*{--md-admonition-bg-color--warning: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--warning: hsl(31, 100%, 71%);--md-admonition-shadow-color--warning: hsl(31, 100%, 71%)}:root>*{--md-admonition-bg-color--failure: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--failure: hsl(0, 100%, 59%);--md-admonition-shadow-color--failure: hsl(0, 100%, 59%)}:root>*{--md-admonition-bg-color--danger: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--danger: hsl(0, 100%, 67%);--md-admonition-shadow-color--danger: hsl(0, 100%, 67%)}:root>*{--md-admonition-bg-color--bug: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--bug: hsl(325, 100%, 64%);--md-admonition-shadow-color--bug: hsl(325, 100%, 64%)}:root>*{--md-admonition-bg-color--example: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--example: hsl(265, 89%, 78%);--md-admonition-shadow-color--example: hsl(265, 89%, 78%)}:root>*{--md-admonition-bg-color--quote: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--quote: hsl(225, 8%, 51%);--md-admonition-shadow-color--quote: hsl(225, 8%, 51%)}:root>*{--md-admonition-icon--new: url('data:image/svg+xml;charset=utf-8,');--md-admonition-bg-color--new: rgba(255, 214, 0, 0.1);--md-admonition-icon-color--new: #ffd600;--md-admonition-shadow-color--new: rgba(255, 214, 0, 0.1)}:root>*[data-md-color-scheme=dracula]{--md-admonition-bg-color--new: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--new: hsl(65, 92%, 76%);--md-admonition-shadow-color--new: hsla(65, 92%, 76%, 0.1)}:root>*{--md-admonition-bg-color--note: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--note: hsl(51, 94%, 73%);--md-admonition-shadow-color--note: hsl(51, 94%, 73%)}:root>*{--md-admonition-bg-color--abstract: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--abstract: hsl(191, 97%, 77%);--md-admonition-shadow-color--abstract: hsl(191, 97%, 77%)}:root>*{--md-admonition-bg-color--info: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--info: hsl(190, 94%, 87%);--md-admonition-shadow-color--info: hsl(190, 94%, 87%)}:root>*{--md-admonition-bg-color--tip: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--tip: hsl(161, 97%, 77%);--md-admonition-shadow-color--tip: hsl(161, 97%, 77%)}:root>*{--md-admonition-bg-color--success: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--success: hsl(135, 94%, 65%);--md-admonition-shadow-color--success: hsl(135, 94%, 65%)}:root>*{--md-admonition-bg-color--question: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--question: hsl(135, 92%, 79%);--md-admonition-shadow-color--question: hsl(135, 92%, 79%)}:root>*{--md-admonition-bg-color--warning: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--warning: hsl(31, 100%, 71%);--md-admonition-shadow-color--warning: hsl(31, 100%, 71%)}:root>*{--md-admonition-bg-color--failure: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--failure: hsl(0, 100%, 59%);--md-admonition-shadow-color--failure: hsl(0, 100%, 59%)}:root>*{--md-admonition-bg-color--danger: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--danger: hsl(0, 100%, 67%);--md-admonition-shadow-color--danger: hsl(0, 100%, 67%)}:root>*{--md-admonition-bg-color--bug: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--bug: hsl(325, 100%, 64%);--md-admonition-shadow-color--bug: hsl(325, 100%, 64%)}:root>*{--md-admonition-bg-color--example: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--example: hsl(265, 89%, 78%);--md-admonition-shadow-color--example: hsl(265, 89%, 78%)}:root>*{--md-admonition-bg-color--quote: var(--md-default-bg-color--ultra-dark);--md-admonition-icon-color--quote: hsl(225, 8%, 51%);--md-admonition-shadow-color--quote: hsl(225, 8%, 51%)}[data-md-color-scheme=dracula] .md-typeset .admonition,[data-md-color-scheme=dracula] .md-typeset details{border-color:var(--md-admonition-icon-color--note);box-shadow:var(--md-shadow-z2)}[data-md-color-scheme=dracula] .md-typeset .admonition:focus-within,[data-md-color-scheme=dracula] .md-typeset details:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details>summary{background-color:var(--md-admonition-bg-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details>summary::before{background-color:var(--md-admonition-icon-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details>summary::after{color:var(--md-admonition-icon-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition.note,[data-md-color-scheme=dracula] .md-typeset details.note{border-color:var(--md-admonition-icon-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition.note:focus-within,[data-md-color-scheme=dracula] .md-typeset details.note:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition.note>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.note>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.note>summary{background-color:var(--md-admonition-bg-color--note);border-color:var(--md-admonition-icon-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition.note>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.note>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.note>summary::before{background-color:var(--md-admonition-icon-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition.note>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.note>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.note>summary::after{color:var(--md-admonition-icon-color--note)}[data-md-color-scheme=dracula] .md-typeset .admonition.abstract,[data-md-color-scheme=dracula] .md-typeset details.abstract{border-color:var(--md-admonition-icon-color--abstract)}[data-md-color-scheme=dracula] .md-typeset .admonition.abstract:focus-within,[data-md-color-scheme=dracula] .md-typeset details.abstract:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--abstract)}[data-md-color-scheme=dracula] .md-typeset .admonition.abstract>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.abstract>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.abstract>summary{background-color:var(--md-admonition-bg-color--abstract);border-color:var(--md-admonition-icon-color--abstract)}[data-md-color-scheme=dracula] .md-typeset .admonition.abstract>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.abstract>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.abstract>summary::before{background-color:var(--md-admonition-icon-color--abstract)}[data-md-color-scheme=dracula] .md-typeset .admonition.abstract>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.abstract>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.abstract>summary::after{color:var(--md-admonition-icon-color--abstract)}[data-md-color-scheme=dracula] .md-typeset .admonition.info,[data-md-color-scheme=dracula] .md-typeset details.info{border-color:var(--md-admonition-icon-color--info)}[data-md-color-scheme=dracula] .md-typeset .admonition.info:focus-within,[data-md-color-scheme=dracula] .md-typeset details.info:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--info)}[data-md-color-scheme=dracula] .md-typeset .admonition.info>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.info>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.info>summary{background-color:var(--md-admonition-bg-color--info);border-color:var(--md-admonition-icon-color--info)}[data-md-color-scheme=dracula] .md-typeset .admonition.info>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.info>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.info>summary::before{background-color:var(--md-admonition-icon-color--info)}[data-md-color-scheme=dracula] .md-typeset .admonition.info>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.info>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.info>summary::after{color:var(--md-admonition-icon-color--info)}[data-md-color-scheme=dracula] .md-typeset .admonition.tip,[data-md-color-scheme=dracula] .md-typeset details.tip{border-color:var(--md-admonition-icon-color--tip)}[data-md-color-scheme=dracula] .md-typeset .admonition.tip:focus-within,[data-md-color-scheme=dracula] .md-typeset details.tip:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--tip)}[data-md-color-scheme=dracula] .md-typeset .admonition.tip>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.tip>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.tip>summary{background-color:var(--md-admonition-bg-color--tip);border-color:var(--md-admonition-icon-color--tip)}[data-md-color-scheme=dracula] .md-typeset .admonition.tip>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.tip>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.tip>summary::before{background-color:var(--md-admonition-icon-color--tip)}[data-md-color-scheme=dracula] .md-typeset .admonition.tip>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.tip>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.tip>summary::after{color:var(--md-admonition-icon-color--tip)}[data-md-color-scheme=dracula] .md-typeset .admonition.success,[data-md-color-scheme=dracula] .md-typeset details.success{border-color:var(--md-admonition-icon-color--success)}[data-md-color-scheme=dracula] .md-typeset .admonition.success:focus-within,[data-md-color-scheme=dracula] .md-typeset details.success:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--success)}[data-md-color-scheme=dracula] .md-typeset .admonition.success>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.success>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.success>summary{background-color:var(--md-admonition-bg-color--success);border-color:var(--md-admonition-icon-color--success)}[data-md-color-scheme=dracula] .md-typeset .admonition.success>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.success>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.success>summary::before{background-color:var(--md-admonition-icon-color--success)}[data-md-color-scheme=dracula] .md-typeset .admonition.success>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.success>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.success>summary::after{color:var(--md-admonition-icon-color--success)}[data-md-color-scheme=dracula] .md-typeset .admonition.question,[data-md-color-scheme=dracula] .md-typeset details.question{border-color:var(--md-admonition-icon-color--question)}[data-md-color-scheme=dracula] .md-typeset .admonition.question:focus-within,[data-md-color-scheme=dracula] .md-typeset details.question:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--question)}[data-md-color-scheme=dracula] .md-typeset .admonition.question>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.question>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.question>summary{background-color:var(--md-admonition-bg-color--question);border-color:var(--md-admonition-icon-color--question)}[data-md-color-scheme=dracula] .md-typeset .admonition.question>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.question>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.question>summary::before{background-color:var(--md-admonition-icon-color--question)}[data-md-color-scheme=dracula] .md-typeset .admonition.question>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.question>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.question>summary::after{color:var(--md-admonition-icon-color--question)}[data-md-color-scheme=dracula] .md-typeset .admonition.warning,[data-md-color-scheme=dracula] .md-typeset details.warning{border-color:var(--md-admonition-icon-color--warning)}[data-md-color-scheme=dracula] .md-typeset .admonition.warning:focus-within,[data-md-color-scheme=dracula] .md-typeset details.warning:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--warning)}[data-md-color-scheme=dracula] .md-typeset .admonition.warning>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.warning>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.warning>summary{background-color:var(--md-admonition-bg-color--warning);border-color:var(--md-admonition-icon-color--warning)}[data-md-color-scheme=dracula] .md-typeset .admonition.warning>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.warning>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.warning>summary::before{background-color:var(--md-admonition-icon-color--warning)}[data-md-color-scheme=dracula] .md-typeset .admonition.warning>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.warning>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.warning>summary::after{color:var(--md-admonition-icon-color--warning)}[data-md-color-scheme=dracula] .md-typeset .admonition.failure,[data-md-color-scheme=dracula] .md-typeset details.failure{border-color:var(--md-admonition-icon-color--failure)}[data-md-color-scheme=dracula] .md-typeset .admonition.failure:focus-within,[data-md-color-scheme=dracula] .md-typeset details.failure:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--failure)}[data-md-color-scheme=dracula] .md-typeset .admonition.failure>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.failure>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.failure>summary{background-color:var(--md-admonition-bg-color--failure);border-color:var(--md-admonition-icon-color--failure)}[data-md-color-scheme=dracula] .md-typeset .admonition.failure>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.failure>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.failure>summary::before{background-color:var(--md-admonition-icon-color--failure)}[data-md-color-scheme=dracula] .md-typeset .admonition.failure>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.failure>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.failure>summary::after{color:var(--md-admonition-icon-color--failure)}[data-md-color-scheme=dracula] .md-typeset .admonition.danger,[data-md-color-scheme=dracula] .md-typeset details.danger{border-color:var(--md-admonition-icon-color--danger)}[data-md-color-scheme=dracula] .md-typeset .admonition.danger:focus-within,[data-md-color-scheme=dracula] .md-typeset details.danger:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--danger)}[data-md-color-scheme=dracula] .md-typeset .admonition.danger>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.danger>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.danger>summary{background-color:var(--md-admonition-bg-color--danger);border-color:var(--md-admonition-icon-color--danger)}[data-md-color-scheme=dracula] .md-typeset .admonition.danger>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.danger>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.danger>summary::before{background-color:var(--md-admonition-icon-color--danger)}[data-md-color-scheme=dracula] .md-typeset .admonition.danger>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.danger>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.danger>summary::after{color:var(--md-admonition-icon-color--danger)}[data-md-color-scheme=dracula] .md-typeset .admonition.bug,[data-md-color-scheme=dracula] .md-typeset details.bug{border-color:var(--md-admonition-icon-color--bug)}[data-md-color-scheme=dracula] .md-typeset .admonition.bug:focus-within,[data-md-color-scheme=dracula] .md-typeset details.bug:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--bug)}[data-md-color-scheme=dracula] .md-typeset .admonition.bug>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.bug>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.bug>summary{background-color:var(--md-admonition-bg-color--bug);border-color:var(--md-admonition-icon-color--bug)}[data-md-color-scheme=dracula] .md-typeset .admonition.bug>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.bug>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.bug>summary::before{background-color:var(--md-admonition-icon-color--bug)}[data-md-color-scheme=dracula] .md-typeset .admonition.bug>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.bug>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.bug>summary::after{color:var(--md-admonition-icon-color--bug)}[data-md-color-scheme=dracula] .md-typeset .admonition.example,[data-md-color-scheme=dracula] .md-typeset details.example{border-color:var(--md-admonition-icon-color--example)}[data-md-color-scheme=dracula] .md-typeset .admonition.example:focus-within,[data-md-color-scheme=dracula] .md-typeset details.example:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--example)}[data-md-color-scheme=dracula] .md-typeset .admonition.example>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.example>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.example>summary{background-color:var(--md-admonition-bg-color--example);border-color:var(--md-admonition-icon-color--example)}[data-md-color-scheme=dracula] .md-typeset .admonition.example>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.example>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.example>summary::before{background-color:var(--md-admonition-icon-color--example)}[data-md-color-scheme=dracula] .md-typeset .admonition.example>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.example>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.example>summary::after{color:var(--md-admonition-icon-color--example)}[data-md-color-scheme=dracula] .md-typeset .admonition.quote,[data-md-color-scheme=dracula] .md-typeset details.quote{border-color:var(--md-admonition-icon-color--quote)}[data-md-color-scheme=dracula] .md-typeset .admonition.quote:focus-within,[data-md-color-scheme=dracula] .md-typeset details.quote:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--quote)}[data-md-color-scheme=dracula] .md-typeset .admonition.quote>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.quote>.admonition-title,[data-md-color-scheme=dracula] .md-typeset details.quote>summary{background-color:var(--md-admonition-bg-color--quote);border-color:var(--md-admonition-icon-color--quote)}[data-md-color-scheme=dracula] .md-typeset .admonition.quote>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.quote>.admonition-title::before,[data-md-color-scheme=dracula] .md-typeset details.quote>summary::before{background-color:var(--md-admonition-icon-color--quote)}[data-md-color-scheme=dracula] .md-typeset .admonition.quote>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.quote>.admonition-title::after,[data-md-color-scheme=dracula] .md-typeset details.quote>summary::after{color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.settings,.md-typeset details.settings,.md-typeset .admonition.config,.md-typeset details.config{border-color:var(--md-admonition-icon-color--settings)}.md-typeset .admonition.settings:focus-within,.md-typeset details.settings:focus-within,.md-typeset .admonition.config:focus-within,.md-typeset details.config:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--settings)}.md-typeset .admonition.settings>.admonition-title,.md-typeset details.settings>.admonition-title,.md-typeset details.settings>summary,.md-typeset .admonition.config>.admonition-title,.md-typeset details.config>.admonition-title,.md-typeset details.config>summary{background-color:var(--md-admonition-bg-color--settings);border-color:var(--md-admonition-icon-color--settings)}.md-typeset .admonition.settings>.admonition-title::before,.md-typeset details.settings>.admonition-title::before,.md-typeset details.settings>summary::before,.md-typeset .admonition.config>.admonition-title::before,.md-typeset details.config>.admonition-title::before,.md-typeset details.config>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--settings);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--settings);mask-image:var(--md-admonition-icon--settings);content:" "}.md-typeset .admonition.settings>.admonition-title::after,.md-typeset details.settings>.admonition-title::after,.md-typeset details.settings>summary::after,.md-typeset .admonition.config>.admonition-title::after,.md-typeset details.config>.admonition-title::after,.md-typeset details.config>summary::after{color:var(--md-admonition-icon-color--settings)}.md-typeset .admonition.new,.md-typeset details.new{border-color:var(--md-admonition-icon-color--new)}.md-typeset .admonition.new:focus-within,.md-typeset details.new:focus-within{box-shadow:0 0 0 .2rem var(--md-admonition-shadow-color--new)}.md-typeset .admonition.new>.admonition-title,.md-typeset details.new>.admonition-title,.md-typeset details.new>summary{background-color:var(--md-admonition-bg-color--new);border-color:var(--md-admonition-icon-color--new)}.md-typeset .admonition.new>.admonition-title::before,.md-typeset details.new>.admonition-title::before,.md-typeset details.new>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--new);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--new);mask-image:var(--md-admonition-icon--new);content:" "}.md-typeset .admonition.new>.admonition-title::after,.md-typeset details.new>.admonition-title::after,.md-typeset details.new>summary::after{color:var(--md-admonition-icon-color--new)}mjx-container[display=true]{font-size:120% !important}mjx-container:not([display]){font-size:100% !important}.md-typeset .arithmatex{overflow-x:auto !important;overflow-y:hidden !important}.katex-display .katex-html{display:flex !important;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:space-between}.katex-display .katex-html .base{display:inline !important}.katex-display .katex-html .tag{position:relative !important;display:inline !important;margin-left:var(--margin-small)}.CtxtMenu_InfoClose{top:.2em;right:.2em}.CtxtMenu_InfoContent{overflow:auto;text-align:left;font-size:80%;padding:.4em .6em;border:1px inset;margin:1em 0px;max-height:20em;max-width:30em;background-color:#eee;white-space:normal}.CtxtMenu_Info.CtxtMenu_MousePost{outline:none}.CtxtMenu_Info{position:fixed;left:50%;width:auto;text-align:center;border:3px outset;padding:1em 2em;background-color:#ddd;color:#000;cursor:default;font-family:message-box;font-size:120%;font-style:normal;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:15px;-webkit-border-radius:15px;-moz-border-radius:15px;-khtml-border-radius:15px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color="gray", Positive="true")}.CtxtMenu_MenuClose{position:absolute;cursor:pointer;display:inline-block;border:2px solid #aaa;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;font-family:"Courier New",Courier;font-size:24px;color:#f0f0f0}.CtxtMenu_MenuClose span{display:block;background-color:#aaa;border:1.5px solid;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;line-height:0;padding:8px 0 6px}.CtxtMenu_MenuClose:hover{color:#fff !important;border:2px solid #ccc !important}.CtxtMenu_MenuClose:hover span{background-color:#ccc !important}.CtxtMenu_MenuClose:hover:focus{outline:none}.CtxtMenu_Menu{position:absolute;background-color:#fff;color:#000;width:auto;padding:5px 0px;border:1px solid #ccc;margin:0;cursor:default;font:menu;text-align:left;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-khtml-border-radius:5px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray}.CtxtMenu_MenuItem{padding:1px 2em;background:rgba(0,0,0,0)}.CtxtMenu_MenuArrow{position:absolute;right:.5em;padding-top:.25em;color:#666;font-size:.75em}.CtxtMenu_MenuActive .CtxtMenu_MenuArrow{color:#fff}.CtxtMenu_MenuArrow.CtxtMenu_RTL{left:.5em;right:auto}.CtxtMenu_MenuCheck{position:absolute;left:.7em}.CtxtMenu_MenuCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuRadioCheck{position:absolute;left:.7em}.CtxtMenu_MenuRadioCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuInputBox{padding-left:1em;right:.5em;color:#666}.CtxtMenu_MenuInputBox.CtxtMenu_RTL{left:.1em}.CtxtMenu_MenuComboBox{left:.1em;padding-bottom:.5em}.CtxtMenu_MenuSlider{left:.1em}.CtxtMenu_SliderValue{position:absolute;right:.1em;padding-top:.25em;color:#333;font-size:.75em}.CtxtMenu_SliderBar{outline:none;background:#d3d3d3}.CtxtMenu_MenuLabel{padding:1px 2em 3px 1.33em;font-style:italic}.CtxtMenu_MenuRule{border-top:1px solid #ddd;margin:4px 3px}.CtxtMenu_MenuDisabled{color:GrayText}.CtxtMenu_MenuActive{background-color:#606872;color:#fff}.CtxtMenu_MenuDisabled:focus{background-color:#e8e8e8}.CtxtMenu_MenuLabel:focus{background-color:#e8e8e8}.CtxtMenu_ContextMenu:focus{outline:none}.CtxtMenu_ContextMenu .CtxtMenu_MenuItem:focus{outline:none}.CtxtMenu_SelectionMenu{position:relative;float:left;border-bottom:none;-webkit-box-shadow:none;-webkit-border-radius:0px}.CtxtMenu_SelectionItem{padding-right:1em}.CtxtMenu_Selection{right:40%;width:50%}.CtxtMenu_SelectionBox{padding:0em;max-height:20em;max-width:none;background-color:#fff}.CtxtMenu_SelectionDivider{clear:both;border-top:2px solid #000}.CtxtMenu_Menu .CtxtMenu_MenuClose{top:-10px;left:-10px}[data-md-color-scheme=slate] .CtxtMenu_InfoSignature input,[data-md-color-scheme=slate] .CtxtMenu_InfoContent pre,[data-md-color-scheme=dracula] .CtxtMenu_InfoSignature input,[data-md-color-scheme=dracula] .CtxtMenu_InfoContent pre{color:#000}[data-md-color-scheme=slate] .CtxtMenu_Info,[data-md-color-scheme=slate] .CtxtMenu_Menu,[data-md-color-scheme=dracula] .CtxtMenu_Info,[data-md-color-scheme=dracula] .CtxtMenu_Menu{box-shadow:0px 10px 20px rgba(0,0,0,.5)}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset mark.critic{padding:0 .25em;color:unset;box-shadow:none}.md-typeset .critic.break{margin:0}.md-typeset details{overflow:hidden}.md-typeset details>summary:focus{outline-style:none}:root>*{--highlight-svg-console: url('data:image/svg+xml;charset=utf-8,');--highlight-svg-arrow-expand: url('data:image/svg+xml;charset=utf-8,');--highlight-svg-arrow-collapse: url('data:image/svg+xml;charset=utf-8,')}.highlight .kc{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne{color:var(--md-code-hl-class-color)}.highlight .mb{color:var(--md-code-hl-number-color)}.highlight .nb,.highlight .bp{color:var(--md-code-hl-builtin-color)}.highlight .nn{color:var(--md-code-hl-namespace-color)}.highlight .na,.highlight .nd,.highlight .ni{color:var(--md-code-hl-entity-color)}.highlight .nl,.highlight .nt{color:var(--md-code-hl-tag-color)}.md-typeset *:not(pre)>code{margin:0;padding:0 .2941176471em;color:var(--md-code-fg-color);background-color:var(--md-code-inline-bg-color);border-radius:.1rem;box-shadow:none}.md-typeset a>code{color:inherit !important;background-color:var(--md-code-link-bg-color) !important;transition:color 125ms;transition:background-color 125ms}.md-typeset a>code *{color:var(--md-typeset-a-color) !important}.md-typeset a>code:hover{background-color:var(--md-code-link-accent-bg-color) !important}.md-typeset a>code:hover *{color:var(--md-accent-fg-color) !important}.md-typeset pre>code{outline:none}.md-typeset td code{word-break:normal}.md-typeset .highlight{-moz-tab-size:8;-o-tab-size:8;tab-size:8}.md-typeset .highlight+.result{border-width:.1rem}.md-typeset .highlight [data-linenos].special::before{background-color:var(--md-code-special-bg-color)}.md-typeset .highlighttable .linenodiv .special{margin-right:-.5882352941em;margin-left:-1.1764705882em;padding-right:.5882352941em;padding-left:1.1764705882em;background-color:var(--md-code-special-bg-color)}.md-typeset .highlight span.filename{position:relative;display:block;margin-top:1em;padding:.5em 1.1764705882em .5em 2.9411764706em;font-weight:700;font-size:.68rem;background-color:var(--md-code-title-bg-color);border-top-left-radius:.1rem;border-top-right-radius:.1rem}.md-typeset .highlight span.filename+pre{margin-top:0}.md-typeset .highlight span.filename+pre code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .highlight span.filename::before{position:absolute;left:.8823529412em;width:1.4705882353em;height:1.4705882353em;background-color:var(--md-default-fg-color);-webkit-mask-image:var(--highlight-svg-console);mask-image:var(--highlight-svg-console);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset .collapse-code{position:relative;margin-top:1em;margin-bottom:1em}.md-typeset .collapse-code pre{margin-top:0;margin-bottom:0}.md-typeset .collapse-code input{display:none}.md-typeset .collapse-code input~.code-footer{width:100%;margin:0;padding:.25em .5em .25em 0em}.md-typeset .collapse-code input~.code-footer label{position:relative;margin:.05em;padding:.15em .8em;color:var(--md-primary-bg-color);font-size:90%;background-color:var(--md-primary-fg-color);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;border-radius:.1rem;cursor:pointer;content:""}.md-typeset .collapse-code input~.code-footer label:hover{background-color:var(--md-accent-fg-color)}.md-typeset .collapse-code input~.code-footer label::before{position:absolute;top:.15em;left:.15em;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-primary-bg-color);background-size:1.25em;content:""}.md-typeset .collapse-code input~.code-footer label.expand{display:none}.md-typeset .collapse-code input~.code-footer label.expand::before{-webkit-mask-image:var(--highlight-svg-arrow-expand);mask-image:var(--highlight-svg-arrow-expand)}.md-typeset .collapse-code input~.code-footer label.collapse::before{-webkit-mask-image:var(--highlight-svg-arrow-collapse);mask-image:var(--highlight-svg-arrow-collapse)}.md-typeset .collapse-code input:checked~.code-footer label.expand{display:inline}.md-typeset .collapse-code input:checked~.code-footer label.collapse{display:none}.md-typeset .collapse-code input:checked+div.highlight code{max-height:9.375em;overflow:hidden}.md-typeset .collapse-code input:checked~.code-footer{position:absolute;bottom:0;left:0;padding:2em .5em .5em .8rem;background-image:linear-gradient(to bottom, transparent, var(--md-default-bg-color) 80% 100%)}.md-typeset .keys .key-power::before{padding-right:.4em;content:"⏻"}.md-typeset .keys .key-fingerprint::before{padding-right:.4em;content:"☝"}:root>*{--magiclink-email-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-github-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-bitbucket-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-gitlab-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-commit-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-compare-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-pull-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-issue-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-discussion-icon: url('data:image/svg+xml;charset=utf-8,')}.md-typeset a[href^="mailto:"]:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-email-icon);mask-image:var(--magiclink-email-icon)}.md-typeset .magiclink-repository:not(.magiclink-ignore),.md-typeset .magiclink-compare:not(.magiclink-ignore),.md-typeset .magiclink-commit:not(.magiclink-ignore),.md-typeset .magiclink-pull:not(.magiclink-ignore),.md-typeset .magiclink-issue:not(.magiclink-ignore),.md-typeset .magiclink-discussion:not(.magiclink-ignore),.md-typeset a[href^="mailto:"]:not(.magiclink-ignore){position:relative;padding-left:1.375em}.md-typeset .magiclink-repository:not(.magiclink-ignore)::before,.md-typeset .magiclink-compare:not(.magiclink-ignore)::before,.md-typeset .magiclink-commit:not(.magiclink-ignore)::before,.md-typeset .magiclink-pull:not(.magiclink-ignore)::before,.md-typeset .magiclink-issue:not(.magiclink-ignore)::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before,.md-typeset a[href^="mailto:"]:not(.magiclink-ignore)::before{position:absolute;top:0;left:0;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-typeset-a-color);background-size:1.25em;transition:background-color 125ms;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset .magiclink-repository:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-compare:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-commit:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-pull:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-issue:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore):hover::before,.md-typeset a[href^="mailto:"]:not(.magiclink-ignore):hover::before{background-color:var(--md-accent-fg-color)}.md-typeset .magiclink-commit:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-commit-icon);mask-image:var(--magiclink-commit-icon)}.md-typeset .magiclink-compare:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-compare-icon);mask-image:var(--magiclink-compare-icon)}.md-typeset .magiclink-pull:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-pull-icon);mask-image:var(--magiclink-pull-icon)}.md-typeset .magiclink-issue:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-issue-icon);mask-image:var(--magiclink-issue-icon)}.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-discussion-icon);mask-image:var(--magiclink-discussion-icon)}.md-typeset .magiclink-repository.magiclink-github:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-github-icon);mask-image:var(--magiclink-github-icon)}.md-typeset .magiclink-repository.magiclink-gitlab:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-gitlab-icon);mask-image:var(--magiclink-gitlab-icon)}.md-typeset .magiclink-repository.magiclink-bitbucket:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-bitbucket-icon);mask-image:var(--magiclink-bitbucket-icon)}.md-typeset mark:not(.critic){box-shadow:none}.md-typeset .progress-label{position:absolute;width:100%;margin:0;color:var(--md-text-color);font-weight:700;line-height:1.4rem;white-space:nowrap;text-align:center;text-shadow:-0.0625em -0.0625em .375em var(--md-default-bg-color--light),.0625em -0.0625em .375em var(--md-default-bg-color--light),-0.0625em .0625em .375em var(--md-default-bg-color--light),.0625em .0625em .375em var(--md-default-bg-color--light)}.md-typeset .progress-bar{float:left;height:1.2rem;background-color:#2979ff}.md-typeset .candystripe-animate .progress-bar{animation:animate-stripes 3s linear infinite}.md-typeset .progress{position:relative;display:block;width:100%;height:1.2rem;margin:.5rem 0;background-color:var(--md-default-fg-color--lightest)}.md-typeset .progress.thin{height:.4rem;margin-top:.9rem}.md-typeset .progress.thin .progress-label{margin-top:-0.4rem}.md-typeset .progress.thin .progress-bar{height:.4rem}.md-typeset .progress.candystripe .progress-bar{background-image:linear-gradient(135deg, var(--md-progress-stripe) 27%, transparent 27%, transparent 52%, var(--md-progress-stripe) 52%, var(--md-progress-stripe) 77%, transparent 77%, transparent);background-size:2rem 2rem}.md-typeset .progress-100plus .progress-bar{background-color:var(--md-progress-100)}.md-typeset .progress-80plus .progress-bar{background-color:var(--md-progress-80)}.md-typeset .progress-60plus .progress-bar{background-color:var(--md-progress-60)}.md-typeset .progress-40plus .progress-bar{background-color:var(--md-progress-40)}.md-typeset .progress-20plus .progress-bar{background-color:var(--md-progress-20)}.md-typeset .progress-0plus .progress-bar{background-color:var(--md-progress-0)}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:6rem 0}}[data-md-color-scheme=dracula] .md-typeset .tabbed-set>.tabbed-labels{box-shadow:0 -0.05rem var(--md-default-fg-color--lighter) inset}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control{width:2rem}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control[hidden]{width:1.2rem;opacity:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block{padding:0 .6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child{margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child span.filename{margin-top:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child>.code-footer{left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>diagram-div:only-child{margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.js .md-typeset .tabbed-labels::before{background-color:var(--md-accent-fg-color)}[data-md-color-scheme=dracula] .md-typeset table:not([class]){box-shadow:var(--md-shadow-z2)}[data-md-color-scheme=dracula] .md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.08)}[data-md-color-scheme=dracula] .md-typeset table:not([class]) th{color:var(--md-text-color);background-color:var(--md-default-bg-color--ultra-dark);border-bottom:.05rem solid var(--md-primary-fg-color)}[data-md-color-scheme=dracula] .md-typeset table:not([class]) td{border-top:.05rem solid var(--md-default-fg-color--lighter)}[data-md-color-scheme=dracula] .md-typeset .task-list-control .task-list-indicator::before{background-color:var(--md-default-fg-color--lighter)}[data-md-color-scheme=dracula] .md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:hsl(135,94%,65%)}:root>*{--toc-svg-link: url('data:image/svg+xml;charset=utf-8,')}.md-typeset .headerlink{width:1em;height:1em;vertical-align:middle;background-color:var(--md-default-fg-color--lighter);background-size:1em;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;visibility:visible;-webkit-mask-image:var(--toc-svg-link);mask-image:var(--toc-svg-link)}.md-typeset .headerlink:hover,.md-typeset [id]:target .headerlink{background-color:var(--md-accent-fg-color)}diagram-div{overflow:auto}.md-typeset div.steps>ol{counter-reset:item}.md-typeset div.steps>ol li{position:relative;padding-left:1em;list-style:none}.md-typeset div.steps>ol li::before{position:absolute;top:0;left:0;z-index:-1;display:block;width:1.75em;height:1.75em;margin-left:-1.25em;color:var(--md-steps-fg-color);font-weight:600;font-size:.9em;text-align:center;background-color:var(--md-steps-bg-color);border:1px solid var(--md-steps-border-color);border-radius:100px;content:counter(item);counter-increment:item}.md-typeset div.steps>ol li::after{position:absolute;top:0;bottom:0;left:-0.36em;display:block;width:1px;margin-top:2em;border-left:1px solid var(--md-steps-border-color);content:""}html{background-color:rgba(0,0,0,0)}[data-md-component=announce] .twemoji{color:var(--md-primary-fg-color)}[data-md-color-scheme=dracula]{--md-text-color: var(--md-default-fg-color);background-color:var(--md-default-bg-color);--md-footer-bg-color: transparent;--md-footer-bg-color--dark: var(--md-default-bg-color--darkest);--md-header-fg-color: var(--md-text-color);--md-header-bg-color: var(--md-default-bg-color--darkest)}[data-md-color-scheme=dracula] .md-header{color:var(--md-text-color);background-color:var(--md-header-bg-color);border-bottom:.05rem solid var(--md-primary-fg-color)}[data-md-color-scheme=dracula] .md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.15),0 0 .2rem .4rem rgba(0,0,0,.2)}[data-md-color-scheme=dracula] .md-top{background-color:var(--md-default-bg-color--dark)}[data-md-color-scheme=dracula] .md-top:hover{background-color:var(--md-primary-fg-color)}[data-md-color-scheme=dracula] .md-tabs{color:var(--md-text-color);background-color:var(--md-primary-fg-color--transparent)}[data-md-color-scheme=dracula] .md-tabs__link--active{color:var(--md-primary-fg-color)}[data-md-color-scheme=dracula] .md-tabs__link:hover{color:var(--md-accent-fg-color)}[data-md-color-scheme=dracula] .md-hero{color:var(--md-text-color);background-color:var(--md-primary-fg-color--transparent)}[data-md-color-scheme=dracula] .md-nav__source{color:var(--md-text-color)}[data-md-color-scheme=dracula] .md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--light)}[data-md-color-scheme=dracula] .md-nav__item .md-nav__link--active{color:var(--md-primary-fg-color)}[data-md-color-scheme=dracula] .md-nav__link:focus,[data-md-color-scheme=dracula] .md-nav__link:hover{color:var(--md-accent-fg-color)}[data-md-color-scheme=dracula] .md-search__input{color:var(--md-text-color);background-color:var(--md-accent-bg-color--light)}[data-md-color-scheme=dracula] .md-search__input:hover{background-color:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] .md-search__input~.md-search__icon{color:var(--md-text-color)}[data-md-color-scheme=dracula] .md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}[data-md-color-scheme=dracula] .md-search__input::placeholder{color:var(--md-default-fg-color--light)}[data-md-color-scheme=dracula] [data-md-toggle=search]:checked~.md-header .md-search__input{background-color:rgba(0,0,0,0)}[data-md-color-scheme=dracula] .md-search__suggest{color:var(--md-default-autocomplete-fg-color)}[data-md-color-scheme=dracula] .md-search__overlay,[data-md-color-scheme=dracula] .md-overlay{background-color:var(--md-default-bg-color--light)}[data-md-color-scheme=dracula] .md-footer-nav__direction{color:var(--md-primary-fg-color)}[data-md-color-scheme=dracula] .md-footer-meta{border-top:.05rem solid var(--md-primary-fg-color)}[data-md-color-scheme=dracula] [data-md-component=announce]{background-color:var(--md-default-bg-color--ultra-dark)}.md-typeset h5{color:var(--md-text-color);text-transform:none}.md-typeset__scrollwrap,.md-sidebar__scrollwrap,.md-search__scrollwrap,.md-typeset pre>code,.md-typeset div.mermaid,.md-typeset div.diagram,.md-typeset mermaid-div,.md-typeset diagram-div,.md-typeset pre.arithmatex,.md-typeset div.arithmatex{scrollbar-color:var(--md-default-fg-color--lighter) rgba(0,0,0,0);scrollbar-width:thin}.md-typeset__scrollwrap:hover,.md-sidebar__scrollwrap:hover,.md-search__scrollwrap:hover,.md-typeset pre>code:hover,.md-typeset div.mermaid:hover,.md-typeset div.diagram:hover,.md-typeset mermaid-div:hover,.md-typeset diagram-div:hover,.md-typeset pre.arithmatex:hover,.md-typeset div.arithmatex:hover{scrollbar-color:var(--md-accent-fg-color) rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar,.md-sidebar__scrollwrap::-webkit-scrollbar,.md-search__scrollwrap::-webkit-scrollbar,.md-typeset pre>code::-webkit-scrollbar,.md-typeset div.mermaid::-webkit-scrollbar,.md-typeset div.diagram::-webkit-scrollbar,.md-typeset mermaid-div::-webkit-scrollbar,.md-typeset diagram-div::-webkit-scrollbar,.md-typeset pre.arithmatex::-webkit-scrollbar,.md-typeset div.arithmatex::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset__scrollwrap::-webkit-scrollbar-corner,.md-sidebar__scrollwrap::-webkit-scrollbar-corner,.md-search__scrollwrap::-webkit-scrollbar-corner,.md-typeset pre>code::-webkit-scrollbar-corner,.md-typeset div.mermaid::-webkit-scrollbar-corner,.md-typeset div.diagram::-webkit-scrollbar-corner,.md-typeset mermaid-div::-webkit-scrollbar-corner,.md-typeset diagram-div::-webkit-scrollbar-corner,.md-typeset pre.arithmatex::-webkit-scrollbar-corner,.md-typeset div.arithmatex::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb,.md-search__scrollwrap::-webkit-scrollbar-thumb,.md-typeset pre>code::-webkit-scrollbar-thumb,.md-typeset div.mermaid::-webkit-scrollbar-thumb,.md-typeset div.diagram::-webkit-scrollbar-thumb,.md-typeset mermaid-div::-webkit-scrollbar-thumb,.md-typeset diagram-div::-webkit-scrollbar-thumb,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb,.md-typeset div.arithmatex::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover,.md-search__scrollwrap::-webkit-scrollbar-thumb:hover,.md-typeset pre>code::-webkit-scrollbar-thumb:hover,.md-typeset div.mermaid::-webkit-scrollbar-thumb:hover,.md-typeset div.diagram::-webkit-scrollbar-thumb:hover,.md-typeset mermaid-div::-webkit-scrollbar-thumb:hover,.md-typeset diagram-div::-webkit-scrollbar-thumb:hover,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb:hover,.md-typeset div.arithmatex::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 59.9375em){.md-header-nav__scheme{padding-right:0}label[for=__search]{padding-left:0}[data-md-color-scheme=dracula] .md-nav__source{color:var(--md-text-color);background-color:var(--md-primary-fg-color--transparent)}[data-md-color-scheme=dracula] .md-nav .md-nav__title{color:var(--md-text-color);background-color:var(--md-header-bg-color);border-bottom:.05rem solid var(--md-primary-fg-color)}}@media screen and (max-width: 44.9375em){.md-typeset>diagram-div{margin-right:-0.8rem;margin-left:-0.8rem}.md-typeset>.collapse-code{margin-right:-0.8rem;margin-left:-0.8rem}.md-typeset>.collapse-code label.collapse{left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:0}.md-content__inner>.tabbed-set .tabbed-labels{max-width:100%;margin:0;padding-inline-start:0;scroll-padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels::after{padding-inline-end:0;content:none}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-inline-start:0;padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-inline-end:0;padding-inline-end:0}}@media screen and (max-width: 76.1875em){[data-md-color-scheme=dracula] .md-nav--primary .md-nav__item--active>.md-nav__link:not(:hover){color:var(--md-primary-fg-color)}[data-md-color-scheme=dracula] .md-nav--primary .md-nav__title{color:var(--md-text-color);background-color:var(--md-header-bg-color);border-bottom:.05rem solid var(--md-primary-fg-color)}}
2 | 


--------------------------------------------------------------------------------
/mkdocs_pymdownx_material_extras/theme/assets/pymdownx-extras/extra-loader-B5CKpNQx.js:
--------------------------------------------------------------------------------
1 | function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}!function(){"use strict";function t(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function e(t,e,r){return e=n(e),function(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,i()?Reflect.construct(e,[],n(t).constructor):e.apply(t,r))}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t){return n=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},n(t)}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&c(t,e)}function i(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(i=function(){return!!t})()}function a(){a=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},c=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",l=i.toStringTag||"@@toStringTag";function f(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{f({},"")}catch(t){f=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var i=e&&e.prototype instanceof g?e:g,a=Object.create(i.prototype),c=new N(n||[]);return o(a,"_invoke",{value:S(t,r,c)}),a}function h(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=s;var d="suspendedStart",p="suspendedYield",y="executing",m="completed",v={};function g(){}function b(){}function w(){}var x={};f(x,c,(function(){return this}));var E=Object.getPrototypeOf,L=E&&E(E(C([])));L&&L!==r&&n.call(L,c)&&(x=L);var O=w.prototype=g.prototype=Object.create(x);function _(t){["next","throw","return"].forEach((function(e){f(t,e,(function(t){return this._invoke(e,t)}))}))}function j(t,e){function r(o,i,a,c){var u=h(t[o],t,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==_typeof(f)&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(f).then((function(t){l.value=t,a(l)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function S(e,r,n){var o=d;return function(i,a){if(o===y)throw Error("Generator is already running");if(o===m){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=P(c,n);if(u){if(u===v)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===d)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var l=h(e,r,n);if("normal"===l.type){if(o=n.done?m:p,l.arg===v)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o=m,n.method="throw",n.arg=l.arg)}}}function P(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,P(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var i=h(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,v;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function k(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function M(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function N(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function C(e){if(e||""===e){var r=e[c];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(u&&l){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),M(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;M(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:C(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}function c(t,e){return c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},c(t,e)}function u(t){var e="function"==typeof Map?new Map:void 0;return u=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return function(t,e,r){if(i())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var o=new(t.bind.apply(t,n));return r&&c(o,r.prototype),o}(t,arguments,n(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),c(r,t)},u(t)}var l,f,s,h=function(){var n,i=(n=a().mark((function t(n){var i,c,l,f,s,h,d,p,y,m,v,g,b,w,x,E;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:i=function(t){function n(){var t;r(this,n);var o=(t=e(this,n)).attachShadow({mode:"open"}),i=document.createElement("style");return i.textContent="\n      :host {\n        display: block;\n        line-height: initial;\n        font-size: 16px;\n      }\n      div.diagram {\n        margin: 0;\n        overflow: visible;\n      }",o.appendChild(i),t}return o(n,t),i=n,Object.defineProperty(i,"prototype",{writable:!1}),i;var i}(u(HTMLElement)),void 0===customElements.get("diagram-div")&&customElements.define("diagram-div",i),c=function(t){for(var e="",r=0;r .label text {          fill: var(--drac-purple-fg);        }        .edgeLabel text {          fill: var(--drac-purple-fg) !important;        }        .edgeLabel rect {          opacity: 0.75 !important;          fill: var(--drac-purple-bg) !important;        }                .grey rect.label-container {           fill: var(--drac-purple-bg) !important;          stroke: var(--drac-purple-fg) !important;        }         /* Sequence */        line[id^='actor'] {          stroke: var(--drac-blue-fg);        }        .noteText {          fill: var(--drac-yellow-fg);        }                /* Gantt */        .sectionTitle {          fill: var(--drac-purple-fg) !important;        }                .grid .tick line {          stroke: var(--drac-blue-fg) !important;        }                .grid .tick text {          fill: var(--drac-purple-fg);        }                /* Class Diagram */        .statediagram-state rect.divider {          fill: transparent !important;        }                /* State Diagram */        .stateGroup circle[style$=\"fill: black;\"] {          fill: var(--drac-purple-bg) !important;          stroke: var(--drac-purple-bg) !important;        }                .stateGroup circle[style$=\"fill: white;\"] {          fill: var(--drac-purple-bg) !important;          stroke: var(--drac-purple-fg) !important;        }                .stateGroup .composit {          fill: var(--drac-page-bg);        }        /* Pie */        text.slice {          fill: var(--drac-white-fg) !important;        }        /* Git Graph */        .commit-bullets .commit-reverse,        .commit-bullets .commit-merge,         .commit-bullets .commit-highlight-inner {          fill: var(--drac-page-bg) !important;          stroke: var(--drac-page-bg) !important;        }        ",themeVariables:{darkMode:!0,background:"#323443",mainBkg:"#604b7d",textColor:"#bf95f9",lineColor:"#bf95f9",errorBkgColor:"#802c2c",errorTextColor:"#ff5757",primaryColor:"#604b7d",primaryTextColor:"#bf95f9",primaryBorderColor:"#bf95f9",secondaryColor:"#297d3e",secondaryTextColor:"#52fa7c",secondaryBorderColor:"#52fa7c",tertiaryColor:"#303952",tertiaryTextColor:"#6071a4",tertiaryBorderColor:"#6071a4",noteBkgColor:"#797d45",noteTextColor:"#f1fa89",noteBorderColor:"#f1fa89",edgeLabelBackground:"#604b7d",edgeLabelText:"#604b7d",actorLineColor:"#6071a4",activeTaskBkgColor:"#803d63",activeTaskBorderColor:"#ff7ac6",doneTaskBkgColor:"#297d3e",doneTaskBorderColor:"#52fa7c",critBkgColor:"#802c2c",critBorderColor:"#ff5757",taskTextColor:"#bf95f9",taskTextOutsideColor:"#bf95f9",taskTextLightColor:"#bf95f9",sectionBkgColor:"#bf95f9b3",sectionBkgColor2:"#bf95f966",altSectionBkgColor:"#323443",todayLineColor:"#ff7ac6",gridColor:"#6071a4",defaultLinkColor:"#8be8fd",altBackground:"#bf95f9",classText:"#bf95f9",fillType0:"#406080",fillType1:"#46747f",fillType2:"#297d3e",fillType3:"#805c36",fillType4:"#803d63",fillType5:"#604b7d",fillType6:"#802c2c",fillType7:"#797d45",fillType8:"#7c7c79",git0:"#ff5555",git1:"#ffb86c",git2:"#f1fa8c",git3:"#50fa7b",git4:"#8be9fd",git5:"#809fff",git6:"#ff79c6",git7:"#bd93f9",gitInv0:"#ff5555",gitInv1:"#ffb86c",gitInv2:"#f1fa8c",gitInv3:"#50fa7b",gitInv4:"#8be9fd",gitInv5:"#809fff",gitInv6:"#ff79c6",gitInv7:"#bd93f9",gitBranchLabel0:"#323443",gitBranchLabel1:"#323443",gitBranchLabel2:"#323443",gitBranchLabel3:"#323443",gitBranchLabel4:"#323443",gitBranchLabel5:"#323443",gitBranchLabel6:"#323443",gitBranchLabel7:"#323443",commitLabelColor:"#52fa7c",commitLabelBackground:"#297d3e"},flowchart:{htmlLabels:!1,useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},gantt:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}},default:{startOnLoad:!1,theme:"default",flowchart:{htmlLabels:!1,useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},gantt:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}},slate:{startOnLoad:!1,theme:"dark",flowchart:{htmlLabels:!1,useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},gantt:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}}})}();
2 | 


--------------------------------------------------------------------------------
/mkdocs_pymdownx_material_extras/theme/assets/pymdownx-extras/material-extra-theme-2ek1P7jT.js:
--------------------------------------------------------------------------------
1 | !function(){"use strict";var e;e=function(e){"true"===localStorage.getItem("data-md-prefers-color-scheme")&&document.querySelector("body").setAttribute("data-md-color-scheme",e.matches?"dracula":"default")},new MutationObserver((function(t){t.forEach((function(t){if("childList"===t.type&&t.addedNodes.length)for(var a=0;a
14 |     
15 | 16 | 17 | {% set icon = "octicons/heart-fill-16" %} 18 | {% include ".icons/" ~ icon ~ ".svg" %} 19 | 20 | 21 |
22 | 23 | {% endif %} 24 | {% endblock %} 25 | -------------------------------------------------------------------------------- /mkdocs_pymdownx_material_extras/theme/partials/footer.html: -------------------------------------------------------------------------------- 1 | 2 | {% import "partials/language.html" as lang with context %} 3 | 70 | -------------------------------------------------------------------------------- /mkdocs_pymdownx_material_extras/theme/partials/header.html: -------------------------------------------------------------------------------- 1 | 2 | {% set site_url = config.site_url | d(nav.homepage.url, true) | url %} 3 | {% if not config.use_directory_urls and site_url[0] == site_url[-1] == "." %} 4 | {% set site_url = site_url ~ "/index.html" %} 5 | {% endif %} 6 |
7 | 88 |
89 | -------------------------------------------------------------------------------- /mkdocs_pymdownx_material_extras/theme/partials/libs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = [ 3 | "hatchling>=0.21.1", 4 | ] 5 | build-backend = "hatchling.build" 6 | 7 | [project] 8 | name = "mkdocs_pymdownx_material_extras" 9 | description = "Plugin to extend MkDocs Material theme." 10 | readme = "README.md" 11 | license = "MIT" 12 | requires-python = ">=3.8" 13 | authors = [ 14 | { name = "Isaac Muse", email = "Isaac.Muse@gmail.com" }, 15 | ] 16 | keywords = [ 17 | "extensions", 18 | "markdown", 19 | ] 20 | dynamic = [ 21 | "classifiers", 22 | "version", 23 | ] 24 | 25 | dependencies = [ 26 | "mkdocs-material>=8.3.3" 27 | ] 28 | 29 | [project.urls] 30 | Homepage = "https://github.com/facelessuser/mkdocs_pymdownx_material_extras" 31 | 32 | [project.entry-points."mkdocs.plugins"] 33 | mkdocs_pymdownx_material_extras = "mkdocs_pymdownx_material_extras:PymdownxMaterialExtras" 34 | 35 | [tool.hatch.version] 36 | source = "code" 37 | path = "mkdocs_pymdownx_material_extras/__meta__.py" 38 | 39 | [tool.hatch.build.targets.sdist] 40 | include = [ 41 | "/mkdocs_pymdownx_material_extras/**/*.py", 42 | "/mkdocs_pymdownx_material_extras/**/*.html", 43 | "/mkdocs_pymdownx_material_extras/**/*.css", 44 | "/mkdocs_pymdownx_material_extras/**/*.js", 45 | "/LICENSE.md", 46 | "/README.md" 47 | ] 48 | 49 | [tool.hatch.build.targets.wheel] 50 | include = [ 51 | "/mkdocs_pymdownx_material_extras", 52 | ] 53 | 54 | [tool.hatch.metadata.hooks.custom] 55 | --------------------------------------------------------------------------------