From 3d3e161fec1cf7d36a46360538af3450ac1a4e7f Mon Sep 17 00:00:00 2001 From: JacobCoffee Date: Sun, 24 Sep 2023 20:01:32 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20python-r?= =?UTF-8?q?eddit/python@c567db63dc7ebe05393486a0b30022c5ff3ae6bd=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .nojekyll | 0 LICENSE | 21 - README.md | 2 - SECURITY.md | 36 - index.html | 13 + latest/.buildinfo | 4 + latest/.nojekyll | 0 latest/_modules/index.html | 225 +++++ latest/_modules/src/widgets/events.html | 363 +++++++ latest/_sources/api/index.rst.txt | 11 + latest/_sources/api/widgets/index.rst.txt | 6 + latest/_sources/changelog.rst.txt | 27 + latest/_sources/contribution-guide.rst.txt | 3 + latest/_sources/index.rst.txt | 26 + ...e.1e8bd061cd6da7fc9cf755528e8ffc24.min.css | 1 + latest/_sphinx_design_static/design-tabs.js | 27 + latest/_static/basic.css | 925 ++++++++++++++++++ latest/_static/check-solid.svg | 4 + latest/_static/clipboard.min.js | 7 + latest/_static/copy-button.svg | 5 + latest/_static/copybutton.css | 94 ++ latest/_static/copybutton.js | 248 +++++ latest/_static/copybutton_funcs.js | 73 ++ latest/_static/css/custom.css | 54 + ...e.1e8bd061cd6da7fc9cf755528e8ffc24.min.css | 1 + latest/_static/design-tabs.js | 27 + latest/_static/doctools.js | 156 +++ latest/_static/documentation_options.js | 13 + latest/_static/file.png | Bin 0 -> 286 bytes latest/_static/language_data.js | 199 ++++ latest/_static/logo.png | Bin 0 -> 192393 bytes latest/_static/minus.png | Bin 0 -> 90 bytes latest/_static/plus.png | Bin 0 -> 90 bytes latest/_static/print.css | 29 + latest/_static/pygments.css | 63 ++ latest/_static/searchtools.js | 574 +++++++++++ latest/_static/shibuya.css | 1 + latest/_static/shibuya.js | 1 + latest/_static/sphinx_highlight.js | 154 +++ latest/api/index.html | 248 +++++ latest/api/widgets/index.html | 347 +++++++ latest/changelog.html | 265 +++++ latest/contribution-guide.html | 311 ++++++ latest/genindex.html | 212 ++++ latest/index.html | 257 +++++ latest/objects.inv | Bin 0 -> 736 bytes latest/py-modindex.html | 167 ++++ latest/search.html | 176 ++++ latest/searchindex.js | 1 + 49 files changed, 5318 insertions(+), 59 deletions(-) create mode 100644 .nojekyll delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100644 SECURITY.md create mode 100644 index.html create mode 100644 latest/.buildinfo create mode 100644 latest/.nojekyll create mode 100644 latest/_modules/index.html create mode 100644 latest/_modules/src/widgets/events.html create mode 100644 latest/_sources/api/index.rst.txt create mode 100644 latest/_sources/api/widgets/index.rst.txt create mode 100644 latest/_sources/changelog.rst.txt create mode 100644 latest/_sources/contribution-guide.rst.txt create mode 100644 latest/_sources/index.rst.txt create mode 100644 latest/_sphinx_design_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css create mode 100644 latest/_sphinx_design_static/design-tabs.js create mode 100644 latest/_static/basic.css create mode 100644 latest/_static/check-solid.svg create mode 100644 latest/_static/clipboard.min.js create mode 100644 latest/_static/copy-button.svg create mode 100644 latest/_static/copybutton.css create mode 100644 latest/_static/copybutton.js create mode 100644 latest/_static/copybutton_funcs.js create mode 100644 latest/_static/css/custom.css create mode 100644 latest/_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css create mode 100644 latest/_static/design-tabs.js create mode 100644 latest/_static/doctools.js create mode 100644 latest/_static/documentation_options.js create mode 100644 latest/_static/file.png create mode 100644 latest/_static/language_data.js create mode 100644 latest/_static/logo.png create mode 100644 latest/_static/minus.png create mode 100644 latest/_static/plus.png create mode 100644 latest/_static/print.css create mode 100644 latest/_static/pygments.css create mode 100644 latest/_static/searchtools.js create mode 100644 latest/_static/shibuya.css create mode 100644 latest/_static/shibuya.js create mode 100644 latest/_static/sphinx_highlight.js create mode 100644 latest/api/index.html create mode 100644 latest/api/widgets/index.html create mode 100644 latest/changelog.html create mode 100644 latest/contribution-guide.html create mode 100644 latest/genindex.html create mode 100644 latest/index.html create mode 100644 latest/objects.inv create mode 100644 latest/py-modindex.html create mode 100644 latest/search.html create mode 100644 latest/searchindex.js diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/LICENSE b/LICENSE deleted file mode 100644 index c5cfbd1..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2023 Python Reddit - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index e44253f..0000000 --- a/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# python -Repository for r/Python diff --git a/SECURITY.md b/SECURITY.md deleted file mode 100644 index 26dde0d..0000000 --- a/SECURITY.md +++ /dev/null @@ -1,36 +0,0 @@ -# Security Policy - -Thanks for helping make Python-reddit related repos safe for everyone. - -## Security - -[@python-reddit][org] takes the security of our projects and services seriously, including all of the repositories managed by the [@python-reddit organization][org]. - -We will ensure that your finding gets escalated to the appropriate maintainer(s) for remediation. - -## Reporting Security Issues - -**Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.** - -[Click to Open a Security Advisory Privately](https://github.com/python-reddit/python/security/advisories/new) - -If you believe you have found a security vulnerability in any [@python-reddit][org]-managed repository, please report it to us through coordinated disclosure: - -- In the affected repository, browse to the **Security** tab, select **Advisories**, select "Report a vulnerability" - - ![image](https://user-images.githubusercontent.com/45884264/217041010-8fd6b96b-329d-4d8e-8838-9b5bf4e1a78d.png) -- Please do **NOT** create an issue in the affected repository -- Please do **NOT** send a private message to moderators on the subreddit. - -Please include as much of the information listed below as you can to help us better understand and resolve the issue: - -- The type of issue (e.g., buffer overflow, SQL injection, or cross-site scripting) -- Full paths of source file(s) related to the manifestation of the issue -- The location of the affected source code (tag/branch/commit or direct URL) -- Any special configuration required to reproduce the issue -- Step-by-step instructions to reproduce the issue -- Proof-of-concept or exploit code (if possible) -- Impact of the issue, including how an attacker might exploit the issue - -This information will help us triage your report more quickly. - -[org]: https://github.com/python-reddit diff --git a/index.html b/index.html new file mode 100644 index 0000000..77c0d15 --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + Page Redirection + + + + + + You are being redirected. If this does not work, click this link + + diff --git a/latest/.buildinfo b/latest/.buildinfo new file mode 100644 index 0000000..89f66b5 --- /dev/null +++ b/latest/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 30b6e40394f7e4183d0260f60ef2738f +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/latest/.nojekyll b/latest/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/latest/_modules/index.html b/latest/_modules/index.html new file mode 100644 index 0000000..bcb1f12 --- /dev/null +++ b/latest/_modules/index.html @@ -0,0 +1,225 @@ + + + + + + Overview: module code - Docs + + + + + + + + + + + + + + +
+
+

This documentation is currently under development.

+ +
+
+
+
+ + + + python-reddit + + +
+ + +
+
+
+
+ + + + +
+ +
+
+ + + + +
+
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/latest/_modules/src/widgets/events.html b/latest/_modules/src/widgets/events.html new file mode 100644 index 0000000..166fa8c --- /dev/null +++ b/latest/_modules/src/widgets/events.html @@ -0,0 +1,363 @@ + + + + + + src.widgets.events - Docs + + + + + + + + + + + + + + +
+
+

This documentation is currently under development.

+ +
+
+
+
+ + + + python-reddit + + +
+ + +
+
+
+
+ + + + +
+ +
+
+
+

Source code for src.widgets.events

+"""Get the current Python events from an ics file and format them into a markdown string."""
+from __future__ import annotations
+
+from re import search
+from typing import Any
+
+import anyio
+import arrow
+from httpx import AsyncClient, codes
+from icalendar import Calendar
+
+__all__ = ("FetchFailedError", "fetch_ics", "format_event", "main", "parse_ics_to_md", "write_to_md_file")
+
+
+
+[docs] +class FetchFailedError(Exception): + """Raised when the fetch fails for any reason."""
+ +
+ +
+[docs] +async def fetch_ics(url: str) -> Any: # noqa: ANN401 + """Fetches the ics file from the given url and returns the text content. + + Args: + url (str): The url to fetch the ics file from + + Raises: + FetchFailedException: If the fetch fails for any reason + + Returns: + str: The text content of the ics file + """ + async with AsyncClient(follow_redirects=True) as client: + resp = await client.get(url) + if resp.status_code != codes.OK: + msg = f"Status code: {resp.status_code}" + raise FetchFailedError(msg) + return resp.text
+ +
+ +
+[docs] +def format_event(event_time_start: arrow.Arrow, event_time_end: arrow.Arrow | None, summary: str, link: str) -> str: + """Formats the event into a markdown string. + + Args: + event_time_start (arrow.Arrow): The start time of the event + event_time_end (arrow.Arrow): The end time of the event + summary (str): The summary of the event + link (str): The link to the event + + Returns: + str: The markdown string + """ + start_date_str = event_time_start.format("D MMM") + end_date_str = event_time_end.format("D MMM") if event_time_end else "" + date_range = f"{start_date_str} - {end_date_str}" if end_date_str else start_date_str + return f"* [{summary}]({link}) {date_range}\n"
+ +
+ +
+[docs] +def parse_ics_to_md(ics_str: str) -> str: + """Parses the ics string into a markdown string. + + Args: + ics_str (str): The ics string to parse + + Returns: + str: The markdown string + """ + cal = Calendar.from_ical(ics_str) + now = arrow.now() + next_month = now.shift(months=1) + + current_events = [] + future_events = [] + + for component in cal.walk(): + if component.name == "VEVENT": + event_time_start = arrow.get(component.get("dtstart").dt) + event_time_end = arrow.get(component.get("dtend").dt) if component.get("dtend") else None + description = component.get("description") + summary = component.get("summary") + + search_result = search(r'(?P<url>https?://[^\s">]+)', description) if description else None + link = search_result.group("url") if search_result else "" + + event_md = format_event(event_time_start, event_time_end, summary, link) + + if now <= event_time_start < next_month: + future_events.append(event_md) + elif now >= event_time_start and (event_time_end is None or now <= event_time_end): + current_events.append(event_md) + + full_calendar_link = "[Full Events Calendar](https://www.python.org/events/python-events)\n\n" + current_events_str = "".join(current_events) + future_events_str = "".join(future_events) + + return f"{full_calendar_link}### Current Events\n{current_events_str}\n### Future Events\n{future_events_str}"
+ +
+ +
+[docs] +async def write_to_md_file(content: str, file_path: str) -> None: + """Writes the content to the given file path. + + Args: + content (str): The content to write + file_path (str): The file path to write to + """ + async with await anyio.open_file(file_path, "w") as f: + await f.write(content)
+ +
+ +
+[docs] +async def main() -> None: + """Make events go brr.""" + ics_url = ( + "https://www.google.com/calendar/ical/j7gov1cmnqr9tvg14k621j7t5c@group.calendar.google.com/public/basic.ics" + ) + ics_str = await fetch_ics(ics_url) + events_md = parse_ics_to_md(ics_str) + await write_to_md_file(events_md, "events.md")
+ +
+ +if __name__ == "__main__": + anyio.run(main) +
+
+ + + +
+
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/latest/_sources/api/index.rst.txt b/latest/_sources/api/index.rst.txt new file mode 100644 index 0000000..f1224c4 --- /dev/null +++ b/latest/_sources/api/index.rst.txt @@ -0,0 +1,11 @@ +============= +API Reference +============= + +.. toctree:: + :titlesonly: + :caption: API Reference Documentation + :glob: + :hidden: + + widgets/index diff --git a/latest/_sources/api/widgets/index.rst.txt b/latest/_sources/api/widgets/index.rst.txt new file mode 100644 index 0000000..15a72e5 --- /dev/null +++ b/latest/_sources/api/widgets/index.rst.txt @@ -0,0 +1,6 @@ +======= +widgets +======= + +.. automodule:: src.widgets.events + :members: diff --git a/latest/_sources/changelog.rst.txt b/latest/_sources/changelog.rst.txt new file mode 100644 index 0000000..3d7ddb2 --- /dev/null +++ b/latest/_sources/changelog.rst.txt @@ -0,0 +1,27 @@ +========= +Changelog +========= + +All commits to this project will be documented in this file. + +[unreleased] +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Features +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +* (`a41efae `_) - Add events script (#4) (Jacob Coffee) +* (`8534ec6 `_) - Add docs (#5) (Jacob Coffee) + +Miscellaneous Tasks +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +* (`a80f4b1 `_) - Add ci badges (Jacob Coffee) +* (`696e05f `_) - Apply pre-commit (Jacob Coffee) + +Ci +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +* (`8f0fa9a `_) - Remove unused actions (Jacob Coffee) + +Python Reddit Changelog diff --git a/latest/_sources/contribution-guide.rst.txt b/latest/_sources/contribution-guide.rst.txt new file mode 100644 index 0000000..bbd440e --- /dev/null +++ b/latest/_sources/contribution-guide.rst.txt @@ -0,0 +1,3 @@ +:orphan: + +.. include:: ../CONTRIBUTING.rst diff --git a/latest/_sources/index.rst.txt b/latest/_sources/index.rst.txt new file mode 100644 index 0000000..19ab1f5 --- /dev/null +++ b/latest/_sources/index.rst.txt @@ -0,0 +1,26 @@ +============= +Python Reddit +============= + +Overview +-------- + +This project helps manage the Python subreddit. + + +Usage +----- + +.. toctree:: + :titlesonly: + :caption: Docs + :hidden: + + api/index + +.. toctree:: + :titlesonly: + :caption: Development + :hidden: + + contribution-guide diff --git a/latest/_sphinx_design_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css b/latest/_sphinx_design_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css new file mode 100644 index 0000000..eb19f69 --- /dev/null +++ b/latest/_sphinx_design_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css @@ -0,0 +1 @@ +.sd-bg-primary{background-color:var(--sd-color-primary) !important}.sd-bg-text-primary{color:var(--sd-color-primary-text) !important}button.sd-bg-primary:focus,button.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}a.sd-bg-primary:focus,a.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}.sd-bg-secondary{background-color:var(--sd-color-secondary) !important}.sd-bg-text-secondary{color:var(--sd-color-secondary-text) !important}button.sd-bg-secondary:focus,button.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}a.sd-bg-secondary:focus,a.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}.sd-bg-success{background-color:var(--sd-color-success) !important}.sd-bg-text-success{color:var(--sd-color-success-text) !important}button.sd-bg-success:focus,button.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}a.sd-bg-success:focus,a.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}.sd-bg-info{background-color:var(--sd-color-info) !important}.sd-bg-text-info{color:var(--sd-color-info-text) !important}button.sd-bg-info:focus,button.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}a.sd-bg-info:focus,a.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}.sd-bg-warning{background-color:var(--sd-color-warning) !important}.sd-bg-text-warning{color:var(--sd-color-warning-text) !important}button.sd-bg-warning:focus,button.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}a.sd-bg-warning:focus,a.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}.sd-bg-danger{background-color:var(--sd-color-danger) !important}.sd-bg-text-danger{color:var(--sd-color-danger-text) !important}button.sd-bg-danger:focus,button.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}a.sd-bg-danger:focus,a.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}.sd-bg-light{background-color:var(--sd-color-light) !important}.sd-bg-text-light{color:var(--sd-color-light-text) !important}button.sd-bg-light:focus,button.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}a.sd-bg-light:focus,a.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}.sd-bg-muted{background-color:var(--sd-color-muted) !important}.sd-bg-text-muted{color:var(--sd-color-muted-text) !important}button.sd-bg-muted:focus,button.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}a.sd-bg-muted:focus,a.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}.sd-bg-dark{background-color:var(--sd-color-dark) !important}.sd-bg-text-dark{color:var(--sd-color-dark-text) !important}button.sd-bg-dark:focus,button.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}a.sd-bg-dark:focus,a.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}.sd-bg-black{background-color:var(--sd-color-black) !important}.sd-bg-text-black{color:var(--sd-color-black-text) !important}button.sd-bg-black:focus,button.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}a.sd-bg-black:focus,a.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}.sd-bg-white{background-color:var(--sd-color-white) !important}.sd-bg-text-white{color:var(--sd-color-white-text) !important}button.sd-bg-white:focus,button.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}a.sd-bg-white:focus,a.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}.sd-text-primary,.sd-text-primary>p{color:var(--sd-color-primary) !important}a.sd-text-primary:focus,a.sd-text-primary:hover{color:var(--sd-color-primary-highlight) !important}.sd-text-secondary,.sd-text-secondary>p{color:var(--sd-color-secondary) !important}a.sd-text-secondary:focus,a.sd-text-secondary:hover{color:var(--sd-color-secondary-highlight) !important}.sd-text-success,.sd-text-success>p{color:var(--sd-color-success) !important}a.sd-text-success:focus,a.sd-text-success:hover{color:var(--sd-color-success-highlight) !important}.sd-text-info,.sd-text-info>p{color:var(--sd-color-info) !important}a.sd-text-info:focus,a.sd-text-info:hover{color:var(--sd-color-info-highlight) !important}.sd-text-warning,.sd-text-warning>p{color:var(--sd-color-warning) !important}a.sd-text-warning:focus,a.sd-text-warning:hover{color:var(--sd-color-warning-highlight) !important}.sd-text-danger,.sd-text-danger>p{color:var(--sd-color-danger) !important}a.sd-text-danger:focus,a.sd-text-danger:hover{color:var(--sd-color-danger-highlight) !important}.sd-text-light,.sd-text-light>p{color:var(--sd-color-light) !important}a.sd-text-light:focus,a.sd-text-light:hover{color:var(--sd-color-light-highlight) !important}.sd-text-muted,.sd-text-muted>p{color:var(--sd-color-muted) !important}a.sd-text-muted:focus,a.sd-text-muted:hover{color:var(--sd-color-muted-highlight) !important}.sd-text-dark,.sd-text-dark>p{color:var(--sd-color-dark) !important}a.sd-text-dark:focus,a.sd-text-dark:hover{color:var(--sd-color-dark-highlight) !important}.sd-text-black,.sd-text-black>p{color:var(--sd-color-black) !important}a.sd-text-black:focus,a.sd-text-black:hover{color:var(--sd-color-black-highlight) !important}.sd-text-white,.sd-text-white>p{color:var(--sd-color-white) !important}a.sd-text-white:focus,a.sd-text-white:hover{color:var(--sd-color-white-highlight) !important}.sd-outline-primary{border-color:var(--sd-color-primary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-primary:focus,a.sd-outline-primary:hover{border-color:var(--sd-color-primary-highlight) !important}.sd-outline-secondary{border-color:var(--sd-color-secondary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-secondary:focus,a.sd-outline-secondary:hover{border-color:var(--sd-color-secondary-highlight) !important}.sd-outline-success{border-color:var(--sd-color-success) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-success:focus,a.sd-outline-success:hover{border-color:var(--sd-color-success-highlight) !important}.sd-outline-info{border-color:var(--sd-color-info) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-info:focus,a.sd-outline-info:hover{border-color:var(--sd-color-info-highlight) !important}.sd-outline-warning{border-color:var(--sd-color-warning) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-warning:focus,a.sd-outline-warning:hover{border-color:var(--sd-color-warning-highlight) !important}.sd-outline-danger{border-color:var(--sd-color-danger) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-danger:focus,a.sd-outline-danger:hover{border-color:var(--sd-color-danger-highlight) !important}.sd-outline-light{border-color:var(--sd-color-light) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-light:focus,a.sd-outline-light:hover{border-color:var(--sd-color-light-highlight) !important}.sd-outline-muted{border-color:var(--sd-color-muted) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-muted:focus,a.sd-outline-muted:hover{border-color:var(--sd-color-muted-highlight) !important}.sd-outline-dark{border-color:var(--sd-color-dark) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-dark:focus,a.sd-outline-dark:hover{border-color:var(--sd-color-dark-highlight) !important}.sd-outline-black{border-color:var(--sd-color-black) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-black:focus,a.sd-outline-black:hover{border-color:var(--sd-color-black-highlight) !important}.sd-outline-white{border-color:var(--sd-color-white) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-white:focus,a.sd-outline-white:hover{border-color:var(--sd-color-white-highlight) !important}.sd-bg-transparent{background-color:transparent !important}.sd-outline-transparent{border-color:transparent !important}.sd-text-transparent{color:transparent !important}.sd-p-0{padding:0 !important}.sd-pt-0,.sd-py-0{padding-top:0 !important}.sd-pr-0,.sd-px-0{padding-right:0 !important}.sd-pb-0,.sd-py-0{padding-bottom:0 !important}.sd-pl-0,.sd-px-0{padding-left:0 !important}.sd-p-1{padding:.25rem !important}.sd-pt-1,.sd-py-1{padding-top:.25rem !important}.sd-pr-1,.sd-px-1{padding-right:.25rem !important}.sd-pb-1,.sd-py-1{padding-bottom:.25rem !important}.sd-pl-1,.sd-px-1{padding-left:.25rem !important}.sd-p-2{padding:.5rem !important}.sd-pt-2,.sd-py-2{padding-top:.5rem !important}.sd-pr-2,.sd-px-2{padding-right:.5rem !important}.sd-pb-2,.sd-py-2{padding-bottom:.5rem !important}.sd-pl-2,.sd-px-2{padding-left:.5rem !important}.sd-p-3{padding:1rem !important}.sd-pt-3,.sd-py-3{padding-top:1rem !important}.sd-pr-3,.sd-px-3{padding-right:1rem !important}.sd-pb-3,.sd-py-3{padding-bottom:1rem !important}.sd-pl-3,.sd-px-3{padding-left:1rem !important}.sd-p-4{padding:1.5rem !important}.sd-pt-4,.sd-py-4{padding-top:1.5rem !important}.sd-pr-4,.sd-px-4{padding-right:1.5rem !important}.sd-pb-4,.sd-py-4{padding-bottom:1.5rem !important}.sd-pl-4,.sd-px-4{padding-left:1.5rem !important}.sd-p-5{padding:3rem !important}.sd-pt-5,.sd-py-5{padding-top:3rem !important}.sd-pr-5,.sd-px-5{padding-right:3rem !important}.sd-pb-5,.sd-py-5{padding-bottom:3rem !important}.sd-pl-5,.sd-px-5{padding-left:3rem !important}.sd-m-auto{margin:auto !important}.sd-mt-auto,.sd-my-auto{margin-top:auto !important}.sd-mr-auto,.sd-mx-auto{margin-right:auto !important}.sd-mb-auto,.sd-my-auto{margin-bottom:auto !important}.sd-ml-auto,.sd-mx-auto{margin-left:auto !important}.sd-m-0{margin:0 !important}.sd-mt-0,.sd-my-0{margin-top:0 !important}.sd-mr-0,.sd-mx-0{margin-right:0 !important}.sd-mb-0,.sd-my-0{margin-bottom:0 !important}.sd-ml-0,.sd-mx-0{margin-left:0 !important}.sd-m-1{margin:.25rem !important}.sd-mt-1,.sd-my-1{margin-top:.25rem !important}.sd-mr-1,.sd-mx-1{margin-right:.25rem !important}.sd-mb-1,.sd-my-1{margin-bottom:.25rem !important}.sd-ml-1,.sd-mx-1{margin-left:.25rem !important}.sd-m-2{margin:.5rem !important}.sd-mt-2,.sd-my-2{margin-top:.5rem !important}.sd-mr-2,.sd-mx-2{margin-right:.5rem !important}.sd-mb-2,.sd-my-2{margin-bottom:.5rem !important}.sd-ml-2,.sd-mx-2{margin-left:.5rem !important}.sd-m-3{margin:1rem !important}.sd-mt-3,.sd-my-3{margin-top:1rem !important}.sd-mr-3,.sd-mx-3{margin-right:1rem !important}.sd-mb-3,.sd-my-3{margin-bottom:1rem !important}.sd-ml-3,.sd-mx-3{margin-left:1rem !important}.sd-m-4{margin:1.5rem !important}.sd-mt-4,.sd-my-4{margin-top:1.5rem !important}.sd-mr-4,.sd-mx-4{margin-right:1.5rem !important}.sd-mb-4,.sd-my-4{margin-bottom:1.5rem !important}.sd-ml-4,.sd-mx-4{margin-left:1.5rem !important}.sd-m-5{margin:3rem !important}.sd-mt-5,.sd-my-5{margin-top:3rem !important}.sd-mr-5,.sd-mx-5{margin-right:3rem !important}.sd-mb-5,.sd-my-5{margin-bottom:3rem !important}.sd-ml-5,.sd-mx-5{margin-left:3rem !important}.sd-w-25{width:25% !important}.sd-w-50{width:50% !important}.sd-w-75{width:75% !important}.sd-w-100{width:100% !important}.sd-w-auto{width:auto !important}.sd-h-25{height:25% !important}.sd-h-50{height:50% !important}.sd-h-75{height:75% !important}.sd-h-100{height:100% !important}.sd-h-auto{height:auto !important}.sd-d-none{display:none !important}.sd-d-inline{display:inline !important}.sd-d-inline-block{display:inline-block !important}.sd-d-block{display:block !important}.sd-d-grid{display:grid !important}.sd-d-flex-row{display:-ms-flexbox !important;display:flex !important;flex-direction:row !important}.sd-d-flex-column{display:-ms-flexbox !important;display:flex !important;flex-direction:column !important}.sd-d-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}@media(min-width: 576px){.sd-d-sm-none{display:none !important}.sd-d-sm-inline{display:inline !important}.sd-d-sm-inline-block{display:inline-block !important}.sd-d-sm-block{display:block !important}.sd-d-sm-grid{display:grid !important}.sd-d-sm-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-sm-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 768px){.sd-d-md-none{display:none !important}.sd-d-md-inline{display:inline !important}.sd-d-md-inline-block{display:inline-block !important}.sd-d-md-block{display:block !important}.sd-d-md-grid{display:grid !important}.sd-d-md-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-md-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 992px){.sd-d-lg-none{display:none !important}.sd-d-lg-inline{display:inline !important}.sd-d-lg-inline-block{display:inline-block !important}.sd-d-lg-block{display:block !important}.sd-d-lg-grid{display:grid !important}.sd-d-lg-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-lg-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 1200px){.sd-d-xl-none{display:none !important}.sd-d-xl-inline{display:inline !important}.sd-d-xl-inline-block{display:inline-block !important}.sd-d-xl-block{display:block !important}.sd-d-xl-grid{display:grid !important}.sd-d-xl-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-xl-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}.sd-align-major-start{justify-content:flex-start !important}.sd-align-major-end{justify-content:flex-end !important}.sd-align-major-center{justify-content:center !important}.sd-align-major-justify{justify-content:space-between !important}.sd-align-major-spaced{justify-content:space-evenly !important}.sd-align-minor-start{align-items:flex-start !important}.sd-align-minor-end{align-items:flex-end !important}.sd-align-minor-center{align-items:center !important}.sd-align-minor-stretch{align-items:stretch !important}.sd-text-justify{text-align:justify !important}.sd-text-left{text-align:left !important}.sd-text-right{text-align:right !important}.sd-text-center{text-align:center !important}.sd-font-weight-light{font-weight:300 !important}.sd-font-weight-lighter{font-weight:lighter !important}.sd-font-weight-normal{font-weight:400 !important}.sd-font-weight-bold{font-weight:700 !important}.sd-font-weight-bolder{font-weight:bolder !important}.sd-font-italic{font-style:italic !important}.sd-text-decoration-none{text-decoration:none !important}.sd-text-lowercase{text-transform:lowercase !important}.sd-text-uppercase{text-transform:uppercase !important}.sd-text-capitalize{text-transform:capitalize !important}.sd-text-wrap{white-space:normal !important}.sd-text-nowrap{white-space:nowrap !important}.sd-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-fs-1,.sd-fs-1>p{font-size:calc(1.375rem + 1.5vw) !important;line-height:unset !important}.sd-fs-2,.sd-fs-2>p{font-size:calc(1.325rem + 0.9vw) !important;line-height:unset !important}.sd-fs-3,.sd-fs-3>p{font-size:calc(1.3rem + 0.6vw) !important;line-height:unset !important}.sd-fs-4,.sd-fs-4>p{font-size:calc(1.275rem + 0.3vw) !important;line-height:unset !important}.sd-fs-5,.sd-fs-5>p{font-size:1.25rem !important;line-height:unset !important}.sd-fs-6,.sd-fs-6>p{font-size:1rem !important;line-height:unset !important}.sd-border-0{border:0 solid !important}.sd-border-top-0{border-top:0 solid !important}.sd-border-bottom-0{border-bottom:0 solid !important}.sd-border-right-0{border-right:0 solid !important}.sd-border-left-0{border-left:0 solid !important}.sd-border-1{border:1px solid !important}.sd-border-top-1{border-top:1px solid !important}.sd-border-bottom-1{border-bottom:1px solid !important}.sd-border-right-1{border-right:1px solid !important}.sd-border-left-1{border-left:1px solid !important}.sd-border-2{border:2px solid !important}.sd-border-top-2{border-top:2px solid !important}.sd-border-bottom-2{border-bottom:2px solid !important}.sd-border-right-2{border-right:2px solid !important}.sd-border-left-2{border-left:2px solid !important}.sd-border-3{border:3px solid !important}.sd-border-top-3{border-top:3px solid !important}.sd-border-bottom-3{border-bottom:3px solid !important}.sd-border-right-3{border-right:3px solid !important}.sd-border-left-3{border-left:3px solid !important}.sd-border-4{border:4px solid !important}.sd-border-top-4{border-top:4px solid !important}.sd-border-bottom-4{border-bottom:4px solid !important}.sd-border-right-4{border-right:4px solid !important}.sd-border-left-4{border-left:4px solid !important}.sd-border-5{border:5px solid !important}.sd-border-top-5{border-top:5px solid !important}.sd-border-bottom-5{border-bottom:5px solid !important}.sd-border-right-5{border-right:5px solid !important}.sd-border-left-5{border-left:5px solid !important}.sd-rounded-0{border-radius:0 !important}.sd-rounded-1{border-radius:.2rem !important}.sd-rounded-2{border-radius:.3rem !important}.sd-rounded-3{border-radius:.5rem !important}.sd-rounded-pill{border-radius:50rem !important}.sd-rounded-circle{border-radius:50% !important}.shadow-none{box-shadow:none !important}.sd-shadow-sm{box-shadow:0 .125rem .25rem var(--sd-color-shadow) !important}.sd-shadow-md{box-shadow:0 .5rem 1rem var(--sd-color-shadow) !important}.sd-shadow-lg{box-shadow:0 1rem 3rem var(--sd-color-shadow) !important}@keyframes sd-slide-from-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@keyframes sd-slide-from-right{0%{transform:translateX(200%)}100%{transform:translateX(0)}}@keyframes sd-grow100{0%{transform:scale(0);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50{0%{transform:scale(0.5);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50-rot20{0%{transform:scale(0.5) rotateZ(-20deg);opacity:.5}75%{transform:scale(1) rotateZ(5deg);opacity:1}95%{transform:scale(1) rotateZ(-1deg);opacity:1}100%{transform:scale(1) rotateZ(0);opacity:1}}.sd-animate-slide-from-left{animation:1s ease-out 0s 1 normal none running sd-slide-from-left}.sd-animate-slide-from-right{animation:1s ease-out 0s 1 normal none running sd-slide-from-right}.sd-animate-grow100{animation:1s ease-out 0s 1 normal none running sd-grow100}.sd-animate-grow50{animation:1s ease-out 0s 1 normal none running sd-grow50}.sd-animate-grow50-rot20{animation:1s ease-out 0s 1 normal none running sd-grow50-rot20}.sd-badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.sd-badge:empty{display:none}a.sd-badge{text-decoration:none}.sd-btn .sd-badge{position:relative;top:-1px}.sd-btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;cursor:pointer;display:inline-block;font-weight:400;font-size:1rem;line-height:1.5;padding:.375rem .75rem;text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:middle;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none}.sd-btn:hover{text-decoration:none}@media(prefers-reduced-motion: reduce){.sd-btn{transition:none}}.sd-btn-primary,.sd-btn-outline-primary:hover,.sd-btn-outline-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-primary:hover,.sd-btn-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary-highlight) !important;border-color:var(--sd-color-primary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-primary{color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary,.sd-btn-outline-secondary:hover,.sd-btn-outline-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary:hover,.sd-btn-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary-highlight) !important;border-color:var(--sd-color-secondary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-secondary{color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success,.sd-btn-outline-success:hover,.sd-btn-outline-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success:hover,.sd-btn-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success-highlight) !important;border-color:var(--sd-color-success-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-success{color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info,.sd-btn-outline-info:hover,.sd-btn-outline-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info:hover,.sd-btn-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info-highlight) !important;border-color:var(--sd-color-info-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-info{color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning,.sd-btn-outline-warning:hover,.sd-btn-outline-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning:hover,.sd-btn-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning-highlight) !important;border-color:var(--sd-color-warning-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-warning{color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger,.sd-btn-outline-danger:hover,.sd-btn-outline-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger:hover,.sd-btn-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger-highlight) !important;border-color:var(--sd-color-danger-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-danger{color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light,.sd-btn-outline-light:hover,.sd-btn-outline-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light:hover,.sd-btn-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light-highlight) !important;border-color:var(--sd-color-light-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-light{color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted,.sd-btn-outline-muted:hover,.sd-btn-outline-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted:hover,.sd-btn-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted-highlight) !important;border-color:var(--sd-color-muted-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-muted{color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark,.sd-btn-outline-dark:hover,.sd-btn-outline-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark:hover,.sd-btn-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark-highlight) !important;border-color:var(--sd-color-dark-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-dark{color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black,.sd-btn-outline-black:hover,.sd-btn-outline-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black:hover,.sd-btn-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black-highlight) !important;border-color:var(--sd-color-black-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-black{color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white,.sd-btn-outline-white:hover,.sd-btn-outline-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white:hover,.sd-btn-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white-highlight) !important;border-color:var(--sd-color-white-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-white{color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.sd-hide-link-text{font-size:0}.sd-octicon,.sd-material-icon{display:inline-block;fill:currentColor;vertical-align:middle}.sd-avatar-xs{border-radius:50%;object-fit:cover;object-position:center;width:1rem;height:1rem}.sd-avatar-sm{border-radius:50%;object-fit:cover;object-position:center;width:3rem;height:3rem}.sd-avatar-md{border-radius:50%;object-fit:cover;object-position:center;width:5rem;height:5rem}.sd-avatar-lg{border-radius:50%;object-fit:cover;object-position:center;width:7rem;height:7rem}.sd-avatar-xl{border-radius:50%;object-fit:cover;object-position:center;width:10rem;height:10rem}.sd-avatar-inherit{border-radius:50%;object-fit:cover;object-position:center;width:inherit;height:inherit}.sd-avatar-initial{border-radius:50%;object-fit:cover;object-position:center;width:initial;height:initial}.sd-card{background-clip:border-box;background-color:var(--sd-color-card-background);border:1px solid var(--sd-color-card-border);border-radius:.25rem;color:var(--sd-color-card-text);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;position:relative;word-wrap:break-word}.sd-card>hr{margin-left:0;margin-right:0}.sd-card-hover:hover{border-color:var(--sd-color-card-border-hover);transform:scale(1.01)}.sd-card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem 1rem}.sd-card-title{margin-bottom:.5rem}.sd-card-subtitle{margin-top:-0.25rem;margin-bottom:0}.sd-card-text:last-child{margin-bottom:0}.sd-card-link:hover{text-decoration:none}.sd-card-link+.card-link{margin-left:1rem}.sd-card-header{padding:.5rem 1rem;margin-bottom:0;background-color:var(--sd-color-card-header);border-bottom:1px solid var(--sd-color-card-border)}.sd-card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.sd-card-footer{padding:.5rem 1rem;background-color:var(--sd-color-card-footer);border-top:1px solid var(--sd-color-card-border)}.sd-card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.sd-card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.sd-card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.sd-card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom,.sd-card-img-top{width:100%}.sd-card-img,.sd-card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom{border-bottom-left-radius:calc(0.25rem - 1px);border-bottom-right-radius:calc(0.25rem - 1px)}.sd-cards-carousel{width:100%;display:flex;flex-wrap:nowrap;-ms-flex-direction:row;flex-direction:row;overflow-x:hidden;scroll-snap-type:x mandatory}.sd-cards-carousel.sd-show-scrollbar{overflow-x:auto}.sd-cards-carousel:hover,.sd-cards-carousel:focus{overflow-x:auto}.sd-cards-carousel>.sd-card{flex-shrink:0;scroll-snap-align:start}.sd-cards-carousel>.sd-card:not(:last-child){margin-right:3px}.sd-card-cols-1>.sd-card{width:90%}.sd-card-cols-2>.sd-card{width:45%}.sd-card-cols-3>.sd-card{width:30%}.sd-card-cols-4>.sd-card{width:22.5%}.sd-card-cols-5>.sd-card{width:18%}.sd-card-cols-6>.sd-card{width:15%}.sd-card-cols-7>.sd-card{width:12.8571428571%}.sd-card-cols-8>.sd-card{width:11.25%}.sd-card-cols-9>.sd-card{width:10%}.sd-card-cols-10>.sd-card{width:9%}.sd-card-cols-11>.sd-card{width:8.1818181818%}.sd-card-cols-12>.sd-card{width:7.5%}.sd-container,.sd-container-fluid,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container-xl{margin-left:auto;margin-right:auto;padding-left:var(--sd-gutter-x, 0.75rem);padding-right:var(--sd-gutter-x, 0.75rem);width:100%}@media(min-width: 576px){.sd-container-sm,.sd-container{max-width:540px}}@media(min-width: 768px){.sd-container-md,.sd-container-sm,.sd-container{max-width:720px}}@media(min-width: 992px){.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:960px}}@media(min-width: 1200px){.sd-container-xl,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:1140px}}.sd-row{--sd-gutter-x: 1.5rem;--sd-gutter-y: 0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(var(--sd-gutter-y) * -1);margin-right:calc(var(--sd-gutter-x) * -0.5);margin-left:calc(var(--sd-gutter-x) * -0.5)}.sd-row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--sd-gutter-x) * 0.5);padding-left:calc(var(--sd-gutter-x) * 0.5);margin-top:var(--sd-gutter-y)}.sd-col{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-auto>*{flex:0 0 auto;width:auto}.sd-row-cols-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}@media(min-width: 576px){.sd-col-sm{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-sm-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-sm-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-sm-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-sm-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-sm-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-sm-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-sm-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-sm-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-sm-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-sm-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-sm-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-sm-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-sm-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 768px){.sd-col-md{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-md-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-md-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-md-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-md-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-md-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-md-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-md-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-md-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-md-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-md-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-md-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-md-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-md-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 992px){.sd-col-lg{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-lg-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-lg-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-lg-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-lg-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-lg-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-lg-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-lg-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-lg-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-lg-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-lg-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-lg-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-lg-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-lg-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 1200px){.sd-col-xl{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-xl-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-xl-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-xl-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-xl-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-xl-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-xl-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-xl-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-xl-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-xl-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-xl-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-xl-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-xl-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-xl-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}.sd-col-auto{flex:0 0 auto;-ms-flex:0 0 auto;width:auto}.sd-col-1{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}.sd-col-2{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-col-3{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-col-4{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-col-5{flex:0 0 auto;-ms-flex:0 0 auto;width:41.6666666667%}.sd-col-6{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-col-7{flex:0 0 auto;-ms-flex:0 0 auto;width:58.3333333333%}.sd-col-8{flex:0 0 auto;-ms-flex:0 0 auto;width:66.6666666667%}.sd-col-9{flex:0 0 auto;-ms-flex:0 0 auto;width:75%}.sd-col-10{flex:0 0 auto;-ms-flex:0 0 auto;width:83.3333333333%}.sd-col-11{flex:0 0 auto;-ms-flex:0 0 auto;width:91.6666666667%}.sd-col-12{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-g-0,.sd-gy-0{--sd-gutter-y: 0}.sd-g-0,.sd-gx-0{--sd-gutter-x: 0}.sd-g-1,.sd-gy-1{--sd-gutter-y: 0.25rem}.sd-g-1,.sd-gx-1{--sd-gutter-x: 0.25rem}.sd-g-2,.sd-gy-2{--sd-gutter-y: 0.5rem}.sd-g-2,.sd-gx-2{--sd-gutter-x: 0.5rem}.sd-g-3,.sd-gy-3{--sd-gutter-y: 1rem}.sd-g-3,.sd-gx-3{--sd-gutter-x: 1rem}.sd-g-4,.sd-gy-4{--sd-gutter-y: 1.5rem}.sd-g-4,.sd-gx-4{--sd-gutter-x: 1.5rem}.sd-g-5,.sd-gy-5{--sd-gutter-y: 3rem}.sd-g-5,.sd-gx-5{--sd-gutter-x: 3rem}@media(min-width: 576px){.sd-col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-sm-0,.sd-gy-sm-0{--sd-gutter-y: 0}.sd-g-sm-0,.sd-gx-sm-0{--sd-gutter-x: 0}.sd-g-sm-1,.sd-gy-sm-1{--sd-gutter-y: 0.25rem}.sd-g-sm-1,.sd-gx-sm-1{--sd-gutter-x: 0.25rem}.sd-g-sm-2,.sd-gy-sm-2{--sd-gutter-y: 0.5rem}.sd-g-sm-2,.sd-gx-sm-2{--sd-gutter-x: 0.5rem}.sd-g-sm-3,.sd-gy-sm-3{--sd-gutter-y: 1rem}.sd-g-sm-3,.sd-gx-sm-3{--sd-gutter-x: 1rem}.sd-g-sm-4,.sd-gy-sm-4{--sd-gutter-y: 1.5rem}.sd-g-sm-4,.sd-gx-sm-4{--sd-gutter-x: 1.5rem}.sd-g-sm-5,.sd-gy-sm-5{--sd-gutter-y: 3rem}.sd-g-sm-5,.sd-gx-sm-5{--sd-gutter-x: 3rem}}@media(min-width: 768px){.sd-col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-md-0,.sd-gy-md-0{--sd-gutter-y: 0}.sd-g-md-0,.sd-gx-md-0{--sd-gutter-x: 0}.sd-g-md-1,.sd-gy-md-1{--sd-gutter-y: 0.25rem}.sd-g-md-1,.sd-gx-md-1{--sd-gutter-x: 0.25rem}.sd-g-md-2,.sd-gy-md-2{--sd-gutter-y: 0.5rem}.sd-g-md-2,.sd-gx-md-2{--sd-gutter-x: 0.5rem}.sd-g-md-3,.sd-gy-md-3{--sd-gutter-y: 1rem}.sd-g-md-3,.sd-gx-md-3{--sd-gutter-x: 1rem}.sd-g-md-4,.sd-gy-md-4{--sd-gutter-y: 1.5rem}.sd-g-md-4,.sd-gx-md-4{--sd-gutter-x: 1.5rem}.sd-g-md-5,.sd-gy-md-5{--sd-gutter-y: 3rem}.sd-g-md-5,.sd-gx-md-5{--sd-gutter-x: 3rem}}@media(min-width: 992px){.sd-col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-lg-0,.sd-gy-lg-0{--sd-gutter-y: 0}.sd-g-lg-0,.sd-gx-lg-0{--sd-gutter-x: 0}.sd-g-lg-1,.sd-gy-lg-1{--sd-gutter-y: 0.25rem}.sd-g-lg-1,.sd-gx-lg-1{--sd-gutter-x: 0.25rem}.sd-g-lg-2,.sd-gy-lg-2{--sd-gutter-y: 0.5rem}.sd-g-lg-2,.sd-gx-lg-2{--sd-gutter-x: 0.5rem}.sd-g-lg-3,.sd-gy-lg-3{--sd-gutter-y: 1rem}.sd-g-lg-3,.sd-gx-lg-3{--sd-gutter-x: 1rem}.sd-g-lg-4,.sd-gy-lg-4{--sd-gutter-y: 1.5rem}.sd-g-lg-4,.sd-gx-lg-4{--sd-gutter-x: 1.5rem}.sd-g-lg-5,.sd-gy-lg-5{--sd-gutter-y: 3rem}.sd-g-lg-5,.sd-gx-lg-5{--sd-gutter-x: 3rem}}@media(min-width: 1200px){.sd-col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-xl-0,.sd-gy-xl-0{--sd-gutter-y: 0}.sd-g-xl-0,.sd-gx-xl-0{--sd-gutter-x: 0}.sd-g-xl-1,.sd-gy-xl-1{--sd-gutter-y: 0.25rem}.sd-g-xl-1,.sd-gx-xl-1{--sd-gutter-x: 0.25rem}.sd-g-xl-2,.sd-gy-xl-2{--sd-gutter-y: 0.5rem}.sd-g-xl-2,.sd-gx-xl-2{--sd-gutter-x: 0.5rem}.sd-g-xl-3,.sd-gy-xl-3{--sd-gutter-y: 1rem}.sd-g-xl-3,.sd-gx-xl-3{--sd-gutter-x: 1rem}.sd-g-xl-4,.sd-gy-xl-4{--sd-gutter-y: 1.5rem}.sd-g-xl-4,.sd-gx-xl-4{--sd-gutter-x: 1.5rem}.sd-g-xl-5,.sd-gy-xl-5{--sd-gutter-y: 3rem}.sd-g-xl-5,.sd-gx-xl-5{--sd-gutter-x: 3rem}}.sd-flex-row-reverse{flex-direction:row-reverse !important}details.sd-dropdown{position:relative}details.sd-dropdown .sd-summary-title{font-weight:700;padding-right:3em !important;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}details.sd-dropdown:hover{cursor:pointer}details.sd-dropdown .sd-summary-content{cursor:default}details.sd-dropdown summary{list-style:none;padding:1em}details.sd-dropdown summary .sd-octicon.no-title{vertical-align:middle}details.sd-dropdown[open] summary .sd-octicon.no-title{visibility:hidden}details.sd-dropdown summary::-webkit-details-marker{display:none}details.sd-dropdown summary:focus{outline:none}details.sd-dropdown .sd-summary-icon{margin-right:.5em}details.sd-dropdown .sd-summary-icon svg{opacity:.8}details.sd-dropdown summary:hover .sd-summary-up svg,details.sd-dropdown summary:hover .sd-summary-down svg{opacity:1;transform:scale(1.1)}details.sd-dropdown .sd-summary-up svg,details.sd-dropdown .sd-summary-down svg{display:block;opacity:.6}details.sd-dropdown .sd-summary-up,details.sd-dropdown .sd-summary-down{pointer-events:none;position:absolute;right:1em;top:1em}details.sd-dropdown[open]>.sd-summary-title .sd-summary-down{visibility:hidden}details.sd-dropdown:not([open])>.sd-summary-title .sd-summary-up{visibility:hidden}details.sd-dropdown:not([open]).sd-card{border:none}details.sd-dropdown:not([open])>.sd-card-header{border:1px solid var(--sd-color-card-border);border-radius:.25rem}details.sd-dropdown.sd-fade-in[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out;animation:sd-fade-in .5s ease-in-out}details.sd-dropdown.sd-fade-in-slide-down[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out}.sd-col>.sd-dropdown{width:100%}.sd-summary-content>.sd-tab-set:first-child{margin-top:0}@keyframes sd-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes sd-slide-down{0%{transform:translate(0, -10px)}100%{transform:translate(0, 0)}}.sd-tab-set{border-radius:.125rem;display:flex;flex-wrap:wrap;margin:1em 0;position:relative}.sd-tab-set>input{opacity:0;position:absolute}.sd-tab-set>input:checked+label{border-color:var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active)}.sd-tab-set>input:checked+label+.sd-tab-content{display:block}.sd-tab-set>input:not(:checked)+label:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.sd-tab-set>input:focus+label{outline-style:auto}.sd-tab-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.sd-tab-set>label{border-bottom:.125rem solid transparent;margin-bottom:0;color:var(--sd-color-tabs-label-inactive);border-color:var(--sd-color-tabs-underline-inactive);cursor:pointer;font-size:var(--sd-fontsize-tabs-label);font-weight:700;padding:1em 1.25em .5em;transition:color 250ms;width:auto;z-index:1}html .sd-tab-set>label:hover{color:var(--sd-color-tabs-label-active)}.sd-col>.sd-tab-set{width:100%}.sd-tab-content{box-shadow:0 -0.0625rem var(--sd-color-tabs-overline),0 .0625rem var(--sd-color-tabs-underline);display:none;order:99;padding-bottom:.75rem;padding-top:.75rem;width:100%}.sd-tab-content>:first-child{margin-top:0 !important}.sd-tab-content>:last-child{margin-bottom:0 !important}.sd-tab-content>.sd-tab-set{margin:0}.sd-sphinx-override,.sd-sphinx-override *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sd-sphinx-override p{margin-top:0}:root{--sd-color-primary: #0071bc;--sd-color-secondary: #6c757d;--sd-color-success: #28a745;--sd-color-info: #17a2b8;--sd-color-warning: #f0b37e;--sd-color-danger: #dc3545;--sd-color-light: #f8f9fa;--sd-color-muted: #6c757d;--sd-color-dark: #212529;--sd-color-black: black;--sd-color-white: white;--sd-color-primary-highlight: #0060a0;--sd-color-secondary-highlight: #5c636a;--sd-color-success-highlight: #228e3b;--sd-color-info-highlight: #148a9c;--sd-color-warning-highlight: #cc986b;--sd-color-danger-highlight: #bb2d3b;--sd-color-light-highlight: #d3d4d5;--sd-color-muted-highlight: #5c636a;--sd-color-dark-highlight: #1c1f23;--sd-color-black-highlight: black;--sd-color-white-highlight: #d9d9d9;--sd-color-primary-text: #fff;--sd-color-secondary-text: #fff;--sd-color-success-text: #fff;--sd-color-info-text: #fff;--sd-color-warning-text: #212529;--sd-color-danger-text: #fff;--sd-color-light-text: #212529;--sd-color-muted-text: #fff;--sd-color-dark-text: #fff;--sd-color-black-text: #fff;--sd-color-white-text: #212529;--sd-color-shadow: rgba(0, 0, 0, 0.15);--sd-color-card-border: rgba(0, 0, 0, 0.125);--sd-color-card-border-hover: hsla(231, 99%, 66%, 1);--sd-color-card-background: transparent;--sd-color-card-text: inherit;--sd-color-card-header: transparent;--sd-color-card-footer: transparent;--sd-color-tabs-label-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-hover: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-inactive: hsl(0, 0%, 66%);--sd-color-tabs-underline-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-underline-hover: rgba(178, 206, 245, 0.62);--sd-color-tabs-underline-inactive: transparent;--sd-color-tabs-overline: rgb(222, 222, 222);--sd-color-tabs-underline: rgb(222, 222, 222);--sd-fontsize-tabs-label: 1rem} diff --git a/latest/_sphinx_design_static/design-tabs.js b/latest/_sphinx_design_static/design-tabs.js new file mode 100644 index 0000000..36b38cf --- /dev/null +++ b/latest/_sphinx_design_static/design-tabs.js @@ -0,0 +1,27 @@ +var sd_labels_by_text = {}; + +function ready() { + const li = document.getElementsByClassName("sd-tab-label"); + for (const label of li) { + syncId = label.getAttribute("data-sync-id"); + if (syncId) { + label.onclick = onLabelClick; + if (!sd_labels_by_text[syncId]) { + sd_labels_by_text[syncId] = []; + } + sd_labels_by_text[syncId].push(label); + } + } +} + +function onLabelClick() { + // Activate other inputs with the same sync id. + syncId = this.getAttribute("data-sync-id"); + for (label of sd_labels_by_text[syncId]) { + if (label === this) continue; + label.previousElementSibling.checked = true; + } + window.localStorage.setItem("sphinx-design-last-tab", syncId); +} + +document.addEventListener("DOMContentLoaded", ready, false); diff --git a/latest/_static/basic.css b/latest/_static/basic.css new file mode 100644 index 0000000..30fee9d --- /dev/null +++ b/latest/_static/basic.css @@ -0,0 +1,925 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a:visited { + color: #551A8B; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/latest/_static/check-solid.svg b/latest/_static/check-solid.svg new file mode 100644 index 0000000..92fad4b --- /dev/null +++ b/latest/_static/check-solid.svg @@ -0,0 +1,4 @@ + + + + diff --git a/latest/_static/clipboard.min.js b/latest/_static/clipboard.min.js new file mode 100644 index 0000000..54b3c46 --- /dev/null +++ b/latest/_static/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.8 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1 + + + + diff --git a/latest/_static/copybutton.css b/latest/_static/copybutton.css new file mode 100644 index 0000000..f1916ec --- /dev/null +++ b/latest/_static/copybutton.css @@ -0,0 +1,94 @@ +/* Copy buttons */ +button.copybtn { + position: absolute; + display: flex; + top: .3em; + right: .3em; + width: 1.7em; + height: 1.7em; + opacity: 0; + transition: opacity 0.3s, border .3s, background-color .3s; + user-select: none; + padding: 0; + border: none; + outline: none; + border-radius: 0.4em; + /* The colors that GitHub uses */ + border: #1b1f2426 1px solid; + background-color: #f6f8fa; + color: #57606a; +} + +button.copybtn.success { + border-color: #22863a; + color: #22863a; +} + +button.copybtn svg { + stroke: currentColor; + width: 1.5em; + height: 1.5em; + padding: 0.1em; +} + +div.highlight { + position: relative; +} + +/* Show the copybutton */ +.highlight:hover button.copybtn, button.copybtn.success { + opacity: 1; +} + +.highlight button.copybtn:hover { + background-color: rgb(235, 235, 235); +} + +.highlight button.copybtn:active { + background-color: rgb(187, 187, 187); +} + +/** + * A minimal CSS-only tooltip copied from: + * https://codepen.io/mildrenben/pen/rVBrpK + * + * To use, write HTML like the following: + * + *

Short

+ */ + .o-tooltip--left { + position: relative; + } + + .o-tooltip--left:after { + opacity: 0; + visibility: hidden; + position: absolute; + content: attr(data-tooltip); + padding: .2em; + font-size: .8em; + left: -.2em; + background: grey; + color: white; + white-space: nowrap; + z-index: 2; + border-radius: 2px; + transform: translateX(-102%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); +} + +.o-tooltip--left:hover:after { + display: block; + opacity: 1; + visibility: visible; + transform: translateX(-100%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); + transition-delay: .5s; +} + +/* By default the copy button shouldn't show up when printing a page */ +@media print { + button.copybtn { + display: none; + } +} diff --git a/latest/_static/copybutton.js b/latest/_static/copybutton.js new file mode 100644 index 0000000..2ea7ff3 --- /dev/null +++ b/latest/_static/copybutton.js @@ -0,0 +1,248 @@ +// Localization support +const messages = { + 'en': { + 'copy': 'Copy', + 'copy_to_clipboard': 'Copy to clipboard', + 'copy_success': 'Copied!', + 'copy_failure': 'Failed to copy', + }, + 'es' : { + 'copy': 'Copiar', + 'copy_to_clipboard': 'Copiar al portapapeles', + 'copy_success': '¡Copiado!', + 'copy_failure': 'Error al copiar', + }, + 'de' : { + 'copy': 'Kopieren', + 'copy_to_clipboard': 'In die Zwischenablage kopieren', + 'copy_success': 'Kopiert!', + 'copy_failure': 'Fehler beim Kopieren', + }, + 'fr' : { + 'copy': 'Copier', + 'copy_to_clipboard': 'Copier dans le presse-papier', + 'copy_success': 'Copié !', + 'copy_failure': 'Échec de la copie', + }, + 'ru': { + 'copy': 'Скопировать', + 'copy_to_clipboard': 'Скопировать в буфер', + 'copy_success': 'Скопировано!', + 'copy_failure': 'Не удалось скопировать', + }, + 'zh-CN': { + 'copy': '复制', + 'copy_to_clipboard': '复制到剪贴板', + 'copy_success': '复制成功!', + 'copy_failure': '复制失败', + }, + 'it' : { + 'copy': 'Copiare', + 'copy_to_clipboard': 'Copiato negli appunti', + 'copy_success': 'Copiato!', + 'copy_failure': 'Errore durante la copia', + } +} + +let locale = 'en' +if( document.documentElement.lang !== undefined + && messages[document.documentElement.lang] !== undefined ) { + locale = document.documentElement.lang +} + +let doc_url_root = DOCUMENTATION_OPTIONS.URL_ROOT; +if (doc_url_root == '#') { + doc_url_root = ''; +} + +/** + * SVG files for our copy buttons + */ +let iconCheck = ` + ${messages[locale]['copy_success']} + + +` + +// If the user specified their own SVG use that, otherwise use the default +let iconCopy = ``; +if (!iconCopy) { + iconCopy = ` + ${messages[locale]['copy_to_clipboard']} + + + +` +} + +/** + * Set up copy/paste for code blocks + */ + +const runWhenDOMLoaded = cb => { + if (document.readyState != 'loading') { + cb() + } else if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', cb) + } else { + document.attachEvent('onreadystatechange', function() { + if (document.readyState == 'complete') cb() + }) + } +} + +const codeCellId = index => `codecell${index}` + +// Clears selected text since ClipboardJS will select the text when copying +const clearSelection = () => { + if (window.getSelection) { + window.getSelection().removeAllRanges() + } else if (document.selection) { + document.selection.empty() + } +} + +// Changes tooltip text for a moment, then changes it back +// We want the timeout of our `success` class to be a bit shorter than the +// tooltip and icon change, so that we can hide the icon before changing back. +var timeoutIcon = 2000; +var timeoutSuccessClass = 1500; + +const temporarilyChangeTooltip = (el, oldText, newText) => { + el.setAttribute('data-tooltip', newText) + el.classList.add('success') + // Remove success a little bit sooner than we change the tooltip + // So that we can use CSS to hide the copybutton first + setTimeout(() => el.classList.remove('success'), timeoutSuccessClass) + setTimeout(() => el.setAttribute('data-tooltip', oldText), timeoutIcon) +} + +// Changes the copy button icon for two seconds, then changes it back +const temporarilyChangeIcon = (el) => { + el.innerHTML = iconCheck; + setTimeout(() => {el.innerHTML = iconCopy}, timeoutIcon) +} + +const addCopyButtonToCodeCells = () => { + // If ClipboardJS hasn't loaded, wait a bit and try again. This + // happens because we load ClipboardJS asynchronously. + if (window.ClipboardJS === undefined) { + setTimeout(addCopyButtonToCodeCells, 250) + return + } + + // Add copybuttons to all of our code cells + const COPYBUTTON_SELECTOR = 'div.highlight pre'; + const codeCells = document.querySelectorAll(COPYBUTTON_SELECTOR) + codeCells.forEach((codeCell, index) => { + const id = codeCellId(index) + codeCell.setAttribute('id', id) + + const clipboardButton = id => + `` + codeCell.insertAdjacentHTML('afterend', clipboardButton(id)) + }) + +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} + + +var copyTargetText = (trigger) => { + var target = document.querySelector(trigger.attributes['data-clipboard-target'].value); + + // get filtered text + let exclude = '.linenos'; + + let text = filterText(target, exclude); + return formatCopyText(text, '', false, true, true, true, '', '') +} + + // Initialize with a callback so we can modify the text before copy + const clipboard = new ClipboardJS('.copybtn', {text: copyTargetText}) + + // Update UI with error/success messages + clipboard.on('success', event => { + clearSelection() + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_success']) + temporarilyChangeIcon(event.trigger) + }) + + clipboard.on('error', event => { + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_failure']) + }) +} + +runWhenDOMLoaded(addCopyButtonToCodeCells) \ No newline at end of file diff --git a/latest/_static/copybutton_funcs.js b/latest/_static/copybutton_funcs.js new file mode 100644 index 0000000..dbe1aaa --- /dev/null +++ b/latest/_static/copybutton_funcs.js @@ -0,0 +1,73 @@ +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +export function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +export function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} diff --git a/latest/_static/css/custom.css b/latest/_static/css/custom.css new file mode 100644 index 0000000..7984ba6 --- /dev/null +++ b/latest/_static/css/custom.css @@ -0,0 +1,54 @@ +:root { + --brand-primary: #4b8bbe; + --brand-primary-rgb: 75, 139, 190; + + --brand-secondary: #ffe873; + --brand-secondary-rgb: 255, 232, 115; + + --brand-dark-blue: #306998; + --brand-dark-blue-rgb: 48, 105, 152; + + --brand-yellow: #ffd43b; + --brand-yellow-rgb: 255, 212, 59; + + --brand-dark: #646464; + --brand-dark-rgb: 100, 100, 100; + + --brand-light: #ebdddd; + --brand-light-rgb: 235, 221, 221; +} + +html.dark, +html.light { + --sd-color-tabs-label-hover: var(--brand-secondary); +} + +html.light { + --syntax-light-constant: var(--brand-primary); + --syntax-light-meta: var(--brand-primary); + /* --syntax-light-text: #09090a;*/ + /* --syntax-light-cap-bg: #325b76;*/ + /* --syntax-light-pre-bg: #ddefff;*/ + --syntax-light-keyword: var(--brand-primary); + --syntax-light-property: var(--brand-dark); +} + +html.light .yue { + --yue-c-code-bg: var(--brand-yellow) !important; + --yue-c-code: var(--brand-dark) !important; + /*--yue-c-black: #11a1ff !important;*/ +} + +html.dark { + --syntax-dark-keyword: var(--brand-primary); + --syntax-dark-property: var(--brand-secondary); + --syntax-dark-constant: var(--brand-primary); + --syntax-dark-meta: var(--brand-primary); + --syntax-dark-pre-bg: rgba(var(--brand-primary-rgb), 0.1); +} + +html.dark .yue { + --yue-c-code-bg: var(--brand-dark) !important; + --yue-c-code: var(--brand-secondary) !important; + /*--yue-c-black: #11a1ff !important;*/ +} diff --git a/latest/_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css b/latest/_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css new file mode 100644 index 0000000..eb19f69 --- /dev/null +++ b/latest/_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css @@ -0,0 +1 @@ +.sd-bg-primary{background-color:var(--sd-color-primary) !important}.sd-bg-text-primary{color:var(--sd-color-primary-text) !important}button.sd-bg-primary:focus,button.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}a.sd-bg-primary:focus,a.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}.sd-bg-secondary{background-color:var(--sd-color-secondary) !important}.sd-bg-text-secondary{color:var(--sd-color-secondary-text) !important}button.sd-bg-secondary:focus,button.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}a.sd-bg-secondary:focus,a.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}.sd-bg-success{background-color:var(--sd-color-success) !important}.sd-bg-text-success{color:var(--sd-color-success-text) !important}button.sd-bg-success:focus,button.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}a.sd-bg-success:focus,a.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}.sd-bg-info{background-color:var(--sd-color-info) !important}.sd-bg-text-info{color:var(--sd-color-info-text) !important}button.sd-bg-info:focus,button.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}a.sd-bg-info:focus,a.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}.sd-bg-warning{background-color:var(--sd-color-warning) !important}.sd-bg-text-warning{color:var(--sd-color-warning-text) !important}button.sd-bg-warning:focus,button.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}a.sd-bg-warning:focus,a.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}.sd-bg-danger{background-color:var(--sd-color-danger) !important}.sd-bg-text-danger{color:var(--sd-color-danger-text) !important}button.sd-bg-danger:focus,button.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}a.sd-bg-danger:focus,a.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}.sd-bg-light{background-color:var(--sd-color-light) !important}.sd-bg-text-light{color:var(--sd-color-light-text) !important}button.sd-bg-light:focus,button.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}a.sd-bg-light:focus,a.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}.sd-bg-muted{background-color:var(--sd-color-muted) !important}.sd-bg-text-muted{color:var(--sd-color-muted-text) !important}button.sd-bg-muted:focus,button.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}a.sd-bg-muted:focus,a.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}.sd-bg-dark{background-color:var(--sd-color-dark) !important}.sd-bg-text-dark{color:var(--sd-color-dark-text) !important}button.sd-bg-dark:focus,button.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}a.sd-bg-dark:focus,a.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}.sd-bg-black{background-color:var(--sd-color-black) !important}.sd-bg-text-black{color:var(--sd-color-black-text) !important}button.sd-bg-black:focus,button.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}a.sd-bg-black:focus,a.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}.sd-bg-white{background-color:var(--sd-color-white) !important}.sd-bg-text-white{color:var(--sd-color-white-text) !important}button.sd-bg-white:focus,button.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}a.sd-bg-white:focus,a.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}.sd-text-primary,.sd-text-primary>p{color:var(--sd-color-primary) !important}a.sd-text-primary:focus,a.sd-text-primary:hover{color:var(--sd-color-primary-highlight) !important}.sd-text-secondary,.sd-text-secondary>p{color:var(--sd-color-secondary) !important}a.sd-text-secondary:focus,a.sd-text-secondary:hover{color:var(--sd-color-secondary-highlight) !important}.sd-text-success,.sd-text-success>p{color:var(--sd-color-success) !important}a.sd-text-success:focus,a.sd-text-success:hover{color:var(--sd-color-success-highlight) !important}.sd-text-info,.sd-text-info>p{color:var(--sd-color-info) !important}a.sd-text-info:focus,a.sd-text-info:hover{color:var(--sd-color-info-highlight) !important}.sd-text-warning,.sd-text-warning>p{color:var(--sd-color-warning) !important}a.sd-text-warning:focus,a.sd-text-warning:hover{color:var(--sd-color-warning-highlight) !important}.sd-text-danger,.sd-text-danger>p{color:var(--sd-color-danger) !important}a.sd-text-danger:focus,a.sd-text-danger:hover{color:var(--sd-color-danger-highlight) !important}.sd-text-light,.sd-text-light>p{color:var(--sd-color-light) !important}a.sd-text-light:focus,a.sd-text-light:hover{color:var(--sd-color-light-highlight) !important}.sd-text-muted,.sd-text-muted>p{color:var(--sd-color-muted) !important}a.sd-text-muted:focus,a.sd-text-muted:hover{color:var(--sd-color-muted-highlight) !important}.sd-text-dark,.sd-text-dark>p{color:var(--sd-color-dark) !important}a.sd-text-dark:focus,a.sd-text-dark:hover{color:var(--sd-color-dark-highlight) !important}.sd-text-black,.sd-text-black>p{color:var(--sd-color-black) !important}a.sd-text-black:focus,a.sd-text-black:hover{color:var(--sd-color-black-highlight) !important}.sd-text-white,.sd-text-white>p{color:var(--sd-color-white) !important}a.sd-text-white:focus,a.sd-text-white:hover{color:var(--sd-color-white-highlight) !important}.sd-outline-primary{border-color:var(--sd-color-primary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-primary:focus,a.sd-outline-primary:hover{border-color:var(--sd-color-primary-highlight) !important}.sd-outline-secondary{border-color:var(--sd-color-secondary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-secondary:focus,a.sd-outline-secondary:hover{border-color:var(--sd-color-secondary-highlight) !important}.sd-outline-success{border-color:var(--sd-color-success) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-success:focus,a.sd-outline-success:hover{border-color:var(--sd-color-success-highlight) !important}.sd-outline-info{border-color:var(--sd-color-info) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-info:focus,a.sd-outline-info:hover{border-color:var(--sd-color-info-highlight) !important}.sd-outline-warning{border-color:var(--sd-color-warning) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-warning:focus,a.sd-outline-warning:hover{border-color:var(--sd-color-warning-highlight) !important}.sd-outline-danger{border-color:var(--sd-color-danger) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-danger:focus,a.sd-outline-danger:hover{border-color:var(--sd-color-danger-highlight) !important}.sd-outline-light{border-color:var(--sd-color-light) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-light:focus,a.sd-outline-light:hover{border-color:var(--sd-color-light-highlight) !important}.sd-outline-muted{border-color:var(--sd-color-muted) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-muted:focus,a.sd-outline-muted:hover{border-color:var(--sd-color-muted-highlight) !important}.sd-outline-dark{border-color:var(--sd-color-dark) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-dark:focus,a.sd-outline-dark:hover{border-color:var(--sd-color-dark-highlight) !important}.sd-outline-black{border-color:var(--sd-color-black) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-black:focus,a.sd-outline-black:hover{border-color:var(--sd-color-black-highlight) !important}.sd-outline-white{border-color:var(--sd-color-white) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-white:focus,a.sd-outline-white:hover{border-color:var(--sd-color-white-highlight) !important}.sd-bg-transparent{background-color:transparent !important}.sd-outline-transparent{border-color:transparent !important}.sd-text-transparent{color:transparent !important}.sd-p-0{padding:0 !important}.sd-pt-0,.sd-py-0{padding-top:0 !important}.sd-pr-0,.sd-px-0{padding-right:0 !important}.sd-pb-0,.sd-py-0{padding-bottom:0 !important}.sd-pl-0,.sd-px-0{padding-left:0 !important}.sd-p-1{padding:.25rem !important}.sd-pt-1,.sd-py-1{padding-top:.25rem !important}.sd-pr-1,.sd-px-1{padding-right:.25rem !important}.sd-pb-1,.sd-py-1{padding-bottom:.25rem !important}.sd-pl-1,.sd-px-1{padding-left:.25rem !important}.sd-p-2{padding:.5rem !important}.sd-pt-2,.sd-py-2{padding-top:.5rem !important}.sd-pr-2,.sd-px-2{padding-right:.5rem !important}.sd-pb-2,.sd-py-2{padding-bottom:.5rem !important}.sd-pl-2,.sd-px-2{padding-left:.5rem !important}.sd-p-3{padding:1rem !important}.sd-pt-3,.sd-py-3{padding-top:1rem !important}.sd-pr-3,.sd-px-3{padding-right:1rem !important}.sd-pb-3,.sd-py-3{padding-bottom:1rem !important}.sd-pl-3,.sd-px-3{padding-left:1rem !important}.sd-p-4{padding:1.5rem !important}.sd-pt-4,.sd-py-4{padding-top:1.5rem !important}.sd-pr-4,.sd-px-4{padding-right:1.5rem !important}.sd-pb-4,.sd-py-4{padding-bottom:1.5rem !important}.sd-pl-4,.sd-px-4{padding-left:1.5rem !important}.sd-p-5{padding:3rem !important}.sd-pt-5,.sd-py-5{padding-top:3rem !important}.sd-pr-5,.sd-px-5{padding-right:3rem !important}.sd-pb-5,.sd-py-5{padding-bottom:3rem !important}.sd-pl-5,.sd-px-5{padding-left:3rem !important}.sd-m-auto{margin:auto !important}.sd-mt-auto,.sd-my-auto{margin-top:auto !important}.sd-mr-auto,.sd-mx-auto{margin-right:auto !important}.sd-mb-auto,.sd-my-auto{margin-bottom:auto !important}.sd-ml-auto,.sd-mx-auto{margin-left:auto !important}.sd-m-0{margin:0 !important}.sd-mt-0,.sd-my-0{margin-top:0 !important}.sd-mr-0,.sd-mx-0{margin-right:0 !important}.sd-mb-0,.sd-my-0{margin-bottom:0 !important}.sd-ml-0,.sd-mx-0{margin-left:0 !important}.sd-m-1{margin:.25rem !important}.sd-mt-1,.sd-my-1{margin-top:.25rem !important}.sd-mr-1,.sd-mx-1{margin-right:.25rem !important}.sd-mb-1,.sd-my-1{margin-bottom:.25rem !important}.sd-ml-1,.sd-mx-1{margin-left:.25rem !important}.sd-m-2{margin:.5rem !important}.sd-mt-2,.sd-my-2{margin-top:.5rem !important}.sd-mr-2,.sd-mx-2{margin-right:.5rem !important}.sd-mb-2,.sd-my-2{margin-bottom:.5rem !important}.sd-ml-2,.sd-mx-2{margin-left:.5rem !important}.sd-m-3{margin:1rem !important}.sd-mt-3,.sd-my-3{margin-top:1rem !important}.sd-mr-3,.sd-mx-3{margin-right:1rem !important}.sd-mb-3,.sd-my-3{margin-bottom:1rem !important}.sd-ml-3,.sd-mx-3{margin-left:1rem !important}.sd-m-4{margin:1.5rem !important}.sd-mt-4,.sd-my-4{margin-top:1.5rem !important}.sd-mr-4,.sd-mx-4{margin-right:1.5rem !important}.sd-mb-4,.sd-my-4{margin-bottom:1.5rem !important}.sd-ml-4,.sd-mx-4{margin-left:1.5rem !important}.sd-m-5{margin:3rem !important}.sd-mt-5,.sd-my-5{margin-top:3rem !important}.sd-mr-5,.sd-mx-5{margin-right:3rem !important}.sd-mb-5,.sd-my-5{margin-bottom:3rem !important}.sd-ml-5,.sd-mx-5{margin-left:3rem !important}.sd-w-25{width:25% !important}.sd-w-50{width:50% !important}.sd-w-75{width:75% !important}.sd-w-100{width:100% !important}.sd-w-auto{width:auto !important}.sd-h-25{height:25% !important}.sd-h-50{height:50% !important}.sd-h-75{height:75% !important}.sd-h-100{height:100% !important}.sd-h-auto{height:auto !important}.sd-d-none{display:none !important}.sd-d-inline{display:inline !important}.sd-d-inline-block{display:inline-block !important}.sd-d-block{display:block !important}.sd-d-grid{display:grid !important}.sd-d-flex-row{display:-ms-flexbox !important;display:flex !important;flex-direction:row !important}.sd-d-flex-column{display:-ms-flexbox !important;display:flex !important;flex-direction:column !important}.sd-d-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}@media(min-width: 576px){.sd-d-sm-none{display:none !important}.sd-d-sm-inline{display:inline !important}.sd-d-sm-inline-block{display:inline-block !important}.sd-d-sm-block{display:block !important}.sd-d-sm-grid{display:grid !important}.sd-d-sm-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-sm-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 768px){.sd-d-md-none{display:none !important}.sd-d-md-inline{display:inline !important}.sd-d-md-inline-block{display:inline-block !important}.sd-d-md-block{display:block !important}.sd-d-md-grid{display:grid !important}.sd-d-md-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-md-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 992px){.sd-d-lg-none{display:none !important}.sd-d-lg-inline{display:inline !important}.sd-d-lg-inline-block{display:inline-block !important}.sd-d-lg-block{display:block !important}.sd-d-lg-grid{display:grid !important}.sd-d-lg-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-lg-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 1200px){.sd-d-xl-none{display:none !important}.sd-d-xl-inline{display:inline !important}.sd-d-xl-inline-block{display:inline-block !important}.sd-d-xl-block{display:block !important}.sd-d-xl-grid{display:grid !important}.sd-d-xl-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-xl-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}.sd-align-major-start{justify-content:flex-start !important}.sd-align-major-end{justify-content:flex-end !important}.sd-align-major-center{justify-content:center !important}.sd-align-major-justify{justify-content:space-between !important}.sd-align-major-spaced{justify-content:space-evenly !important}.sd-align-minor-start{align-items:flex-start !important}.sd-align-minor-end{align-items:flex-end !important}.sd-align-minor-center{align-items:center !important}.sd-align-minor-stretch{align-items:stretch !important}.sd-text-justify{text-align:justify !important}.sd-text-left{text-align:left !important}.sd-text-right{text-align:right !important}.sd-text-center{text-align:center !important}.sd-font-weight-light{font-weight:300 !important}.sd-font-weight-lighter{font-weight:lighter !important}.sd-font-weight-normal{font-weight:400 !important}.sd-font-weight-bold{font-weight:700 !important}.sd-font-weight-bolder{font-weight:bolder !important}.sd-font-italic{font-style:italic !important}.sd-text-decoration-none{text-decoration:none !important}.sd-text-lowercase{text-transform:lowercase !important}.sd-text-uppercase{text-transform:uppercase !important}.sd-text-capitalize{text-transform:capitalize !important}.sd-text-wrap{white-space:normal !important}.sd-text-nowrap{white-space:nowrap !important}.sd-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-fs-1,.sd-fs-1>p{font-size:calc(1.375rem + 1.5vw) !important;line-height:unset !important}.sd-fs-2,.sd-fs-2>p{font-size:calc(1.325rem + 0.9vw) !important;line-height:unset !important}.sd-fs-3,.sd-fs-3>p{font-size:calc(1.3rem + 0.6vw) !important;line-height:unset !important}.sd-fs-4,.sd-fs-4>p{font-size:calc(1.275rem + 0.3vw) !important;line-height:unset !important}.sd-fs-5,.sd-fs-5>p{font-size:1.25rem !important;line-height:unset !important}.sd-fs-6,.sd-fs-6>p{font-size:1rem !important;line-height:unset !important}.sd-border-0{border:0 solid !important}.sd-border-top-0{border-top:0 solid !important}.sd-border-bottom-0{border-bottom:0 solid !important}.sd-border-right-0{border-right:0 solid !important}.sd-border-left-0{border-left:0 solid !important}.sd-border-1{border:1px solid !important}.sd-border-top-1{border-top:1px solid !important}.sd-border-bottom-1{border-bottom:1px solid !important}.sd-border-right-1{border-right:1px solid !important}.sd-border-left-1{border-left:1px solid !important}.sd-border-2{border:2px solid !important}.sd-border-top-2{border-top:2px solid !important}.sd-border-bottom-2{border-bottom:2px solid !important}.sd-border-right-2{border-right:2px solid !important}.sd-border-left-2{border-left:2px solid !important}.sd-border-3{border:3px solid !important}.sd-border-top-3{border-top:3px solid !important}.sd-border-bottom-3{border-bottom:3px solid !important}.sd-border-right-3{border-right:3px solid !important}.sd-border-left-3{border-left:3px solid !important}.sd-border-4{border:4px solid !important}.sd-border-top-4{border-top:4px solid !important}.sd-border-bottom-4{border-bottom:4px solid !important}.sd-border-right-4{border-right:4px solid !important}.sd-border-left-4{border-left:4px solid !important}.sd-border-5{border:5px solid !important}.sd-border-top-5{border-top:5px solid !important}.sd-border-bottom-5{border-bottom:5px solid !important}.sd-border-right-5{border-right:5px solid !important}.sd-border-left-5{border-left:5px solid !important}.sd-rounded-0{border-radius:0 !important}.sd-rounded-1{border-radius:.2rem !important}.sd-rounded-2{border-radius:.3rem !important}.sd-rounded-3{border-radius:.5rem !important}.sd-rounded-pill{border-radius:50rem !important}.sd-rounded-circle{border-radius:50% !important}.shadow-none{box-shadow:none !important}.sd-shadow-sm{box-shadow:0 .125rem .25rem var(--sd-color-shadow) !important}.sd-shadow-md{box-shadow:0 .5rem 1rem var(--sd-color-shadow) !important}.sd-shadow-lg{box-shadow:0 1rem 3rem var(--sd-color-shadow) !important}@keyframes sd-slide-from-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@keyframes sd-slide-from-right{0%{transform:translateX(200%)}100%{transform:translateX(0)}}@keyframes sd-grow100{0%{transform:scale(0);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50{0%{transform:scale(0.5);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50-rot20{0%{transform:scale(0.5) rotateZ(-20deg);opacity:.5}75%{transform:scale(1) rotateZ(5deg);opacity:1}95%{transform:scale(1) rotateZ(-1deg);opacity:1}100%{transform:scale(1) rotateZ(0);opacity:1}}.sd-animate-slide-from-left{animation:1s ease-out 0s 1 normal none running sd-slide-from-left}.sd-animate-slide-from-right{animation:1s ease-out 0s 1 normal none running sd-slide-from-right}.sd-animate-grow100{animation:1s ease-out 0s 1 normal none running sd-grow100}.sd-animate-grow50{animation:1s ease-out 0s 1 normal none running sd-grow50}.sd-animate-grow50-rot20{animation:1s ease-out 0s 1 normal none running sd-grow50-rot20}.sd-badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.sd-badge:empty{display:none}a.sd-badge{text-decoration:none}.sd-btn .sd-badge{position:relative;top:-1px}.sd-btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;cursor:pointer;display:inline-block;font-weight:400;font-size:1rem;line-height:1.5;padding:.375rem .75rem;text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:middle;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none}.sd-btn:hover{text-decoration:none}@media(prefers-reduced-motion: reduce){.sd-btn{transition:none}}.sd-btn-primary,.sd-btn-outline-primary:hover,.sd-btn-outline-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-primary:hover,.sd-btn-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary-highlight) !important;border-color:var(--sd-color-primary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-primary{color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary,.sd-btn-outline-secondary:hover,.sd-btn-outline-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary:hover,.sd-btn-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary-highlight) !important;border-color:var(--sd-color-secondary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-secondary{color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success,.sd-btn-outline-success:hover,.sd-btn-outline-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success:hover,.sd-btn-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success-highlight) !important;border-color:var(--sd-color-success-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-success{color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info,.sd-btn-outline-info:hover,.sd-btn-outline-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info:hover,.sd-btn-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info-highlight) !important;border-color:var(--sd-color-info-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-info{color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning,.sd-btn-outline-warning:hover,.sd-btn-outline-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning:hover,.sd-btn-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning-highlight) !important;border-color:var(--sd-color-warning-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-warning{color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger,.sd-btn-outline-danger:hover,.sd-btn-outline-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger:hover,.sd-btn-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger-highlight) !important;border-color:var(--sd-color-danger-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-danger{color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light,.sd-btn-outline-light:hover,.sd-btn-outline-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light:hover,.sd-btn-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light-highlight) !important;border-color:var(--sd-color-light-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-light{color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted,.sd-btn-outline-muted:hover,.sd-btn-outline-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted:hover,.sd-btn-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted-highlight) !important;border-color:var(--sd-color-muted-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-muted{color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark,.sd-btn-outline-dark:hover,.sd-btn-outline-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark:hover,.sd-btn-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark-highlight) !important;border-color:var(--sd-color-dark-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-dark{color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black,.sd-btn-outline-black:hover,.sd-btn-outline-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black:hover,.sd-btn-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black-highlight) !important;border-color:var(--sd-color-black-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-black{color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white,.sd-btn-outline-white:hover,.sd-btn-outline-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white:hover,.sd-btn-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white-highlight) !important;border-color:var(--sd-color-white-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-white{color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.sd-hide-link-text{font-size:0}.sd-octicon,.sd-material-icon{display:inline-block;fill:currentColor;vertical-align:middle}.sd-avatar-xs{border-radius:50%;object-fit:cover;object-position:center;width:1rem;height:1rem}.sd-avatar-sm{border-radius:50%;object-fit:cover;object-position:center;width:3rem;height:3rem}.sd-avatar-md{border-radius:50%;object-fit:cover;object-position:center;width:5rem;height:5rem}.sd-avatar-lg{border-radius:50%;object-fit:cover;object-position:center;width:7rem;height:7rem}.sd-avatar-xl{border-radius:50%;object-fit:cover;object-position:center;width:10rem;height:10rem}.sd-avatar-inherit{border-radius:50%;object-fit:cover;object-position:center;width:inherit;height:inherit}.sd-avatar-initial{border-radius:50%;object-fit:cover;object-position:center;width:initial;height:initial}.sd-card{background-clip:border-box;background-color:var(--sd-color-card-background);border:1px solid var(--sd-color-card-border);border-radius:.25rem;color:var(--sd-color-card-text);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;position:relative;word-wrap:break-word}.sd-card>hr{margin-left:0;margin-right:0}.sd-card-hover:hover{border-color:var(--sd-color-card-border-hover);transform:scale(1.01)}.sd-card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem 1rem}.sd-card-title{margin-bottom:.5rem}.sd-card-subtitle{margin-top:-0.25rem;margin-bottom:0}.sd-card-text:last-child{margin-bottom:0}.sd-card-link:hover{text-decoration:none}.sd-card-link+.card-link{margin-left:1rem}.sd-card-header{padding:.5rem 1rem;margin-bottom:0;background-color:var(--sd-color-card-header);border-bottom:1px solid var(--sd-color-card-border)}.sd-card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.sd-card-footer{padding:.5rem 1rem;background-color:var(--sd-color-card-footer);border-top:1px solid var(--sd-color-card-border)}.sd-card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.sd-card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.sd-card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.sd-card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom,.sd-card-img-top{width:100%}.sd-card-img,.sd-card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom{border-bottom-left-radius:calc(0.25rem - 1px);border-bottom-right-radius:calc(0.25rem - 1px)}.sd-cards-carousel{width:100%;display:flex;flex-wrap:nowrap;-ms-flex-direction:row;flex-direction:row;overflow-x:hidden;scroll-snap-type:x mandatory}.sd-cards-carousel.sd-show-scrollbar{overflow-x:auto}.sd-cards-carousel:hover,.sd-cards-carousel:focus{overflow-x:auto}.sd-cards-carousel>.sd-card{flex-shrink:0;scroll-snap-align:start}.sd-cards-carousel>.sd-card:not(:last-child){margin-right:3px}.sd-card-cols-1>.sd-card{width:90%}.sd-card-cols-2>.sd-card{width:45%}.sd-card-cols-3>.sd-card{width:30%}.sd-card-cols-4>.sd-card{width:22.5%}.sd-card-cols-5>.sd-card{width:18%}.sd-card-cols-6>.sd-card{width:15%}.sd-card-cols-7>.sd-card{width:12.8571428571%}.sd-card-cols-8>.sd-card{width:11.25%}.sd-card-cols-9>.sd-card{width:10%}.sd-card-cols-10>.sd-card{width:9%}.sd-card-cols-11>.sd-card{width:8.1818181818%}.sd-card-cols-12>.sd-card{width:7.5%}.sd-container,.sd-container-fluid,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container-xl{margin-left:auto;margin-right:auto;padding-left:var(--sd-gutter-x, 0.75rem);padding-right:var(--sd-gutter-x, 0.75rem);width:100%}@media(min-width: 576px){.sd-container-sm,.sd-container{max-width:540px}}@media(min-width: 768px){.sd-container-md,.sd-container-sm,.sd-container{max-width:720px}}@media(min-width: 992px){.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:960px}}@media(min-width: 1200px){.sd-container-xl,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:1140px}}.sd-row{--sd-gutter-x: 1.5rem;--sd-gutter-y: 0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(var(--sd-gutter-y) * -1);margin-right:calc(var(--sd-gutter-x) * -0.5);margin-left:calc(var(--sd-gutter-x) * -0.5)}.sd-row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--sd-gutter-x) * 0.5);padding-left:calc(var(--sd-gutter-x) * 0.5);margin-top:var(--sd-gutter-y)}.sd-col{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-auto>*{flex:0 0 auto;width:auto}.sd-row-cols-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}@media(min-width: 576px){.sd-col-sm{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-sm-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-sm-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-sm-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-sm-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-sm-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-sm-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-sm-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-sm-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-sm-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-sm-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-sm-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-sm-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-sm-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 768px){.sd-col-md{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-md-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-md-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-md-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-md-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-md-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-md-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-md-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-md-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-md-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-md-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-md-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-md-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-md-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 992px){.sd-col-lg{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-lg-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-lg-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-lg-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-lg-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-lg-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-lg-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-lg-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-lg-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-lg-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-lg-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-lg-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-lg-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-lg-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 1200px){.sd-col-xl{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-xl-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-xl-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-xl-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-xl-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-xl-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-xl-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-xl-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-xl-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-xl-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-xl-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-xl-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-xl-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-xl-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}.sd-col-auto{flex:0 0 auto;-ms-flex:0 0 auto;width:auto}.sd-col-1{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}.sd-col-2{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-col-3{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-col-4{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-col-5{flex:0 0 auto;-ms-flex:0 0 auto;width:41.6666666667%}.sd-col-6{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-col-7{flex:0 0 auto;-ms-flex:0 0 auto;width:58.3333333333%}.sd-col-8{flex:0 0 auto;-ms-flex:0 0 auto;width:66.6666666667%}.sd-col-9{flex:0 0 auto;-ms-flex:0 0 auto;width:75%}.sd-col-10{flex:0 0 auto;-ms-flex:0 0 auto;width:83.3333333333%}.sd-col-11{flex:0 0 auto;-ms-flex:0 0 auto;width:91.6666666667%}.sd-col-12{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-g-0,.sd-gy-0{--sd-gutter-y: 0}.sd-g-0,.sd-gx-0{--sd-gutter-x: 0}.sd-g-1,.sd-gy-1{--sd-gutter-y: 0.25rem}.sd-g-1,.sd-gx-1{--sd-gutter-x: 0.25rem}.sd-g-2,.sd-gy-2{--sd-gutter-y: 0.5rem}.sd-g-2,.sd-gx-2{--sd-gutter-x: 0.5rem}.sd-g-3,.sd-gy-3{--sd-gutter-y: 1rem}.sd-g-3,.sd-gx-3{--sd-gutter-x: 1rem}.sd-g-4,.sd-gy-4{--sd-gutter-y: 1.5rem}.sd-g-4,.sd-gx-4{--sd-gutter-x: 1.5rem}.sd-g-5,.sd-gy-5{--sd-gutter-y: 3rem}.sd-g-5,.sd-gx-5{--sd-gutter-x: 3rem}@media(min-width: 576px){.sd-col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-sm-0,.sd-gy-sm-0{--sd-gutter-y: 0}.sd-g-sm-0,.sd-gx-sm-0{--sd-gutter-x: 0}.sd-g-sm-1,.sd-gy-sm-1{--sd-gutter-y: 0.25rem}.sd-g-sm-1,.sd-gx-sm-1{--sd-gutter-x: 0.25rem}.sd-g-sm-2,.sd-gy-sm-2{--sd-gutter-y: 0.5rem}.sd-g-sm-2,.sd-gx-sm-2{--sd-gutter-x: 0.5rem}.sd-g-sm-3,.sd-gy-sm-3{--sd-gutter-y: 1rem}.sd-g-sm-3,.sd-gx-sm-3{--sd-gutter-x: 1rem}.sd-g-sm-4,.sd-gy-sm-4{--sd-gutter-y: 1.5rem}.sd-g-sm-4,.sd-gx-sm-4{--sd-gutter-x: 1.5rem}.sd-g-sm-5,.sd-gy-sm-5{--sd-gutter-y: 3rem}.sd-g-sm-5,.sd-gx-sm-5{--sd-gutter-x: 3rem}}@media(min-width: 768px){.sd-col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-md-0,.sd-gy-md-0{--sd-gutter-y: 0}.sd-g-md-0,.sd-gx-md-0{--sd-gutter-x: 0}.sd-g-md-1,.sd-gy-md-1{--sd-gutter-y: 0.25rem}.sd-g-md-1,.sd-gx-md-1{--sd-gutter-x: 0.25rem}.sd-g-md-2,.sd-gy-md-2{--sd-gutter-y: 0.5rem}.sd-g-md-2,.sd-gx-md-2{--sd-gutter-x: 0.5rem}.sd-g-md-3,.sd-gy-md-3{--sd-gutter-y: 1rem}.sd-g-md-3,.sd-gx-md-3{--sd-gutter-x: 1rem}.sd-g-md-4,.sd-gy-md-4{--sd-gutter-y: 1.5rem}.sd-g-md-4,.sd-gx-md-4{--sd-gutter-x: 1.5rem}.sd-g-md-5,.sd-gy-md-5{--sd-gutter-y: 3rem}.sd-g-md-5,.sd-gx-md-5{--sd-gutter-x: 3rem}}@media(min-width: 992px){.sd-col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-lg-0,.sd-gy-lg-0{--sd-gutter-y: 0}.sd-g-lg-0,.sd-gx-lg-0{--sd-gutter-x: 0}.sd-g-lg-1,.sd-gy-lg-1{--sd-gutter-y: 0.25rem}.sd-g-lg-1,.sd-gx-lg-1{--sd-gutter-x: 0.25rem}.sd-g-lg-2,.sd-gy-lg-2{--sd-gutter-y: 0.5rem}.sd-g-lg-2,.sd-gx-lg-2{--sd-gutter-x: 0.5rem}.sd-g-lg-3,.sd-gy-lg-3{--sd-gutter-y: 1rem}.sd-g-lg-3,.sd-gx-lg-3{--sd-gutter-x: 1rem}.sd-g-lg-4,.sd-gy-lg-4{--sd-gutter-y: 1.5rem}.sd-g-lg-4,.sd-gx-lg-4{--sd-gutter-x: 1.5rem}.sd-g-lg-5,.sd-gy-lg-5{--sd-gutter-y: 3rem}.sd-g-lg-5,.sd-gx-lg-5{--sd-gutter-x: 3rem}}@media(min-width: 1200px){.sd-col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-xl-0,.sd-gy-xl-0{--sd-gutter-y: 0}.sd-g-xl-0,.sd-gx-xl-0{--sd-gutter-x: 0}.sd-g-xl-1,.sd-gy-xl-1{--sd-gutter-y: 0.25rem}.sd-g-xl-1,.sd-gx-xl-1{--sd-gutter-x: 0.25rem}.sd-g-xl-2,.sd-gy-xl-2{--sd-gutter-y: 0.5rem}.sd-g-xl-2,.sd-gx-xl-2{--sd-gutter-x: 0.5rem}.sd-g-xl-3,.sd-gy-xl-3{--sd-gutter-y: 1rem}.sd-g-xl-3,.sd-gx-xl-3{--sd-gutter-x: 1rem}.sd-g-xl-4,.sd-gy-xl-4{--sd-gutter-y: 1.5rem}.sd-g-xl-4,.sd-gx-xl-4{--sd-gutter-x: 1.5rem}.sd-g-xl-5,.sd-gy-xl-5{--sd-gutter-y: 3rem}.sd-g-xl-5,.sd-gx-xl-5{--sd-gutter-x: 3rem}}.sd-flex-row-reverse{flex-direction:row-reverse !important}details.sd-dropdown{position:relative}details.sd-dropdown .sd-summary-title{font-weight:700;padding-right:3em !important;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}details.sd-dropdown:hover{cursor:pointer}details.sd-dropdown .sd-summary-content{cursor:default}details.sd-dropdown summary{list-style:none;padding:1em}details.sd-dropdown summary .sd-octicon.no-title{vertical-align:middle}details.sd-dropdown[open] summary .sd-octicon.no-title{visibility:hidden}details.sd-dropdown summary::-webkit-details-marker{display:none}details.sd-dropdown summary:focus{outline:none}details.sd-dropdown .sd-summary-icon{margin-right:.5em}details.sd-dropdown .sd-summary-icon svg{opacity:.8}details.sd-dropdown summary:hover .sd-summary-up svg,details.sd-dropdown summary:hover .sd-summary-down svg{opacity:1;transform:scale(1.1)}details.sd-dropdown .sd-summary-up svg,details.sd-dropdown .sd-summary-down svg{display:block;opacity:.6}details.sd-dropdown .sd-summary-up,details.sd-dropdown .sd-summary-down{pointer-events:none;position:absolute;right:1em;top:1em}details.sd-dropdown[open]>.sd-summary-title .sd-summary-down{visibility:hidden}details.sd-dropdown:not([open])>.sd-summary-title .sd-summary-up{visibility:hidden}details.sd-dropdown:not([open]).sd-card{border:none}details.sd-dropdown:not([open])>.sd-card-header{border:1px solid var(--sd-color-card-border);border-radius:.25rem}details.sd-dropdown.sd-fade-in[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out;animation:sd-fade-in .5s ease-in-out}details.sd-dropdown.sd-fade-in-slide-down[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out}.sd-col>.sd-dropdown{width:100%}.sd-summary-content>.sd-tab-set:first-child{margin-top:0}@keyframes sd-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes sd-slide-down{0%{transform:translate(0, -10px)}100%{transform:translate(0, 0)}}.sd-tab-set{border-radius:.125rem;display:flex;flex-wrap:wrap;margin:1em 0;position:relative}.sd-tab-set>input{opacity:0;position:absolute}.sd-tab-set>input:checked+label{border-color:var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active)}.sd-tab-set>input:checked+label+.sd-tab-content{display:block}.sd-tab-set>input:not(:checked)+label:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.sd-tab-set>input:focus+label{outline-style:auto}.sd-tab-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.sd-tab-set>label{border-bottom:.125rem solid transparent;margin-bottom:0;color:var(--sd-color-tabs-label-inactive);border-color:var(--sd-color-tabs-underline-inactive);cursor:pointer;font-size:var(--sd-fontsize-tabs-label);font-weight:700;padding:1em 1.25em .5em;transition:color 250ms;width:auto;z-index:1}html .sd-tab-set>label:hover{color:var(--sd-color-tabs-label-active)}.sd-col>.sd-tab-set{width:100%}.sd-tab-content{box-shadow:0 -0.0625rem var(--sd-color-tabs-overline),0 .0625rem var(--sd-color-tabs-underline);display:none;order:99;padding-bottom:.75rem;padding-top:.75rem;width:100%}.sd-tab-content>:first-child{margin-top:0 !important}.sd-tab-content>:last-child{margin-bottom:0 !important}.sd-tab-content>.sd-tab-set{margin:0}.sd-sphinx-override,.sd-sphinx-override *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sd-sphinx-override p{margin-top:0}:root{--sd-color-primary: #0071bc;--sd-color-secondary: #6c757d;--sd-color-success: #28a745;--sd-color-info: #17a2b8;--sd-color-warning: #f0b37e;--sd-color-danger: #dc3545;--sd-color-light: #f8f9fa;--sd-color-muted: #6c757d;--sd-color-dark: #212529;--sd-color-black: black;--sd-color-white: white;--sd-color-primary-highlight: #0060a0;--sd-color-secondary-highlight: #5c636a;--sd-color-success-highlight: #228e3b;--sd-color-info-highlight: #148a9c;--sd-color-warning-highlight: #cc986b;--sd-color-danger-highlight: #bb2d3b;--sd-color-light-highlight: #d3d4d5;--sd-color-muted-highlight: #5c636a;--sd-color-dark-highlight: #1c1f23;--sd-color-black-highlight: black;--sd-color-white-highlight: #d9d9d9;--sd-color-primary-text: #fff;--sd-color-secondary-text: #fff;--sd-color-success-text: #fff;--sd-color-info-text: #fff;--sd-color-warning-text: #212529;--sd-color-danger-text: #fff;--sd-color-light-text: #212529;--sd-color-muted-text: #fff;--sd-color-dark-text: #fff;--sd-color-black-text: #fff;--sd-color-white-text: #212529;--sd-color-shadow: rgba(0, 0, 0, 0.15);--sd-color-card-border: rgba(0, 0, 0, 0.125);--sd-color-card-border-hover: hsla(231, 99%, 66%, 1);--sd-color-card-background: transparent;--sd-color-card-text: inherit;--sd-color-card-header: transparent;--sd-color-card-footer: transparent;--sd-color-tabs-label-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-hover: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-inactive: hsl(0, 0%, 66%);--sd-color-tabs-underline-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-underline-hover: rgba(178, 206, 245, 0.62);--sd-color-tabs-underline-inactive: transparent;--sd-color-tabs-overline: rgb(222, 222, 222);--sd-color-tabs-underline: rgb(222, 222, 222);--sd-fontsize-tabs-label: 1rem} diff --git a/latest/_static/design-tabs.js b/latest/_static/design-tabs.js new file mode 100644 index 0000000..36b38cf --- /dev/null +++ b/latest/_static/design-tabs.js @@ -0,0 +1,27 @@ +var sd_labels_by_text = {}; + +function ready() { + const li = document.getElementsByClassName("sd-tab-label"); + for (const label of li) { + syncId = label.getAttribute("data-sync-id"); + if (syncId) { + label.onclick = onLabelClick; + if (!sd_labels_by_text[syncId]) { + sd_labels_by_text[syncId] = []; + } + sd_labels_by_text[syncId].push(label); + } + } +} + +function onLabelClick() { + // Activate other inputs with the same sync id. + syncId = this.getAttribute("data-sync-id"); + for (label of sd_labels_by_text[syncId]) { + if (label === this) continue; + label.previousElementSibling.checked = true; + } + window.localStorage.setItem("sphinx-design-last-tab", syncId); +} + +document.addEventListener("DOMContentLoaded", ready, false); diff --git a/latest/_static/doctools.js b/latest/_static/doctools.js new file mode 100644 index 0000000..d06a71d --- /dev/null +++ b/latest/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/latest/_static/documentation_options.js b/latest/_static/documentation_options.js new file mode 100644 index 0000000..62d0881 --- /dev/null +++ b/latest/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '0', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/latest/_static/file.png b/latest/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/latest/_static/language_data.js b/latest/_static/language_data.js new file mode 100644 index 0000000..250f566 --- /dev/null +++ b/latest/_static/language_data.js @@ -0,0 +1,199 @@ +/* + * language_data.js + * ~~~~~~~~~~~~~~~~ + * + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; + + +/* Non-minified version is copied as a separate JS file, is available */ + +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/latest/_static/logo.png b/latest/_static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d54c45c49d682637b48e0712be90495a64e8c9ad GIT binary patch literal 192393 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

AFKl`?RAcIoFU>xO+gG)A9i3gIY;KX+|C9crd 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
kCKy`DQOz$h@Z&$@u9gQr7< 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

W-h z*A~kl^@&My-Y17Y4by~Iqy0gKK>CD2eF5!ko^Kp`nu@ zemp`x}t z-g}d=8|)M7ug@WdS*FrrB93nGc#_mdxZH?sV+tKud1rWYs^d{&jO%mXn6zMQ&*r%= zK;FEWT?}qB2tD=4B#8JM6Cc9^M57*%2c4c$0%uJWrsZsHzlxA?BZo}`Fc6(GT##6q%ta#t8uL6Ci?Wk;EV3i zct%gxiul!WnQ58D&DK@D0OL*R_T8y(t6szI)0*Z8Q4)^UhEuIW9mv5ktcQd2bsFc< zC)8#3FDo+czgZMGR|!3MoVH8!RYk=Ham!PQsGp+#!PmAjqcx7&xBA&-2Mbh@6d30v zqYR@WbGS?3PB6?22tgF=Y)^n&yg0<`+ItMZL@tvA z42wWk+JOlhac%zXkRK5~7wf&g#$o3K7iWED9VkupZ%rz`oPYc2Kq!LhVyD#63 z;>N%pn8Kf`Cd&|0odlfe(tHEJJZC{V2%@6;1VrWlFE=5pJ%;cUuomMG%i$k1oqSWD zM^qFP%+n3urz;ZGKv8RAJ(;EM;X_*mn~Pf9J6c?;FS5s%9WLt($F=OWWsFz9%nZ8r z@CIL4&N<7A_WAL_9MHjH@o}P|wz5Wj%Qkht4L^sJcuJQ~Q1YI8mF&ob<;m*M~Hn4Se|h)7gvcI_bS)XQI%wJa8^P)vDTlx zH%{vhOYSpaxWV?Z*#U*pNaUUz0e`&3PUrV?yea zaBwrA2c3%eG(f$|6DlYZC%L7z-LNb{R@OUp&yD%<7sm{9hrI!21SE?UL8+p&6>s=RmcwZ+Huo}f# zes3XHqPl?XPye**`pJ4G(XoJ6CN5$-r#e^T;I~nO^$7ulbGs)poz16u1{Fd@Wj=;M z%gGyCVyDj;3cr?u8IqNkTmz?gq$cRXb01$KI80&9$zryasPe9S2gfSZw&L{YC*AYs zPq}wQWn59e(2Wk-8MAslbR`>F>u*ha0=618d14+6$rT=OI3Bas&h&%&bL1;gBPw=% zgLnJ+Ov{xw3xZQm#H`_s3B`!>u3#7q*stH;7=ldTz^|piy-W9E&Mt(6J@Gn%gqbY4 zvRG+wI=6#)y2sZlyj*&q)H6$0_f-jV+^bt`QeeQP;5Z|a#6VmCB~R^b_hMTFfef?0 z4QJwKt=*Kahb^RuElj&*VU6;`h8BjeFzgvRoywf4l+hJ?}!-=^Ek z?}n8N^;d4nTys7@HPt?`}lUYhoYn#Py@(Dv8SNjJx?yu?=Va(&Nbu@jT^ zP7-3^>7O;qu*tI**xWTXqGH^3XQ#uBv1HmwEblq8TD)$WwPfT2whB}WfjnREH4;Rq zpDszZq~d|lxc|Q>d+V^Owyu465dsREje)?Xl`sKmqy-5n1tpXeB&0z)HiCkHD526J zpok)^fHX)+OXsG$yZOzvL67IW=X;*#`{SHTuf5isV~%l;d)#9#*P7e(u`9<&xUlndBzA)k2**r8RohAdzPeWI(FYs^x5Ex+$4?PVb{-g9E>n_lyl z>R;!(uG|*Z3MejSoQ@26JTy1@g3$bgdd{g&s+1Z=O@RaV1(DZDzS&w=5*9@}1?4wI z#X|K*h9x7-kjIK^G&12Yyn3BE9=j~h_P--t4y2#U8n4E(lHq7&r2V>^L4OZ>Ut1ZT zo)_+l=vS$}0Mixc`JDBO@uAW#4(t)5J||SGX|dnJPbNiC29luo1Bf1xd2VSxNxjw1 zDgAwZH01~l!7$R4b^oRn2U0^D*j0SIoK{*{c0Xm1O?=n*A>P_TGsp@0PsjI7d0hDK zf?xiYkvQo1zkaC@BKlCa`%>xKLsbV6SxEy`i&N%D`Jplb=85(85Bb)wQ`Z~%zZ$Mk z{zc+@^RCsyhGJULp+iB*HucIP% z7AAsEcZ>6k=XgKEtMUXaKPUXa>#1oT28riVUG4DW;*6+_vc&!yflhMpcm^hiBY@c{ ze-SJ>T@-Jb`bRya)d=|-5{auIT}9SM-FL>6EqvW#zuJAABwS}cbnX}>h$yF-C9SL8 zimvHyWMvqu2{#ibO91~m6@BJ~n!;W#W8Jo6XHAcyf+t*R>(U;_>1pDLOAwb*&IHd0 z50<93i}_&~Y<`5!q2o(~Zm0XGhray>lY+w^u)lzI7NdekR|h`({R{fHhxV#i-6~S% z3M3^B6iNNQ;?oe65j>r+pab?C-LAHiX!EJQOHIfBy;xu}r**LjoCq$P@$hL7&k=+y zeRu<&a>HHtWT*U#RXz1eqOtrpiT|!$3XndMt}h(qkV*O?rs)^|N=lfr>cEzG7vKyZ z9S&zQ!0)h@X;P+fbpRD7|(X4wR$YyMJmZDrW_rv@93Yjb?8wuFcn zWny}6rrb_&c-}_AiAGY1Oo^}3j5TpMWKc)`4bm~jS~);LeD`yQWiCv{^7Jx)pjR+2 zp%eL5U~r(9VD&NupC7dU65sq)l8bUOQL@~-|L_2E3~*OXG_V0 zd;_Ihz?QXNX6-a~Yzjnv9lJAkWAWnBMVe2qM&f2Qcuc8cVjq)nC}y|pzW;;a6`h{$ z63RZDz;F`gUjq+>Vd)8h790Hg0xYqom3g&DQOfbmfG(kIZ%{l=A$K1fr(QqR!0JmR z?sXp|-V5=A#M|m_-$LJuf7v;>$2WyX=o>c}b|+X|0(ZASw>3;cfsUKzVhE%02PM4V zIQgcVIzr}m@DVn;B=)jvkqf$Nrl<-_GJ#R@HTp}*y2uPRiML=jsv>8k;vucWDfp+J z5#|{H=g#>ONGq4pT>wS#c*#09_c0=Bl*jC6TS-aoiRkU3=Zy98 zSxu{5Ul53&91iK+@-^59W$L3(*S>q-tFwDqQ+d~QsN~f1lb@rVU`e8rf7@xli=K#T zqtq+fb1;IZlN_tA_{zMZj97$-kQe5EaRFA$;Gc#zV!SJH^duyj`U*hv532BNn4gI8 z?1a(#spn|weGffCgzVfbP`;EJDoq1Ub|+dRbnwK>a|t}XPkT(O{b$YMe%KIjy4ul2 z8Gqlu`wxxI&?H6Us#H#!IYz%AjHt&c^Y)G_&f`VUC_bm#biUrkWzS6$B#@bIE$)@n zdW{g_TSA1|_+mqdI01?+sib!2A#}O(^zaD;#|v+CS^(}$b!}0dL=-6t9=-g54}xa4LT+JtDWbmFKO29x>I(7 zL#_IK#OXxl$Ewrl>tYK-|Dj1L{?gtscs+D}dWj|IR_;^&r1;>xks$eG-o%)UjF+2a zw;yH4$JSE3Dw2!#oLDAr79ZePj^(c-oSq$hA}-;_oLoH!9$T9uP@D-x6p!P?bK^hy z_aFOHlBBxw+rdRb9l-CtmiM(?IAK;nXs`kWOEZ5-l0UKg;RE60O1&B~jqTHS?leZZ zuF~fBQ~>A_0q8z+w{)Z7Pnj?NBoX@j9n#?q{nA*LMN7@xA~vx#n*zrl8<}d4KE5ZK z>(%Y`0M#l-td)@R;34S?Yk6IQzk?T>+DQ9j-lpxkY9CM9dEk*Rr+C8 zPS*uw=(0v=@R6cEdDgP4kIO)H3$P9@=m_41;gjmP>A4wSbau*Juk~;Hd6czrp7%0V zgP%a2l?o7O9TAs^;T1lrfJ9CCCw-2%<62tUxAVUe^luDd&qUPu)CEpUys^bTCLR~W zzj1Bio2}NS6_>PDgkWN@^vS;5toaH*QoUI!DK{i7uI4cj6A=riHAvhM%rZij+2 zphret^7uKE88cmw;LhHc_7*W!b1$*X79esL zIwewSZ({NByBC6wkQ$HyzhGnYr=ma+bM5Jv?uB1PqC2BpXVHsKo9e-|Z{m2ZCN8;T z(jrHh(k;%be&)z*h+{0Ru&0Zod^A4v+y_r^`HaI`0nzh>3WXCmuzJ=xigbWGwB`Pt z}(*mmR)3%Pg!uji2ccHzHU>gorM2yt#NrE-mO?QeBN2CL>?VmGMzIz{GV& z4y%nX%+8fB)?%_H&vF`)%CQ*BWH6Bn2pQ|feHNE6Y+XNdire7wN%XVUmGx%4N?jvl zp>8Y1NaH1QvHgI*ZG%v!`@Cdh*AP8a3y1w7OoG_sqBPIT)P&1mW=us;Xg6h{`Cd(=NW@jmhwYB{-m?@td{Q168g32@VdHhS zyJt@R@j`RDaXMW*UZMswdJn#TaodENUeizwn*FHo1%LtVoOlH1Ob;=O& z+aBl%;<6-~hQDB|Y-{gr$>SFUq@0!mW1mi>ri>1Uq%_7$ehF3yq3726dCeyE1 zI|a$}le3RR|6t-G6>YtJxHZhFD@_dq|B4iL5$Fs5je{>@yB$`^m7`fU!wUJ^BAge! zernNq z8Rzzt-rPrI+`Z@e$OC~6z585tV4<6Md@YAP1>JwUZ9eFWWuy~*@~e@4%YU@Zgif=1 zDuvnkHuX;I$s!Uo(iul7S?>xidp3KK7278-?Jf5&08A4K9x3Pf7ganSB?oh`6U@QI zVT6y{A@TBSke)SPRzA8q1{8oEu9$<@(jv zNczUO$n$JQ<8dv8 zAM7wvEHgBr7>v~^8O+onc)M(Shi5B5bdMY1JgvhgIiF+S%6DgcFWz7s?H^aVIgL+| z&n#ZP_yymSU|i`(si?8BAf-4SHbddfOmtdgVdfyW4CpQ4-3;UItR-RBM#UE)!r7Y!%1(;D|FQG< zO9Ff3$B>1+dB*P_$)!kcu7FT>F*_tdi* zJbJazI^6zi`+gEC0@-Z!C}Zjp>&>so9oxARZ@>Xv$w5NK{HiPxO&k(34gpi|YVi>! zpA5+x89$IbFJ-HtJ2CR#xE4k$JTr+-A>qMp9jp*w6RzRvmE+z|%271h+u=0dAI%e- zcXAk~Ld^=xN+vj7-!2ig6RWLa)rh_B`;a-QoldAFPW!GgVO!L0_Otv@QyYzkSh=4t zpxba4ga+$?-YzVT~c2{dFP+q=X1=J zQy2Aa+~PVtgPszvaLKiBs@b}-^WKR={U7@g2aOs`u(YI}-t!^JG1r>X9XHSiALEI3 zd#>5$R2jSeqR=%v@nP^W9`lyF=S*h$p5FX`>&VyT#~pwD3}>k}`{~Ov=0|tWzN-KS zg9X1cFEGvja9g%plHB}^h^F8zE#uqqH+8$Bd1Q{>DrI~1Z;_AyE^(0+*O|H={8T+s3^4UY9Pj34KEci_*?k98IfTjGp`WSSIE3 zvM}j4ef;0fnsJYu5_rH-C1}4Y3=YgJuA8#8RB#+U_N8#b8BaBEV^Y@%dK5?w*etf&4yXWkDQ(6f*H8EKl zwYo~FEiB{w;tTHWI{m<(cR2a?8^;#FCz0F;A`xy4Gp#H_i|;U16C)yZ^C;01;S)D* z=NG?}P^)^&8KOvIm{3~!g3sFK0izO4)bRJxuF@g46J0d^Gb}~d7v{XzyYU<1>_>V1 zE27tZoo=|zG~r&Fa~*4p&)F`?YK*;Z`6YcBya@{%b77)qoG5wq>t@ysaJ=m5N}Oj5 z-R%}|%8j#g;EJFrKK}zcuU8^$Uba4UgSV=0b~)UUq~fI}f^^*t3!LbEVnwpD@!C{+ zpn|Vk4_wKij?JamsZt+4Qi1Z2Ng03|OYUZ-~fu!SaI_(YNwB$fKAG%x94 zfVWfHgX5yG z)A{eRN9JNAW_DDkd4BLH)G={Ia_)X`kHqlgghMQ2suFlnph~le;0#)x?QEnfpPU8vvPBVsD zaJEg{JE9uL(mAT-=moh0pFX{_L3Y~V;$FD3^*9ImbYWZ1MDpGPIub`}MH-aj z?)4SjsldmrI^0O!caJU0t;^j&q<`B9do~f1%!6{rEv2KnupeW#G4`^4@JclYdvt3f zaA0>>boY~_BKwn4mYdRb3YKo0Ns9NjtAYklB?Ux5JLAxKqRA!M_C?yKdI@i1&VqNL zmaKSDP_|Hq7|U3=4}msXjehF!WknVC8Qc$;Df5+1cv8EwqWXNc^QC34{pcBwUHYBYz4Epjc6Z}{lE1&}OL3k~{%CTuuGz3d^e0== z?a=RiOlL&0E1BNy#>Moc*q0X4SzbDE{a)wit3nIoO>N>0G|NWKNfzAv4YAjCvb`=U zm@uTpwk?#z;sMnC&2d=s8d>nH>rptT>p`BbexVk(d_r=0Bh?Qdx6zD&)Fh?%Q zo#LW@gc5bIi&dJ40QB`I^!Gf7b*;?-J^VK3>FPix;c1?8li=7MI4fcQJY9&ZFU!OL z{(93rSgg-sL*2i(X5CK|kpjpo(R3`S>I$zNl=Qjh$x_2&(iwes>b4&U4o7B})&lT4 z^vc5oMx!CqTgKeyjIy=y5~;|4Qb!TiZ<>)3dljr?NZ@Ixt3O5RS?3JJCQ~?&f>_-v z42YRJ3{258Iea6ngbgfewrk_t(EVRW;)s{ z?6c8yBkfkI$$ioy1C{smZPUxbEo&vbH}?+tzl<%t!er{H7PJcNqoYQM080;94C6Wl zGV!9%)mWtqj_JdJVqXXA7~MK_Uh0v1)5-I^qN~$ULY}}Sf(9<%uG8XJI!?v5A1T1C zyxp>;@$zX`{aW;ScYy9%f(^WAZ4yC1&yF?Ndz9;L^$cv- ze{h{-1^?-sy5fcFdZgrNXx_DNN?vw5spXFvN~I)(rAq?5M+V)xjg1?OB*MayD5rWQ z1lSc%mJ{aYD*nbhTFHqc-JJgpNP_>HbHF=4<2;XzL7L1GqmALBuB>&(wRwFX5k?}u zM=aIhdluHL7UREY(ZR{4;r__>Hg6d+UprlNE@&9#zv z0_IHz?{ba}CcD#VHvdADjwI5ahpA*daEl>nct>MJl~8~dG`@(D)motfXcfkt zB^{HnJh>E|w`9))<2hM~qw)D-KM50$P}XDq2VX}o`D}*!o+Qry+Mg#?=Y-3J7ZxIu zVMLtOJfK@;)@7U?NjS=%(F6`h-m9cn4Il`Hkm;RIkt5XV7ty0!=+nYT8z5Z%;sD=B zb%q|RF;I9c$tx2G{o9S7xkclp#nRPj=)4?k^Gak*j;>$86SH{rcFFR`KyS#{g7K`9 z8FwHFs5v%otxeuF*AzNFG8}4KO7*=LuWXV#>P{M+#2B$%qHWGSBJXhBe2{8UAQq)VI1CFmob@!5h+K0hm-I9 z?BnZ*8wY+1c2BaeNu*%N)%LEXsJ*#44LvmCG8^b3`HnE-CF6-u@Tn=>n4bJ>=x!Ll zlk{#v`7zaz1tLjZ`R+o!e(42p2zaz@dh^Z3<5mfbPW;q}$(vD~Rip?5Jw0-f^a`!1 zP$rM9&;3#$<4o;?z&8_!=}UMEmSX>q$Nm$g@3|Mu`7LrA0n)E8W97|!y;tJ+2OcVI zsXOnFM>`dfuK>S)wdL^CBY}na)1YQ83FDV#Fhe}mGKenI%S;l`V zOqgZjo@{(!-$Yx^AA|qh0q+_zIx4Rzz`Njkq2JJVKnV=Q{&jx@Bpk;&H0tsHBjgJCC1UQi- zO!TmlSz-UI;B#@`fCl;ju~Fwe*mwE#`UfdA3=xp^oT|+SyihA8G4(~(-mbFANy)(Z zZF5PDw!=C06q`jkB0_Z=Q1L9+84Y6r@O#P{?2AuVPlr133(FvXdVSoA0civ19u{7Q z2E)pwO3q_OLbixudOY?BWNVDisp(Bp@5~mk!U=f6F{$g(2TaRbp~BI8LI)+yi_AMh z__0S8(CY0y9md@JowwFy67*Iz!Kb9YV>ZgaH4lu`JX!JUj02$GeG}-vBjApA;fiYm zoRB^wy4FUpnlIL{h0=5)el|#YDIF9lC3}J18#nvhw6^lQ|5_z|A-A-U2cp> zlE#5JHPU@Vy*zN^ zf5?Qr2gx-Yn*D6$qZIXT!3V+WV|_1}@dh#osEhXKt%PhZOw3(Q3w5yE-PyDh-0eM4 z_Y|7LU*M#f(})IVMj%2Y65c8dSY#fj?^a4EHE)mSL%q4?n{VYu`9X0;--jSGJ^dJc z=MdYf+zGK=Rm%jJG4iXytMpHiy42d6O3obUU*+fNx^792)ld^IEc3C7r(a0M*`rcw zL5P9xT7x>K-C!V`~n2YAP@TV$rJN5$R9`L zdeWGNT9rHPY|7=b#5a|Scl*fb@0wgYnPq=b2J|1%qnvIcU*s1LY^r>*&RwN#LI6}vQdLE?jSS=%csu(1)%s9!?7U~F;iBRiykVmsp zzrXalnM)x!&XB#(bhbN)$8(+7iqJ#YOVpYf z)HV$MaF(VNr=52A+7tM+Xj5S3JSa|w!W2Alzk?3X^riugEa=e=6CrSg@J?(0&OBZw z@vTR1NiJ*l8*_)9)rU%`MMD_C(H)6ab@N3iu~{>pwB3ra3m&XEz1fRjw^^)*Ho}rs z)4WRGLH!ySWLo!a+i#Iyf9v{YYJ`(-4<6O2)g@V8E4@%tKnkslc#fpn0cN&V75aOZ z{oLJs9QsgiB)ROyL zfz&aLvM2uenn0AU_wiNJ0I^^<=uD@ZK}@gvms~#Vzu?OLGe2yrF%l}m^PR&X*pnro zzuHc-P)BL7d&zQ3-t%ca!OxR4y?O68H-aPA_4OJvE6Y8ChN&4}zdSmU^Sm^z6=_ba zJHyUA_N95?&Bnr2!e$<>_oZ0ISTRj_Of2X^BTDG*B`-an(p>9xacvOKh4jxL{c8Px zMsl+qDRTCD>&^~7IIx;Eb>u`a0WY;oqqUXNz2QM759ujU%EHl4#hMzLy#|R}jFg%r z1LHS){H3j&?NC(#-ce^#P&HkAzTc`NOe1Da-sVNQ{+##Eho|w zA?BGcg83Z}$Lk7KhUPn%qTy}|%?B+dG=+xIFf=6|W_Lhwjdgf6dB%7}jaN-VJqde&_Ch=L;Nbu#?6Y0%O zcU=7k82M1n6z*P^IzS~}qgUN>PQx(Ne&91lKKiTM`G=TTVK~on=Tc#~C9dN!F{(gI zae}dXjoJ`oYmnmPWyFh;VJ`uu+#{Xq`Z|LN?R7mOnS!jIfh6b^Y{r(>M2`q4^*h=Y?y z1sm8^`lD9=E;q6pVdSF6J@%gl2}o}6o^c|Y7aYf2FDjTpXgjT4OK298No(TrNhY#Z z=zS0h4fr*>ep%^W{PC^AuS+-4IRnT2XbAx{Pbfdl9CjB)Ca0Yh$u-(%Y!#{BRtIt| zh4Y6s`1~-x?^Nh5KRm8a61Sf4_R--1JW(KV4<9=-%{jSbR$l!F2%lno) zL>_7ojc3p}!v<;m1l4W1#ve^*Ma_ttY{qaIcOkILU_d^ELgZ=@AEx%SA~DuUC8$KcJ8C6poELBsPKSHJR*R+t)by&}cY?7sUxfycPs$T?kiC`iJ? zmA+DlxqNir4}r36JOZLw49?4AJRcSv{%m&_v^>3{Uy{EZwZ{CoLZ3UCnuX6#f5zxo zdMRWizQA_7-i1LOf8-G~4)IeHkZ1Fq8LEC{ue|e0YMkMlq15!MM8qw{82Qiu0=$yj zav!vaGd;2!M!(VYZ&FZ!jY7SqkuhrTbi=@r9wRgPABE6{~f{$4$kpH5LJ5qrYq-MrNNK9dW z^{_+~i@&*L*-bZbxK($3L08tp&*^xHNZ8a%U8WnYkC>(vxynh4K5Xi<9!Xtt(2$@O z4ig<+r{^TPIJ{nz52G=NPl&0lP!rDaPxG5zQIA_OIhdhG$H7N4;fg|0;e~hHDszcnm$&wt8~feU z*N7OOki{z|jo~nUrv<_?5FE(;IPtAafVZTh2Uim1`(e>GaNn{S0oX(eQ+ZCesEc3A zg@W(8wgWy`#dsC?o`{i%7sTIZFea?VtjaTBa#x2`z{3KL+*zb3;8I*@Bbi%K(g z$Aezcz(WGvT(7gMuHiot_3VkQ zHG%RuMe+38v#jcG5{>p2E~7QHi$m@1$k{7|dIp(M^FkaiLs|tElMxNa1%x7BolYaL z9a3}SJqkesxa9=USkp+IFJ_8qbt;ESYJ|f$*KRjvKZ|GR<_e3Z1g1-67#$KDQVgYz- z9wIa7gi4r>D4o$!)Jc@>jLxjy%W>m9FW|lr5Pw{tbzouDWe97Qwg2^>rVf|`D=yt%B^ZB3Q#Dz& z0tW3ftoG$I$UR>*$3p}`3nE~tr_-H7T4bjjQC{AiYX0*&h_UZJ7N=-Gf04EV=U;TM8 z5L#zSUg+lcDFsE=WPKAB-f#rUX6Tm(IebAFj{I7ABMWnts9WKHxkv3J@g4zo<`ZCW zmY)O9-(C7?ux6(GmrZg0;MR~|xBlfcN7yAz^!cJN?fu~-l;K-ig7VrU>D4xxdtyxskVRxh+u-Wn~evB%h+&@tVR_0m@ z;(AWei_2n_^hfsN^x!6km-eIt*8uf8$7AJP@a z2xb`jo~G^v7SImQE*WCGu_e6N5^FYzxV*GJz32RtB?Co+9S!z`StIZSE;s)$uUlq? zId+MG`pqbSx{XlSfhIPjI>oH+6(Ow>7F^G(^_r}v!Eg^buF!$76T{9A|4$Z{P{Yu+ z&))oJcz67;&?E&TJZuJ8sIyq}hVd}K*Frku^kA#8i!3<`U(*D#B4Z-tvIW-&aM2SQ z;*L0~BLLgrjcjPF1v>zfoo^2bg)MkH6AcRLhRs{D!O0@L5SYzn)Akji3#D3klE)ydudX zs3&iM5u&q9b`0S4^8?`D>wu9<0gx-N{F`wynFaPHr;k|TX)5Y0@ZAL9iBZ6XAd3Y~ z7d&WY%s7Lk1F;yYEY-0eah8(4yYf5hJymM%f=vgyjJ*J!1wCh;4+Maw?5%g!%4aS^ z>Bsq~A@ye=tr^^(ViOgM6b8Byv6(@iRw`{8t9{ROc4N1yqXB_mbay0Y9?Z$xI{N5{ zyVp%WUx^~v@t;Z~ZR9_cCeXf|ci(jtCWE#>E~Gy@vR_I~n^qHiGOfl&g_MUgsu;)K|2%9Pk)Xg zVQ;-^JLqes;oHM^Zqed<7-{lCO-+;3`Q%)4HOH?5;;rx;m?p;KQNdYv_AQ$+;eZG(EfNNNBWAPY!WZKEQ(%%sQh) z>AG}nr^t<1=B*yIkkCeHqc5}%tn;llk70BOxtwV0M(nIwp0@}RLAJ0tB|47cUm0}P z{A}-g-j(4Pnp@cdtA1P|4!I|QXELxW4LexU zTdIRg%jTwc>Z8@79!$Ud$9k`Zg}*&?qA)PUDr~z0Ez;1KDjK|w9Wv9zn^ZAPl-zV- zJ95i-c^-HiJ3+2VaqnY-Hhubjw0aT>woQEsJ-bPX1R6071Cnf<$DaBbo=YFNIK)msx=3;=N^ScYA3a&>Su+{D^glfR%$|+oZm=}Vj(TJjLt5GX3yiR9r0o|>ZAhW#)?JX;N%R9-wSqmX?3#JYjsLLRmm?rI zdU-%42eVXsqM*c)=zk2gu%+Hi?f4HuaA=C@M;Dme7N0uXou5FGo@>&AlR4Gfmv z|9^`Paj1dBxIheu^3(F_wY&oQTEoifzX0DB?OrcWDjsSTr#0IE-Z_AB-G~-9)D#FN zdg#_Vmb$QwsQ{^qb}iW2F1~V@y1#%q;JHH$``e)z5>o*)e6Vh%0azsaVR@9=de(*vR7XzxAIG~!_ zFohMd6ca*1!|?4nkXQmR{NrlIS}!)#kq}-A->E7b(o6?P+FDN*8%LhrzxPQNLIH*n33-)6!_}k$fmh%ICRN#O)tz0uGuEgz2XQx8I`Cd&yKs7z| zHqI3SN`(3#Zh&@vtpMLc83uvr3T~>IEniTvKXCf~hU4lwSlB-j?Z_q{?5O#891l^L zGYK`a^I}jczsM<5U|$$ZdvzlTw3=6bY z+n&r{sl47n0`0&>g1=;vy}DrN`Df8!OLXqie_kpp7+p+1shA-x=ks)Nwb z&%(YwtUr(yJ{)|TE#k};9cz&&m?=f4;>8KaCkNVBrT>a%L9rn;Adv^c;|o~Tseg*>p0qyfqJ1dF33YgOlqSUX$1uYC>tH=t4K~@^Se{p$B!9l^nQs3W# zc@`eIX)-du%io(Na`-=^mJJ0Bd`q3)qQG{LJ*6*tdCBmbYWDYS+bI~;OKdI$mrsq& zxQGq;e|)DAM|$Qw_}=dmH@9s|YsJZ=DMjnbInj`u+)M#9p!B~{a>?^4kaeQGAe8c} zM>AWLtVtWvLE6!OsZREq2Gw`h=ns#iQ9%QI@U=3lM>&)D_19x-a&$EF!mkKrZt+d% zUP|+#UgA3>a2PGXAtm%(X3zlC##*haWPMt++_)cCj%EIo5iA(sh`(b^Hs}5h%mXm* z2e4WwHUpHQxmw#db;c+pba=A%Q|x{z3GtTrk$1T zUIZL^cm^V$t_It}M7$0y=T3feD{*hL36VNh4G+3;>| zE9hwN?jZl9Z6c`PF*wqIlylQ&0_3)(^#c&44DR<6fE7TdgO&cGNf6xt;5RFeSa-jy z0V*l%{H)2p=C^DvEyX&G0a`Ewt21sm-_Qv-=)cE|Hv=F+<-aV7HxpbW@joxh%n&4# zA&U-a^ibU)vAn4~wMzi|>hCyw0t3wV-`8{)2AB*pV90nJ5LFL*YHuASoyIQpMw2rMqC?Xx*0bl+GBK^Y7 z0TE$Ry|7WUOu&Ieyg|ImPV=Io{@c>Hb%7JOT)&@h@HC>VzxTHsJIo1~)aYvfWD5l< z!fVhwLqFbwOR<tqIUP0}!#m zMCYxodGsdnN-X)%l zc@QVODbx0f?-|vh_;WIEJO`eRRAk7!@{ts0unxL@f^ncGu+uMI2%n1afjJjf4_8*D zy4dsVQ0wR4e_W$H66H~C=pZbp<>M1E8Qve=HTiLBFIJ@w^U@&9q+`Cd%XKb);OgY)Jlztmx$9IFW6V%@&}P%U?Wv` zU8e_@kd=qSPQR}zsdLcbQ`nfUYi7GtnGnj@Zt z0|oNG=bwg0rMAn>{36x*(*Hx)q4W8RzYt(=lWsI(867k_b~n^S;-?a`mU5GwEX(~F@MheL3J+{KTpjPA#n zz{pAs7uJctjdy9)ZN8lwA7?51jcGFf$D>=H7d-1%wMi)QRR_Jjp4+KjQ=c!=4&Qxm zQz-t^Qf5kKknPLL#i@>7^yLgw*!u_=KAvGiDLJm5+w6q~xWxo4$-jpOz}b{-*L@$K z#~^&sM8iqF-E<|Yui53nrwoqlTs!AG7Q9hccGbm=z81OMj@B1v*RhUSVk35%G(4NioncZZap!ztd;3g% zVSrWgy`Amhiv7M`bt3jh4;r*28FLi?M7IPxO`SO6%0#X6DCB~)QPa~Fj1vuN_pT%Kg zo2BhlQFT`9^~#f_nJnj7TAds|(Qn6N&^{|uLnlnv?Ny69g8Qpqsr&>f6GcS@--%Lj z(6I!ve=#_-o%TgOalJ{m(YM&gvMAfcCyKC$?}QUlO`CIVF9!hEZ7ECBt0Lrtg^crE zHy5!kU!AXOT@G?nlWmrrflQJ2f(kz-S>*}R6oRAsWce@`Qz+10_nUS&v_e;&e^J}h z{4uAjlXSDA8StV|3rAmrzTj+n;%z zqZEKW5ZM~1=B{d*&hLS_-PB>wC79y2Mko8SCNuU%aQ)>U+NRQAE|f%xUG?7@mSYBRDo8Ao`tO5Zhy4gcr5>fVNK@K7$yXIq-A<;LT-zFIz{+H zoXU@K(Wy7@C1&7l?-oBmp>g6jb_VS)B=Ph7I8x-qlDxYF*7F2Y?xIDvymx0w;Zx~P zIhIT`fVQY9Pp(@`%yfZgp+hl?S3Ud7?4I|Xd(}xpr9WTRjH&u}P_(a=CZV?is=g{3%MKdwBy`0$9te(kf@+!y4Oc7$D*-?`A)Ti< z626+g{^g^{^$00Y8ghl<8Nath5B08B1iOUk#>hU5b^VOjAmfv*az(aq{x>|*T4oXm zl1uUSc_nmq7wC_DPOWE0-?pFdV|wbJ)ojq|e>nw#E(o6acsa#QHoQw$ zK%0ax8OwA6-aIM75V0jYH7iCduPmMSH#A_3Uc5)2R$(xOCO>?e8(!ut0klWIta(?u6`%G4s0YO1z zpar{D*3-7e5A=ItP8&s}*ZV;Z8FRx}z;FGpSUBKLbuVeoWcr4SwfzrfM;jx)`0v}W z@65@IK;PKzsjK8R^=%eq*-M2NszlyxzV!k;nHJ;OVZ(*Ux(;vvdRL8gI8veV10MbW zb$=9GcN!i?rV!qxzbL_KFlK1GVM;D@#_|zQ(jXZ3Mgjn^)#=+)9>#xVzuS_2bfW!7 zoCEDKTJ>|rwt??6f!#teU2=0^cq`KA(Ml(t{djojyZGjkDwcrQ%TYZ}FC>gseZa_e zJo}z?_QL$&Dfz$}9Oa)pUsR%eY02tanO4_O$Cuz@36qtIsg+s1NYYLb_#fbJ`i;}n zgTlEw36ICQ4I#L);)g7kjCfi6;ZY`rFf~J;8>O1nXV$U4tBPx zrWynZwcW0Je|}K8mNgfyM6i2V?|4->t;T<86uBfj__Hu`b98B1H$KJIqQjvo=2hm) z+U#8nct|XE0+viCPKYu@_{vWGkve}QXUNCW1fbc9-d@_TUXyEo-yHbSD(|9f=Gu^5 z`0gj()n_l3OMp^N_kx)+UXrx);pNy)oZ~P}Vk1>@TT$8c6|w8`VauVENq`Jrxv?kw zbVr3ZXDL40HY|X#_Ls)zY^ym zHG=0<>~e8p`BoyRfm&UzY5fsa`oyM!m=R~?pGkI}FI7OZ2#*|aVte?^388@tKxq?d zesL!`&YDc<6Low}hq-vX(TQd~iD3G2c!|q1&>_v=^YSh9k-IGFy-gq7io~ciiFRof zP6K769l&$Ed|(q%>^x@_yr-qM!4JSI2C}`05)nHje?Ryt5Io`0iFB7nLJk@dY-SZm zBO(&(8D#z2ClMkdN9*-jU5<^BxFdNA?@?GNH5*h4IxkW)GD(e zwXZ|XcWWz+a?JH>C<20B`N7t`w>g)-!jBH!cx$Ij zhzLoSx#ys4bd$-#*12_)nlOO+U_jo*gg)bEBKw4QJ0gQ~-G0jC288dh7HjU5=c8{p ztBA(ef#@V}oQ9xk`Kg}k2I>P3g$)Rfq{f9Z>ap5sjmUF=87eyjDtAV7I|Hc-e5%DG zH{J<^b-CoWEeO{Yk2Q#%is)et@OGK)9zyfw6o)v>PnOp3-5s8SSN|Q(u(Js>LnQu| zS_5@)C3nnN?SumrgrZw{7f0e0z=@eBV=oX=JRL_b-kezcNO$`3q`p95eHOsuxsw1q`PE4*GB37Ug3FLtEoikuqjX6kGDhL%&_71Mi;RO16yi0tA(M@Mh!PFjPw zNlYh_qFD5TzRo2!#L4uIt$bMKBSrDScwi+oAF3%`TU1JY=vcKov@2n<2*zkpQR8!E zowV#0?P__2HR&iY3DVatqGTb}=VM-%-t`CuoWndALJx6pggaQ<`(m9ebML^(uEWXU zX|cbpnp-@{DjYE{_f1u&tt1O2l~(j^aEcJ~V_NCz;t2|{%9|u$>k`5X`sSa7I(r`* zqFaK=0e;zXg2`Oxzz4EoOI7O`Znh2S#|2{iIQy4`vxDL65I?lt%_R_eoZzAm%nEeYdAfh#eoRwiJP@4$8* z6qrZDi#k(<{2X%CIPA&w?r$Miz0O!iwj?xQ_>FsiWN@OM!sj+Ok!A^Ih~ZN(zN zJ9fhS0&kZ9(y2D82_b_EEB42!PUqf5hKoPGIPpNHQ&x*Y;A9Uv3=I=uO=-5khuWwn%bkeCs=XJFwsa>N|6hA=9TjEwzKf42pdf>Vv$-M4dx}77td0T)KK!dPKV2hs)L0lm?C*sFhVbKC-TvxX;z%SnhwCLp zQQnnzMr#`*UhT}nZ6Lzo+`_tHBAJAPS#03|WGP~(z1#|EEMjMY*HGnbLUpOL$FCK| z!9H;atD(%$PwNKkl}4$<0HGi@^QnIjPmLx-Jcic)O*~VE)$1V!@jKZ%*Hd*@VjerY zsdqbn28+J1ngQsi;&*FPe{<7A&N>q9Y*ryI2U5Ok|G_zR*(aV*$!s!xBDoV8fSQ3g za+_rpA(h0^RGxSu;Hk;*%=SqX%W;c;pr4IDBg@1js1i{A*#l||9#<3p)N2SC_?}0` z%SOfiT?e$q_saxw7qL_J_N49psT-pDGExpZh5LUPMSyvugZ2qw^)pICKOTpjzmcM5 zmG~zkx#ynzU|Mny{iRX~YIQg^V9IcismD|;FD$oDS1Q*CvsV!q_V|}1op^Dn9`k72 zq!ut+#{u*6ioc}IM*Avw0iRQ^cy6_Wd7yoaJwmu1Q|11y zAWN!qWaQ=3pD}Lo#ksM={Jw#;bXcAXucd*xuQmL0NWoTQ!Y7%GXz>UB*?@gM)f6rK zH~WCfEMTOHm{GXUVO`@cSzJ3XVLBQ$Jo{Rk1a|!_ltmpiPpqA#$DXm{|19`}-$mi` zh8dcwUA4Qg{-angY^MqqXHVr(Z6X zeS_`aM7aDbRQIm4<4v*vzX)=j8AIm?H?UEBLd<-^WomfVMuhHB#difviq|Pv{1fF$ zQ23S{4cM_boozXxf(fNXR-wnfoq}gVl8%*^v+!7lAi<2dMV=fz<$CM<&MSq2QkmHD zIf<+96U0zH3MuAb`eXA9980K)b?uNY7$+PFIj#L!m#0BqbRp>n=x}8dO}^qxte2gv zk0@*;%mNbsd!WR8IWQ`fRSY!dewMu0ESNJ1Jqs0e-lG9-XZT_6?9}^+x#9nFNncn(>*d5aG zxBf;~iaW65UtN9hQZUagY_+s)S>i9;uxx-y_rXcko4gK%`e?F6fhx!jL76B}o6>^1 zconG#zt?DE14>&JX1H*b>xvTNApF5PC0)Ii{u{JIs~snFI2a$hm!uz zOyVWvwFcU_fY%s5CS4IoG|oM0FTcjzO2Ev;MC0Y$i*X*H?tVjcr#Swo+ozo6t(5aK zeUC;J3SHTj|B#CIyo;s1YxI{Bj?=vMUUu?Fgfw}!ALWBP_1xv+Nn^clik0jy3oP$o zi24&TFc`(L9Xe6WIo~(!YXPqe5kmWC{2NorB=^L<;v}z&3^1xQFCq3J-DGPfw5Pq1 z-aTdyVN#F0Do5j7j|clX4ZH>P?k@4R+L-=|h*A_K@8_VFcegJI-vt1Av*G$Wy@v3U zZpv`&K-P%9!bdjUtjY%?IA?O)h%|O%_}&?qVK^ibQq?|JciesmF#?MkDhbS2OJyAd?z$;P5_0dsvLeS?TXVYq9xd2*#6n6iL-G@^!!CC#i<*F%rOIw0j zT_+`PW=PT*d*sFGSibu8SvBSwKJ)9C!SCeLhVPlKlE+a&HtAGk_K*HWW?<2r|B6Zs z@MppmL%p?46XXwYdL=VIXzU1B6Ho+B=po>W|JG5r2Ll^epHW-bB}Ba)8~;QSf;k<0 zpyWFhU63rnY5VF2%!lehoCelUyf0CGt@*9u^+FBYS)IA)Z!^IKI`OZDWHaKXavS$q zTv<-Nbko=7km)_MPgNN&27pynvHu8ru>AQuB?;^ewA<*%RlM%v>~yu%o)&i(3beHy z{iRpW7haqJEwh==9RP8t*SL83wZO${%%8I%t$*8EbvVhon6G??s$0uenuple%hW+G zj0JD9Prxp{0?pp$_QVilKhjDeJYoW^loltHfa^9%?&+mtHASig>L)Rxg*+H|M7KpjK|!-Lm`U{|Sp^EqGIh#)HT?zaBH zC-<<*xA%}{#jbZrWJ1#cd-PN&lRCU8^e=qLZRh*AT+w=6CZD zyp90PuncTW`!&JNVO9V3L6b_|r9urulJ&diRhQ1pvv3>Q-Lp%pxq9xZ<|~=3JIyCg zQ&3-BuaS##yL~&w?H8ZqDMcNU(+EYL6X(U4)w$mLBZ?X8ND~6{d4x z(!u?^FC0SIGa06RwW?Fg)$*XWpZ@?En6%ltro*zSs;B2^yf#90rA&^9XJ7Ooet8JB{OMw8 z&l(&c#!v`YP3YUpivxTdwZTEB)VTj{qo)xssb@KU|FKO5>U4J?*g!FTEiVJR&A&ks^8VB(u@oj7FcJP_aTb&JdmlUiF&}@&@XLwA zq&M?Mwt0j1Lk>FT7p)5Ql_f92YEIO*gRtK`q<+2f^9OS6C{f&fM7~G(f(tt0NmRjX z2f>IFlR2KeL`LVKc&zNyy6~AeT;vk5kRM%VRi$WPHMKvEpRg?VerpV?-+A}G zF0HxfRkGwB)Qa!y-M|Xrtvjd%wS^Trn)>K~w(r_+1E{89$dU%|djuM8#=#74V3*=W z6%D*jqO6yXPmbfm;jrJlb;w_Tuv)%qJD}O5kG0eJbprP80hHA4o0U0+Iw4fWhdbzi zlIsrai};oB^A~46)oAUZXE*He(Pa~WM}z3DakTCVRjj79&#D9DS91Z>gd}T>x8C{g zMknF2tcR8QM5V=O)g{FwJ}1v*03L9a6apmbVqg|jVUMeJ8nn! zw4GI?Md5nbB_vNcC%G~h&9lbZ64vC_u{W!Bk)vGmQc(d(yOHmx0&1R&GJ^GiW(rpCPNT z(p+0%DJ8&tvO63UX!KhPsm7;rRL@rG0xmxy{=}35riY@L@VlcBjliH+c9f5x{5g1oebV!cz&fb>fF)Xgc_?N zql;d*HsYB+=qMKy1vt}gV2_8sM!>-n%>AqHqs4Ff)ZEx}K}#&&<-b)?$L2WCg^WM) z@2Cv~HeuK}lwz`hkG$AL6f{in!=37raL;=_RM{s($_r3eyN|o78}EZrZ6@j+l~;Y) zYA0L)WQBD`yEeQ!<9PpFa2Y5)#(8{>7`YOySW|6@;B3cQRh&3Z205T|;3H>)8>-2E z0~gat9@?vMrz&hda`6e<0L$)Ij_Imdi)GcvORu|n%O?gKO`_ecwh+&j9!;W|(85#c z+aa4BW{+=t{OlmZ8LdDi2WBV$;5o>60g)v1eT56TPRN>Xn_k3J8ntZjneBzAv3)mD z9xwmZJhzHW;a28W)}@(Sgwb_9@RnqTC1MHBADnb%MMlM|16NR|HifQ};Jq2gfQ2Ta zvY0#*xEU5+2v^?o`Cq!xxpPOAO$WL=On*2dCUYo5zmC8@fyv%zA@ct3T(3h4=!Gb zk0V6OeqQro#>IDu4>4Fp*`M~|lXNpeuB*Uck>3H>Yy1J&^R?L%$3{o)dmzGGIGtTX z;|0k{voe&EJF2797J@^*rcoxrga2lBoEt_^oLsg0VRo7!OP+E>g@mLV>r*wl$1Uo~ z*vATtOI8{3Jc^?Ei}`CWdo%zSgh29y8F6I%w#j*w<2$giOAa z(X5;Do9Nv@M;zi0`TC&`#eC~5GG2t-6aK_j5v1i=(i9!6h8!x0_5s=rZLXMInwUS%=eZ;@L)grp?^9nK+n8N4 zB6@~?SuGgPYt*$;zJaB(ugwY8^nN+rH{l>p1Z#r(zb+CZ|&BkX2m{?fD8BUF>0#DuQC2-++<<8rGfjTz5K&`g-oPzQSyBags@vE<7k zcbZHoH^F?fZ!hqP(PH_vwX#>@6Cp?muKQFTmK|*7ayzSx)eUs}(u}~Uqy;*mkH?hD zM{eDE0^?9~gKbh{>K*FsSw7OmymBKiXV+T;PiMcjO1IvT3v;QylUWYt2r%;Fhds?^ znfEz(Yl7>0c%Pm0J%>K+1LunWtGr`Y21Xo2>?BJxmaHu1y{&?9zYOOX5)d!7gSD?a z`)-5x3~Qjmj1fF^+NtZu_Z5hL9h2?yOpO+o{&!}NR+}0*vZ-jKr&ovH`%B`!B1??p zyYZr+KGUU2T5`Rl2gyC>*T3wraDdev>2(@fOJ!Oy=1U1pwPwI{NCRs($TVzPhu4aa z`X->{WE>GKC?TLj9OvRXco$xX%uZF?t?dMwNae={Hj{{cVec$O%Abz%mPh`N> zAh2XV&tGD~I5HOx0tE*t<~}9+7}CQ*jf-&m=Z(e^1c(n zCcZgGLj%w5Z|b9~`PtsrJidgyIP4q$Cq>4bdSlEu)EgHD7*#sC=OlH4gJ?~=8{mY$ zzn>&>s1{b~bx#%z?1np-rH<~WY88p63wp{Hd9C2_4NiFH)xKS(3^`ZrfK6>|a6c%e zUuPh|$JuO|m$MwnbqjgoMk4o|&wm*GZ?#{bNRh<|VnXAUnWgJM35)q+@~$u@AiQ&* zd#hXsl8?w+&e>Z^da}npGOU73UXK$H@nUb)_fl&%FaVGjg&dYH#ZTPu-d<*|@_23x zp>L7aMS0{05)Q@^-c=ku_!x4a8XeUV_gW+2DXbX5n<-48a`3XzwmcmU%bQHGo5nwk zx|}Q`n9AQ&OE<-~w>K~K3)iN07Fv&90D9>m}Xz zH-x;M@VtaHo-kgOQGw_hd~;So#xC)TUH3!ld)@Yg-_(_St?iDT%csA@AYYOTG-|ac z-#;BOZ?V6Ryi{fuEsNFf?kdM&?^eNJ!;k^_rS%M;rCmUITtj?V&n9oE>g)~7@b{+_ z!t$Jj0gzPyH>j`D)%gyYM!EEeXMPA|1wzi*vDPUko^X`0WHx6i6^%y{bgBiObuM2& zL*3f4MEzW3xqrTe16Et(7e zL&ykHMfbpMo1|?*k_}=IIzEVXd>)I=!W2vF(fezr>KW{!5j_J7D^`)jN6oIWfF5Ze zwDbp$P+d%nGug(&)z3;`u{0&RPH0-l>C5`_0jIfPUlCpQ+*~lL1_iIzTUeuqeBEwz zfTitQVfxWjLzY6o!&E}FCM}Mc<}amfzI+fYzpCRiRi3u?jM=JEF0nl&^VvnjXH)DZ zMyy~>lWXiTI4P)oj36Et(cujhj-N8K<&4e5z4y@`zy4_+y%u(X<)iPe75Z)$_?N7R zT`s5hAP923*ty;!Z5MZ?QlhnWL)s(A#!_v(_4(3t`-8{Z8sdW|^tCKz z%NZ_9Sk3}QlRhQ_^K6-9UyC7acByQ+Vo0GMuj1UXOp2~20)%5%d!7EPDQ9sGg!Ca>5ZBOXVJf{px`4GpW85lZ95$n?|` zvfX^q_zoaJKKj^i2`}+rOW05b8tX9SPv2PI%AJHoEK#k$uR7=Tq0dWpUI&`w9{B%> zgeFT8jYOk+x?h+?02<;%z-zX?Y0VbFU-^jb7W?9083Clx$vvy&6Z-Y$Fs_NM_* zxFOSZ`x1R#ET4gTPU3aiUXFSGWwZLYJQ(N#4QYm3HH23Ne zZUm<~umM{Q(E&tL?33{fyg^=CyS);YFIiP0{bW0MD6O}a&u+yVsnnu-zt7>YH8yPX{%|czfkg0h{vKbLCgAP{wa2bu)vhDuHVtGzA zlHxrT>n%%*gFA|hPtZysOcj)$d*V)Y48D6x{os@m>wOj5)~Z&iLt~fv^6jOT;R0|y zx6oL`l*LkIhhv234q|Z@IjajDa`|SlVt2jV9<}#LB!tU_E&Pn^JH55GrWU>yo8N-H^>KP_!u4`_A9=4)#JhwPwmeAnZ7KhVynw(QUvq6hE zo)2({Z6g zX#xJD_&R3q`~IkmvR7wJPiyV)3XVMm8L#e@yJBXMHtJBKBFu#87ZYz<@zGpq9Oyvp zDQ^)vtVO7#zK(X8ckAvYwR)qTYJ;PXkDzlv6lq_|Ysq%B5c{F63$ue}EgaQs<_OX( z7k+B@BU49{BMg(g8tzS0sLY%l*^Hsxj)926wt&LMS#ve|razwEU~r!q-~n4t#l(%* zB^WM;tL>FtVC>bUl`;Qv!*YE8P?a&oP-dWFdE};0_e06^7cvBO=xq|zQIYM>ECus>nhI7vuQO?n z@S*Z+D;wDNu}OmiBlkCBdfNQmbQxs*+jzWROm=v)Z;49==##eJcJu>rm2`BVT9;1= zAdMDpa{4m0;tK7Np*M zI)&9m$gN(8T*Bq(*6iP?3fxAbUbn|NMQ4YOEPnLeO&0OGzjE4~u#X99FsUP-PT6;O z{Ig>i-@_a^e}RGO#AX5l9Q2MrjDm8yj(|XX$7;onZeU*ux&L0Rts4JZX^7EF3+;If zB}tx4iA!Ve8|N>sdLHqv%W9*A$Q{dlV*!$-*O$y1bBI0@ZP;?u%BH@n(*dXL5Nmis zQzL*f(JIl#1ii905Me>w+V9QvG|kud?Rl=K@)o7uM7St&bNBss2-rXFLgQBy$xGkO zw_raUi(PUQug?7ubA|NnjMBnsiigX(SAG*)W*UjpV!=tEaOizIN6td%uC@tZG6qp0?WD7 ztsI|dy!qGl=jzH^%$(pRl&-hxC1kLxW-9|ZxY&7V+v}& zm44{o%-o)_o!=11)URa%>7ZXAN}t7;ZMrJsP{ z*;87Wxh=^bmZvzNwRgI~Amg6g+%=u}fM=2?rRT3P`K~xRFsIZSI_8m!p+2@@_e=DB zr=MxlA3kAP))~Iw>MC0v67^ozxVSa4J=Ago@OK4s7 z5$Q6WyWYifQ@V+@vtEtj!3Psu4lY-#(dH751Vb?iN3`OEN7XLIS#u2Oe|;+}T`|Kx*^+rDgVACFQIrL{%O;!GZ5 z;56G)=)r4m1wx2l4s)9ba^lFNioL-<)gZ0A-xUm|Y`$PimScKYwI>_$uy60l*+IO< z)XJGMa&|Y{cZeUG=9_Wkd8lLOac~mcQ!IeTCV-R>)gxl zc*5qJq(iw6UB9v}`jZ34$^u2X?0NRe8>*#TUumCZxNY9y+s~i%i!HB!v*tTqlO3g! zn}7NvKb-rE(#EnIOW`{mObkss0vpq*4b_26t+ieg0d2BL(_fPgKjX&=qMG9H9zSdE zc^IeHO}J{8%y;eOsGGAymlA8_>YkcL&uqDh+yC4u+QN+j?3oV1UtR&z9({;e%fho) zJc_5JKZH#$ZuTAAq)pynT^#uxV$SX?z5bHhfq&}P0N!gNAz=6WtT=i9HHA6kE1C*! zLR`#(<915Zs?x}a)1z*aj8I}EUWeWLVYfVM!^_KiDsLS-l=o}_tFmo6z+jIApwno2 zb(*d%WZOM5EMxA4_#jO+{$4MSzL#xBYo&?iUWv%-n3;>m0E_97A8YG0gF|)QD(h5V zsv0!^jBwxe6PrP5(^|m9*ugqVMQMZ!xi7?+aPS6E`r%?e51i}@9SlbNQ+pEDsj2H6 zXJd#PcJ=vy9~@Tb!AZU=eW)DqEgXM4X1BYsfyLXu;D3j#;5nM6?G~)3?Of(8gYTp7 zcX9!J22%6yNvQ^Y6WjlTmv3W(!GgnCZi5lEXy#Vl#S~j>%zqFkh^cWsCyD6?^(eE) z#>ta;*k#eUOniJCyn@8k#w2_+mZ%dNHC3F(iiCMc+OC+zDxcgF1yJ=W% zp#aydTc$J>{McJz+TDGQWQYNCe+r=0IQsW%bNI}~4yLHZeDyH3 zkITvLI4CrjY9}FAnko;hUlVr2c+YcjejXG28aTnFctooJv1 zht267L#LzCZG=?G8rMlWt-jD!>cZAPxsnnW$e;gUN_S`9{I$8LoHQ~Xpj3$be6iDb ze^Qbr`(a2cym^nK!%kW_sdC@&RyK3*RCtANKzDI&tnwJAV>R2n6>1|ZH%$F|^<+r8 zOqAKr;7?8;sHC=>=D>;OPOgJU64>06oH8At2*llicG;$p&tYlQ^G>#WT~)3-6~b5& zote$lhA}pUAuhQi<~zA~GtqzNiputRl?~Y}meS2nCIXEQqlR5$5JAhqat%W4zT@6; z79U+=l8Tz0N|Q!;N?X_~t;a9Cr5t%@f^Ms1O;;ak>`A`Rz&j_8tG zt_pQ_(m}?IwukRYd9~`z^WnIdp55<1EgCr?g9WIu^T}jm+K*}wd|TTrQAD`nc2WC* z=MZWTQ7YTZcqYX6H0tt??niSXAM1}0OJBw_84*pI^`>>!V`omnZbz*JoQ1txEH#!e z4cMoZULDNbu)&#G@h!+AX-n>m$tc4iili;-I`^M^WGP&u{^87*M;}uC^z&Jx%({J} z3l?om@);n$b$W8a101^_l7qaB=e$c*RBg~-d%(nIp2AkuBoI}d5 zta5f#k?E0TsR>T4b-DLrK1RUdnTaysF&)&hBxRC+@YgmDxl{5_bCr$V$h^80#C&G1 z`sr)kv}_0Q-UmW>9tDhwme&o?K$>4yDevv7)T@J zq0b=a-^S@Zw_e=X<`K@am?Gy3dmU$L1htb#Z=@ML;-pJI{;3;c_I z9ZfFyZGpb(A7$Wui>ah`WgykQogxPI{W~=n!pKnQqmK=yF4@f}#%0$r<7f(psk8F! zUK5l<7N-x-3Xy+s4-`rdH36Tc0{c`;jKn$2k2Oie>!Ianm;~M?sckic_1&*^lu`ev%mME0O!$&8GRTrRDc&Xk3O>0EVyy1!%c$|}v} z+MSL?AOet{OV2T#>g>IM%A7GNGZ^Bq7ZEC*zd<-B@PZ7sdF2>YGx`IpLuH)~VpWGq zNU3*JY1zUW7vCG{tx2zlg>q3uQiSnq{sx8 zOXn<$w)}>_EN^wl5Z8*QH=nh&R)4}U9{zD$ct9$K31l+|D76)S;S)F%`WIoJ@=H_V zXq$ib_y}@K73UaWoh^`Hd!$fF^SXMaj^}NSr>9L73*%DmTgC*+wRo7EB`u=Ce0m~B zrH8jYKc>~(Icd;19>ekL3##p&oF7Dz$F+3I&vA*a`53c>=>PSxrpkhI!@D5@@g(Z zQ$U-RZhQT6MgeP-!=Vc1LonN!LScc=7{Iy^^zsu-6;Lq2A&+lgjRz&2i*yay!+O;D z$Mi4<+dr7ve7#c%rUAJm=I_?a9i`nuS<}IsAP9nF9tW^L!#nIFrq`kkVi>{#<^0J3 zUYMY&@hd1x`_hwg@hVi?b_qGV;x8m+Se5WTDeg_O2eeWjm{j!-w;Jx36Ene<( z>$$Atj)FKh7a`C~0^WVc8|C}7PGd(AD z6yoG3Hk0n6v)mI_`ipkFKCL$Z)__@rL8;)$^FN6>s;nfsuVo9gY@(8rJa5x}{pn!H z?%cwbu3oWvSn!?JMYIk}eZ{zu3pi%xU@+d>IxIE4} z^r1O3SU)*xHT6eZ75@0zSEQ3lOQ&KH-A88OX8bnGhCJ_~EqeXsSCqAZ;@F$`lK9j1 zr!LBBu-EGdb38$OF2-vXnHIkmWvC-|BY-(;kv;Jd=zkKOiJJNhx(%h^H zCz?EhJeoZ~j-P4UkU5$iZv_Y17k-iTH(g%->@8hoRK*>m+Dr&<3c9EMI@q(HOcxs{ z-!3Ni5piU;Xhuh^+O!ekRl0hxNEd*NSCJe!3&RR$cIGXeFW_vTr0OF~ih?88=uoiy z1ap4-(7|n*=*}I-$;2Qvy-?yBvgK@b`SdmFd5NR08&9bwpA8{!I}sPuMdfY+lM9P~ zY>4g+yUail5$}z=1GVse0332WZ8swZtR zA`L2bO&DF8$7acB)?dy*uYS{J?*G!5pyKuOG6VYe0h_^!#F2QtA=Fmt2|wz>J9TGJ zBa<%!i8T3laI@b5_@pm^Im9cYr?s-!;a_|FnR`N}w*JjRe12bQ2y6Qa^Z~Zf*w^Wa ztO;&2S7AK@EQ)Ch@9+(uI(NulLp^zRs_G&*V3z=*ITa|9vj5|GIWEeyFMEmXP4$3G z0WU`6fS5Wt$%`qAM}B|BvTC;G1VZ$8jBg)`lVm=W;-##*n+oc?{vA~1WDatSrpYqW zI~%_Sr?Ea6$b@Neodmb(vnSi!(k;%2@cO*Haff<-zvI`ws#O{Ng>v6FfR=8qJAvDo zxQx;A0^E5DwoU$V2nvuYVG=0f4Bx42-;9p(=n(CeXXE-uuBO|*#g!VY#`PYABz<1v za85FkoKa7O#t0f31@@)LJS(~Des=-IZ-cLCzQhPbDN!^3+lh`Q;M5PU0}kjkv~&1u z(`9dkGvL?1mY&OHOr7ZwRqXzFN`<4!l9Gzc-6u-G{`o;dK+|^(3)nAZfWsK}!@H%( z#O04NmDf-!Yutnj|LUTdzo&chlCh^XE`oM8`@L#2IRuTwJd1jgS>A?-@Y*6&)Ayfk zkt&jo=V0HO;vYU+Rou265j;v1S&cA7VGgrRUtT%xo;cJ!LFHk?2SpYJ%NyB0DwGDV zS{CQmnsRG{-f^ec1)5B72_t|+obq$X=ZG0OgVOnYjM0@wD*~Ss@i!z`q{n&HB)s>= z$o&|cwcd#lHmHvLS;>%j<)Ok1Ta?=RWr7*2^kyX2qp8p>I!PBHVVzW?!P%s5)pePm@(JUocENS* zXMU%5f}p-6gGu+opXW4wRS-4U%`n~8M1WSYG-9V2V19(VVAsg+RH?B%VPf5pN&I2A zcUIXdH!bh|QU>RqlE*)ox_3xs=jcFBOKhIC4Pw{#E5WfzmGLr@SNQ*BkWUst&DK6|RXGx9lU`=h!)D`sm+aszG@R83$yc;afsU=fPbWH9IDh6^F4BNowa4)l>0 z;zzd`vXFfF52Qh&!Su;}N=?f>!>yk+iZ!1`35^O?{i`;P#|LOhopwM3HQ@yc)$2HY z6e$z&j*FuhQTu}lA5+smzIp_4|hkh7?rIx#saqXhH?sz^nS6y#~xcyE#FUM}xI zR!f0Qe)bNvvJJS$`u3A!b~WX&%SND99`(0jT^6uQQsSC$A+%mKh19+7V1CYgC;E=5#ioHicl~Zo*d#Gv_*4~QbRBccDN3^sMVLx-SO40A+d+5)b~^8 z8_BxHxQ~)Yu>!()gl`!=>`&~i%%#z2oAk@=1T#t;PuSlrQ69I{%Djl>^C{bQx3JZU zX=cU@esm|4JMG=kg9D14B1Xw+Kx{vHYWH|(fSGaiaDV=Cxtmf(FRRAFyrc_q{zqzJ`QJL z1|k6ZcO!G6y_s-j+Hu6?Covj3wK5-B<;n^48iv0FHTkyY4Zx3HT(5(B8lL%WVyUM2 z$9arJmb}^+xLn;+G$4rSTm5nW>_EBceM(IAefg<#_68Dg!9@r-!ckm$@PHrLQ^Uq+ z=YsrL4P>)U6W|v-BtO9*Z-3#Aa8{#?9?``7n6Eso!59PN=L%F-7B}rOt}}Zn7ZG>6 zaQ!n6Gl%&B&nK2PK89=D3r<8CPb3y4);j)MVZAWUvQ2#0Cu34Xh`r+Gv%~|^0JGpf zZVYXgcU?y~vt^t@GrO>WDL+r@$^?KX^H(3k^t8#pNC@oq~=Wl z6IpN^s+S78Unc%M!lH!xC?u(B3~#q%M@Ef&5q8XLAUR$Or}5(p)>zvvQ$qUE2Ptzz z)5r*`lzaN8f(FOuz(#OGq5pc$^{cYW&!4kCR~|Vge%DHs#iSZnPqvxrPH@4AqP5n@wk(rjMtm( zk~*gaAGT)emg=?J{$wX;ihC3LlxUgx>_lz^{e#+%qX~kx;A+=`pS^TS$EL}@TJ>O% z>hnh^l$X!{Q3ER-!hMfYYpFhE9uAl0nuOryWAgRHH3^7x(Vhn#MAHjeDh7j@Q|R7G4s&WN*%kf6jUKnuT7VuD9HD`rVwTe}O;pE?l{Z?b&~q0~SzwB`3kov_N93y_|C?JfILw9M{ZeXM$0| zZu1;78DqSQby`$223aisco7@@Fl?Wr{8Dx2FV7*wSjczQV}>7l_>yeQ@!V~l79i?0 zD9`CnI&o&yLt9dl1_h=UV6e|&wr@Z;PyV$1jNef^lHYBmeOTC$wLm5;`f8Wq4v$UZ z)Hw0MM7no7*O-W9{kTTFFQEQ4*TzLK2`_ryb>yEhNBVdT#j|M}S#ZtxC0UUQ(08d$ zuzYYk5$S8qzLQIy*4*?G<8d2fpsC;x7MN{xFKH8ZnqHnNl%?aJzC)f2h7#(fpfY8S zu}r*d;`_P3+1y6n{&T3WMVigy+*t&8eHVRfjXrW*W*%O|VU3U6l`(9wd-#1NmG43oAG)OP)?m_YLMXMu+U?V`8v z_~hoPZHuYR#O?L!@ap86QovVVbB};z933r>d{M(|(lv}9`JWK+S1Mn=_2ue$ZR>Q>D?5Z~8$L}VC5vCRxsezqcp=_BnPA_v@lYdaXHsSV zaK_;~PNn3e5R$!OH|9yY#=T|Q)_f)9EFR5|8JK}y`3zRoX_=GEGWeKxiDM1Q?~=`6CCQ-IyeN>V6=7Ot z9|7ZI?QM?z9E9LwZUCtw*D7-4>ChZ5qOGASIshf+;~BTd`& z9|!W5x}#PNY#wz~48T4O@``M3xhMuVoo(X*^fuurT@9zG;e}Llf|BZ+K ZNq)8)2E{XKQ_%mTcxAr*|t7R?Mi>2?kWtu=nj kDsEF_5m^0CR;1wuP-*O&G^0G}KYk!hp00i_>zopr08q^qX#fBK literal 0 HcmV?d00001 diff --git a/latest/_static/plus.png b/latest/_static/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..7107cec93a979b9a5f64843235a16651d563ce2d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu>-2 m3q%Vub%g%s<8sJhVPMczOq}xhg9DJoz~JfX=d#Wzp$Pyb1r*Kz literal 0 HcmV?d00001 diff --git a/latest/_static/print.css b/latest/_static/print.css new file mode 100644 index 0000000..e77b082 --- /dev/null +++ b/latest/_static/print.css @@ -0,0 +1,29 @@ +.sy-head-inner { + padding: 0; +} + +h1, h2, h3, h4, h5, h6 { + page-break-inside: avoid; + page-break-after: avoid; +} + +.code-block-caption, +pre, code { + page-break-inside: avoid; + white-space: pre-wrap; + + -webkit-print-color-adjust: exact; +} + +.admonition { + -webkit-print-color-adjust: exact; +} + +.sy-head { + position: static; + border-bottom: 1px solid var(--sy-c-divider); +} + +.highlight .linenos { + box-shadow: none; +} diff --git a/latest/_static/pygments.css b/latest/_static/pygments.css new file mode 100644 index 0000000..a69833b --- /dev/null +++ b/latest/_static/pygments.css @@ -0,0 +1,63 @@ +.highlight { color: var(--syntax-text); background-color: transparent } +.highlight .hll { display: block; background-color: var(--syntax-highlight-bg) } +.highlight .c { color: var(--syntax-comment) } /* Comment */ +.highlight .err { color: var(--syntax-invalid-illegal-text); background-color: var(--syntax-invalid-illegal-bg) } /* Error */ +.highlight .g { color: var(--syntax-meta) } /* Generic */ +.highlight .k { color: var(--syntax-keyword) } /* Keyword */ +.highlight .l { color: var(--syntax-meta) } /* Literal */ +.highlight .o { color: var(--syntax-constant) } /* Operator */ +.highlight .x { color: var(--syntax-meta) } /* Other */ +.highlight .cm { color: var(--syntax-comment) } /* Comment.Multiline */ +.highlight .cp { color: var(--syntax-constant) } /* Comment.Preproc */ +.highlight .c1 { color: var(--syntax-comment) } /* Comment.Single */ +.highlight .cs { color: var(--syntax-comment); background-color: var(--syntax-special-bg) } /* Comment.Special */ +.highlight .gd { color: var(--syntax-markup-deleted-text); background-color: var(--syntax-markup-deleted-bg) } /* Generic.Deleted */ +.highlight .ge { color: var(--syntax-markup-italic); font-style: italic } /* Generic.Emph */ +.highlight .gr { color: var(--syntax-invalid-illegal-text); background-color: var(--syntax-invalid-illegal-bg) } /* Generic.Error */ +.highlight .gh { color: var(--syntax-markup-heading) } /* Generic.Heading */ +.highlight .gi { color: var(--syntax-markup-inserted-text); background-color: var(--syntax-markup-inserted-bg) } /* Generic.Inserted */ +.highlight .go { color: var(--syntax-meta) } /* Generic.Output */ +.highlight .gp { color: var(--syntax-meta) } /* Generic.Prompt */ +.highlight .gs { color: var(--syntax-markup-bold); font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: var(--syntax-markup-heading) } /* Generic.Subheading */ +.highlight .gt { color: var(--syntax-meta) } /* Generic.Traceback */ +.highlight .kc { color: var(--syntax-constant) } /* Keyword.Constant */ +.highlight .kd { color: var(--syntax-keyword) } /* Keyword.Declaration */ +.highlight .kn { color: var(--syntax-keyword) } /* Keyword.Namespace */ +.highlight .kp { color: var(--syntax-keyword) } /* Keyword.Pseudo */ +.highlight .kr { color: var(--syntax-keyword) } /* Keyword.Reserved */ +.highlight .kt { color: var(--syntax-entity) } /* Keyword.Type */ +.highlight .ld { color: var(--syntax-meta) } /* Literal.Date */ +.highlight .m { color: var(--syntax-constant) } /* Literal.Number */ +.highlight .s { color: var(--syntax-string) } /* Literal.String */ +.highlight .il { color: var(--syntax-constant) } /* Literal.Number.Integer.Long */ +.highlight .na { color: var(--syntax-constant) } /* Name.Attribute */ +.highlight .nb { color: var(--syntax-builtin) } /* Name.Builtin */ +.highlight .nc { color: var(--syntax-definition) } /* Name.Class */ +.highlight .no { color: var(--syntax-constant) } /* Name.Constant */ +.highlight .nd { color: var(--syntax-entity) } /* Name.Decorator */ +.highlight .ni { color: var(--syntax-entity) } /* Name.Entity */ +.highlight .ne { color: var(--syntax-exception) } /* Name.Exception */ +.highlight .nf { color: var(--syntax-definition) } /* Name.Function */ +.highlight .nt { color: var(--syntax-tag) } /* Name.Tag */ +.highlight .ow { color: var(--syntax-constant) } /* Operator.Word */ +.highlight .w { color: var(--syntax-meta) } /* Text.Whitespace */ +.highlight .mf { color: var(--syntax-constant) } /* Literal.Number.Float */ +.highlight .mh { color: var(--syntax-constant) } /* Literal.Number.Hex */ +.highlight .mi { color: var(--syntax-constant) } /* Literal.Number.Integer */ +.highlight .mo { color: var(--syntax-constant) } /* Literal.Number.Oct */ +.highlight .sb { color: var(--syntax-meta) } /* Literal.String.Backtick */ +.highlight .sc { color: var(--syntax-string) } /* Literal.String.Char */ +.highlight .sd { color: var(--syntax-comment) } /* Literal.String.Doc */ +.highlight .s2 { color: var(--syntax-string) } /* Literal.String.Double */ +.highlight .se { color: var(--syntax-string) } /* Literal.String.Escape */ +.highlight .sh { color: var(--syntax-comment) } /* Literal.String.Heredoc */ +.highlight .si { color: var(--syntax-string) } /* Literal.String.Interpol */ +.highlight .sx { color: var(--syntax-string) } /* Literal.String.Other */ +.highlight .sr { color: var(--syntax-regexp) } /* Literal.String.Regex */ +.highlight .s1 { color: var(--syntax-string) } /* Literal.String.Single */ +.highlight .ss { color: var(--syntax-string) } /* Literal.String.Symbol */ +.highlight .bp { color: var(--syntax-variable) } /* Name.Builtin.Pseudo */ +.highlight .vc { color: var(--syntax-variable) } /* Name.Variable.Class */ +.highlight .vg { color: var(--syntax-variable) } /* Name.Variable.Global */ +.highlight .vi { color: var(--syntax-variable) } /* Name.Variable.Instance */ diff --git a/latest/_static/searchtools.js b/latest/_static/searchtools.js new file mode 100644 index 0000000..7918c3f --- /dev/null +++ b/latest/_static/searchtools.js @@ -0,0 +1,574 @@ +/* + * searchtools.js + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for the full-text search. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [docname, title, anchor, descr, score, filename] + // and returns the new score. + /* + score: result => { + const [docname, title, anchor, descr, score, filename] = result + return score + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + partialTitle: 7, + // query found in terms + term: 5, + partialTerm: 2, + }; +} + +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms, highlightTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + const contentRoot = document.documentElement.dataset.content_root; + + const [docName, title, anchor, descr, score, _filename] = item; + + let listItem = document.createElement("li"); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = contentRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = contentRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; + } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) { + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + // highlight search terms in the description + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + } + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms) + ); + // highlight search terms in the summary + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = _( + `Search finished, found ${resultCount} page(s) matching the search query.` + ); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms, + highlightTerms, +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms, highlightTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings +} + +/** + * Search Module + */ +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent !== undefined) return docContent.textContent; + console.warn( + "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + ); + return ""; + }, + + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); + }, + + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), + + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); + } + }, + + hasIndex: () => Search._index !== null, + + deferQuery: (query) => (Search._queued_query = query), + + stopPulse: () => (Search._pulse_status = -1), + + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { + Search._pulse_status = (Search._pulse_status + 1) % 4; + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch: (query) => { + // create the required interface elements + const searchText = document.createElement("h2"); + searchText.textContent = _("Searching"); + const searchSummary = document.createElement("p"); + searchSummary.classList.add("search-summary"); + searchSummary.innerText = ""; + const searchList = document.createElement("ul"); + searchList.classList.add("search"); + + const out = document.getElementById("search-results"); + Search.title = out.appendChild(searchText); + Search.dots = Search.title.appendChild(document.createElement("span")); + Search.status = out.appendChild(searchSummary); + Search.output = out.appendChild(searchList); + + const searchProgress = document.getElementById("search-progress"); + // Some themes don't use the search progress node + if (searchProgress) { + searchProgress.innerText = _("Preparing search..."); + } + Search.startPulse(); + + // index already loaded, the browser was quick! + if (Search.hasIndex()) Search.query(query); + else Search.deferQuery(query); + }, + + /** + * execute search (requires search index to be loaded) + */ + query: (query) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // stem the search terms and add them to the correct list + const stemmer = new Stemmer(); + const searchTerms = new Set(); + const excludedTerms = new Set(); + const highlightTerms = new Set(); + const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); + splitQuery(query.trim()).forEach((queryTerm) => { + const queryTermLower = queryTerm.toLowerCase(); + + // maybe skip this "word" + // stopwords array is from language_data.js + if ( + stopwords.indexOf(queryTermLower) !== -1 || + queryTerm.match(/^\d+$/) + ) + return; + + // stem the word + let word = stemmer.stemWord(queryTermLower); + // select the correct list + if (word[0] === "-") excludedTerms.add(word.substr(1)); + else { + searchTerms.add(word); + highlightTerms.add(queryTermLower); + } + }); + + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + + // console.debug("SEARCH: searching for:"); + // console.info("required: ", [...searchTerms]); + // console.info("excluded: ", [...excludedTerms]); + + // array of [docname, title, anchor, descr, score, filename] + let results = []; + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + results.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id] of foundEntries) { + let score = Math.round(100 * queryLower.length / entry.length) + results.push([ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // lookup as object + objectTerms.forEach((term) => + results.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); + + // now sort the results by score (in opposite order of appearance, since the + // display function below uses pop() to retrieve items) and then + // alphabetically + results.sort((a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; + }); + + // remove duplicate search results + // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept + let seen = new Set(); + results = results.reverse().reduce((acc, result) => { + let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); + if (!seen.has(resultStr)) { + acc.push(result); + seen.add(resultStr); + } + return acc; + }, []); + + results = results.reverse(); + + // for debugging + //Search.lastresults = results.slice(); // a copy + // console.info("search results:", Search.lastresults); + + // print the results + _displayNextItem(results, results.length, searchTerms, highlightTerms); + }, + + /** + * search for object names + */ + performObjectSearch: (object, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const objects = Search._index.objects; + const objNames = Search._index.objnames; + const titles = Search._index.titles; + + const results = []; + + const objectSearchCallback = (prefix, match) => { + const name = match[4] + const fullname = (prefix ? prefix + "." : "") + name; + const fullnameLower = fullname.toLowerCase(); + if (fullnameLower.indexOf(object) < 0) return; + + let score = 0; + const parts = fullnameLower.split("."); + + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullnameLower === object || parts.slice(-1)[0] === object) + score += Scorer.objNameMatch; + else if (parts.slice(-1)[0].indexOf(object) > -1) + score += Scorer.objPartialMatch; // matches in last name + + const objName = objNames[match[1]][2]; + const title = titles[match[0]]; + + // If more than one term searched for, we require other words to be + // found in the name/title/description + const otherTerms = new Set(objectTerms); + otherTerms.delete(object); + if (otherTerms.size > 0) { + const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); + if ( + [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) + ) + return; + } + + let anchor = match[3]; + if (anchor === "") anchor = fullname; + else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; + + const descr = objName + _(", in ") + title; + + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) + score += Scorer.objPrio[match[2]]; + else score += Scorer.objPrioDefault; + + results.push([ + docNames[match[0]], + fullname, + "#" + anchor, + descr, + score, + filenames[match[0]], + ]); + }; + Object.keys(objects).forEach((prefix) => + objects[prefix].forEach((array) => + objectSearchCallback(prefix, array) + ) + ); + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch: (searchTerms, excludedTerms) => { + // prepare search + const terms = Search._index.terms; + const titleTerms = Search._index.titleterms; + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + + const scoreMap = new Map(); + const fileMap = new Map(); + + // perform the search on the required terms + searchTerms.forEach((word) => { + const files = []; + const arr = [ + { files: terms[word], score: Scorer.term }, + { files: titleTerms[word], score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord) && !terms[word]) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord) && !titleTerms[word]) + arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); + }); + } + + // no match but word was a required one + if (arr.every((record) => record.files === undefined)) return; + + // found search word in contents + arr.forEach((record) => { + if (record.files === undefined) return; + + let recordFiles = record.files; + if (recordFiles.length === undefined) recordFiles = [recordFiles]; + files.push(...recordFiles); + + // set score for the word in each file + recordFiles.forEach((file) => { + if (!scoreMap.has(file)) scoreMap.set(file, {}); + scoreMap.get(file)[word] = record.score; + }); + }); + + // create the mapping + files.forEach((file) => { + if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) + fileMap.get(file).push(word); + else fileMap.set(file, [word]); + }); + }); + + // now check if the files don't contain excluded terms + const results = []; + for (const [file, wordList] of fileMap) { + // check if all requirements are matched + + // as search terms with length < 3 are discarded + const filteredTermCount = [...searchTerms].filter( + (term) => term.length > 2 + ).length; + if ( + wordList.length !== searchTerms.size && + wordList.length !== filteredTermCount + ) + continue; + + // ensure that none of the excluded terms is in the search result + if ( + [...excludedTerms].some( + (term) => + terms[term] === file || + titleTerms[term] === file || + (terms[term] || []).includes(file) || + (titleTerms[term] || []).includes(file) + ) + ) + break; + + // select one (max) score for the file. + const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + ]); + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words. + */ + makeSearchSummary: (htmlText, keywords) => { + const text = Search.htmlToText(htmlText); + if (text === "") return null; + + const textLower = text.toLowerCase(); + const actualStartPosition = [...keywords] + .map((k) => textLower.indexOf(k.toLowerCase())) + .filter((i) => i > -1) + .slice(-1)[0]; + const startWithContext = Math.max(actualStartPosition - 120, 0); + + const top = startWithContext === 0 ? "" : "..."; + const tail = startWithContext + 240 < text.length ? "..." : ""; + + let summary = document.createElement("p"); + summary.classList.add("context"); + summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; + + return summary; + }, +}; + +_ready(Search.init); diff --git a/latest/_static/shibuya.css b/latest/_static/shibuya.css new file mode 100644 index 0000000..ce09efd --- /dev/null +++ b/latest/_static/shibuya.css @@ -0,0 +1 @@ +/*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.collapse{visibility:collapse}.order-last{order:9999}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.block{display:block}.flex{display:flex}.table{display:table}.contents{display:contents}.hidden{display:none}.w-64{width:16rem}.w-8{width:2rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-6xl{max-width:72rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1{--tw-translate-x:-0.25rem}.-translate-x-1,.-translate-x-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-2{--tw-translate-x:-0.5rem}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.break-words{overflow-wrap:break-word}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pr-3{padding-right:.75rem}.pt-12{padding-top:3rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}@font-face{font-family:Twemoji Country Flags;unicode-range:u+1f1e6-1f1ff,u+1f3f4,u+e0062-e0063,u+e0065,u+e0067,u+e006c,u+e006e,u+e0073-e0074,u+e0077,u+e007f;src:url(https://cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@0.1/dist/TwemojiCountryFlags.woff2) format("woff2")}html.light{color-scheme:light}html.dark{color-scheme:dark}::-moz-selection{color:rgba(var(--sy-rc-theme),1);background-color:rgba(var(--sy-rc-theme),.2)}::selection{color:rgba(var(--sy-rc-theme),1);background-color:rgba(var(--sy-rc-theme),.2)}body{font-family:var(--sy-f-text);color:var(--sy-c-text)}.win{font-family:"Twemoji Country Flags",var(--sy-f-text)}h1,h2,h3,h4,h5{color:var(--sy-c-heading);font-family:var(--sy-f-heading)}em,strong{color:var(--sy-c-bold)}.sy-container{max-width:90rem}.sy-scrollbar{overflow-y:auto;scrollbar-gutter:stable}.sy-scrollbar::-webkit-scrollbar{height:.75rem;width:.75rem}.sy-scrollbar::-webkit-scrollbar-thumb{border-radius:10px}.sy-scrollbar::-webkit-scrollbar-track{background-color:initial}.sy-scrollbar:hover::-webkit-scrollbar-thumb{background-color:#9b9b9b33;background-clip:content-box;border:3px solid #0000}.i-icon{-webkit-mask:var(--icon-url) no-repeat;mask:var(--icon-url) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;width:1em;height:1em;display:inline-block;vertical-align:middle;font-style:normal;background-color:currentColor}.theme-switch .theme-icon{--icon-url:var(--i-sun-url)}html.dark .theme-switch .theme-icon{--icon-url:var(--i-moon-url)}html.dark .dark-hidden,html.light .light-hidden{display:none}:root{--i-alert-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3zM12 9v4m0 4h.01'/%3E%3C/svg%3E");--i-arrows-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 15 5 5 5-5M7 9l5-5 5 5'/%3E%3C/svg%3E");--i-award-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.477 12.89 17 22l-5-3-5 3 1.523-9.11'/%3E%3C/svg%3E");--i-bell-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9m-4.27 13a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E");--i-bookmark-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z'/%3E%3C/svg%3E");--i-calendar-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");--i-check-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");--i-chevron-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");--i-close-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");--i-discord-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z'/%3E%3C/svg%3E");--i-external-link-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M13 5h6v6M19 5 5 19'/%3E%3C/svg%3E");--i-flame-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z'/%3E%3C/svg%3E");--i-git-fork-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='18' r='3'/%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='18' cy='6' r='3'/%3E%3Cpath d='M18 9v1a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V9M12 12v3'/%3E%3C/svg%3E");--i-github-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E");--i-gitlab-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m23.6 9.593-.033-.086L20.3.98a.851.851 0 0 0-.336-.405.875.875 0 0 0-1 .054.875.875 0 0 0-.29.44L16.47 7.818H7.537L5.332 1.07a.857.857 0 0 0-.29-.441.875.875 0 0 0-1-.054.859.859 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.01.009.03.021 4.977 3.727 2.462 1.863 1.5 1.132a1.008 1.008 0 0 0 1.22 0l1.499-1.132 2.461-1.863 5.006-3.75.013-.01a6.068 6.068 0 0 0 2.01-7.002z'/%3E%3C/svg%3E");--i-help-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01'/%3E%3C/svg%3E");--i-languages-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-languages'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E");--i-laptop-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='12' rx='2' ry='2'/%3E%3Cpath d='M2 20h20'/%3E%3C/svg%3E");--i-link-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");--i-mastodon-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E");--i-menu-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-menu'%3E%3Cpath d='M4 12h16M4 6h16M4 18h16'/%3E%3C/svg%3E");--i-milestone-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6H5a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h13l4-3.5L18 6zM12 13v8M12 3v3'/%3E%3C/svg%3E");--i-moon-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6.364 6.364 0 0 0 9 9 9 9 0 1 1-9-9z'/%3E%3C/svg%3E");--i-outdent-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 8-4 4 4 4M21 12H11M21 6H11M21 18H11'/%3E%3C/svg%3E");--i-rocket-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09zM12 15l-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z'/%3E%3Cpath d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/%3E%3C/svg%3E");--i-skull-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='12' r='1'/%3E%3Ccircle cx='15' cy='12' r='1'/%3E%3Cpath d='M8 20v2h8v-2m-3.5-3-.5-1-.5 1h1z'/%3E%3Cpath d='M16 20a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20'/%3E%3C/svg%3E");--i-star-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 2 3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E");--i-sun-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32 1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E");--i-twitter-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.953 4.57a10 10 0 0 1-2.825.775 4.958 4.958 0 0 0 2.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 0 0-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 0 0-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 0 1-2.228-.616v.06a4.923 4.923 0 0 0 3.946 4.827 4.996 4.996 0 0 1-2.212.085 4.936 4.936 0 0 0 4.604 3.417 9.867 9.867 0 0 1-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 0 0 7.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0 0 24 4.59z'/%3E%3C/svg%3E");--i-youtube-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E");--i-zap-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 3 14h9l-1 8 10-12h-9l1-8z'/%3E%3C/svg%3E")}.i-icon.alert{--icon-url:var(--i-alert-url)}.i-icon.arrows{--icon-url:var(--i-arrows-url)}.i-icon.award{--icon-url:var(--i-award-url)}.i-icon.bell{--icon-url:var(--i-bell-url)}.i-icon.bookmark{--icon-url:var(--i-bookmark-url)}.i-icon.calendar{--icon-url:var(--i-calendar-url)}.i-icon.check{--icon-url:var(--i-check-url)}.i-icon.chevron{--icon-url:var(--i-chevron-url)}.i-icon.close{--icon-url:var(--i-close-url)}.i-icon.discord{--icon-url:var(--i-discord-url)}.i-icon.external-link{--icon-url:var(--i-external-link-url)}.i-icon.flame{--icon-url:var(--i-flame-url)}.i-icon.git-fork{--icon-url:var(--i-git-fork-url)}.i-icon.github{--icon-url:var(--i-github-url)}.i-icon.gitlab{--icon-url:var(--i-gitlab-url)}.i-icon.help{--icon-url:var(--i-help-url)}.i-icon.languages{--icon-url:var(--i-languages-url)}.i-icon.laptop{--icon-url:var(--i-laptop-url)}.i-icon.link{--icon-url:var(--i-link-url)}.i-icon.mastodon{--icon-url:var(--i-mastodon-url)}.i-icon.menu{--icon-url:var(--i-menu-url)}.i-icon.milestone{--icon-url:var(--i-milestone-url)}.i-icon.moon{--icon-url:var(--i-moon-url)}.i-icon.outdent{--icon-url:var(--i-outdent-url)}.i-icon.rocket{--icon-url:var(--i-rocket-url)}.i-icon.skull{--icon-url:var(--i-skull-url)}.i-icon.star{--icon-url:var(--i-star-url)}.i-icon.sun{--icon-url:var(--i-sun-url)}.i-icon.twitter{--icon-url:var(--i-twitter-url)}.i-icon.youtube{--icon-url:var(--i-youtube-url)}.i-icon.zap{--icon-url:var(--i-zap-url)}.hamburger{position:relative;display:inline-block;width:16px;height:14px;overflow:hidden;cursor:pointer}.hamburger>span{position:absolute;width:16px;height:2px;left:0;background-color:var(--sy-c-text);transition:top .25s,transform .25s}.hamburger_1{top:0}.hamburger_2{top:6px}.hamburger_3{top:12px}button[aria-expanded=true] .hamburger .hamburger_1{top:6px;transform:translate(0) rotate(225deg)}button[aria-expanded=true] .hamburger .hamburger_2{top:6px;transform:translate(18px)}button[aria-expanded=true] .hamburger .hamburger_3{top:6px;transform:translate(0) rotate(135deg)}.searchbox{position:relative}.searchbox input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:6px 12px;font-size:.92rem;font-family:var(--sy-f-text);border-radius:6px;outline:0;background:var(--sy-c-bg-weak)}.searchbox button,.searchbox kbd{position:absolute;font-size:.68rem;font-weight:600;font-family:var(--sy-f-mono);padding:2px 6px;margin:6px;right:0;border-radius:3px;border:1px solid var(--sy-c-border);background-color:var(--sy-c-bg);opacity:1;transition:opacity .2s ease}.searchbox input:focus+kbd{opacity:0}.searchform{display:flex;position:relative;align-items:center}.searchform input[name=q]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:6px 12px;font-size:.92rem;font-family:var(--sy-f-text);border-radius:6px;outline:0;background:var(--sy-c-bg-weak)}.searchform input[name=q]+button{position:absolute;font-size:.68rem;font-weight:600;font-family:var(--sy-f-text);padding:2px 6px;margin:6px;right:0;border-radius:3px;border:1px solid var(--sy-c-divider);background-color:var(--sy-c-bg);opacity:1;transition:opacity .2s ease}.search .highlighted{background-color:var(--syntax-highlight-bg)}.demo{border:1px solid var(--sy-c-border);border-radius:6px}.demo-code .highlight>pre{border-bottom-left-radius:0;border-bottom-right-radius:0}.demo-result{padding:1rem}#ethical-ad-placement .ethical-sidebar{position:relative;background-color:var(--sy-c-bg-weak);border:none;padding:.8rem}#ethical-ad-placement .ethical-text a{color:var(--sy-c-text)!important}.sy-main #ethical-ad-placement .ethical-sidebar{margin-left:0;max-width:380px}.sy-main #ethical-ad-placement .ethical-image-link{flex-shrink:0;margin-right:.4rem}.sy-main #ethical-ad-placement .ethical-content{display:flex}.sy-main #ethical-ad-placement .ethical-text{margin-top:0}.sy-main #ethical-ad-placement .ethical-callout{position:absolute;right:.4rem;bottom:.4rem}#carbonads{margin:1rem 0;position:relative;display:block;background-color:var(--sy-c-bg-weak);border:none;border-radius:8px;padding:.8rem .8rem 1.6rem}#carbonads a{border:0;font-weight:400}#carbonads img{margin:0}.carbon-wrap{display:flex;align-items:center;justify-content:space-between;flex-direction:column}.carbon-text{display:block;margin:.5rem 0;line-height:1.42;font-size:.78rem;text-align:center}.carbon-text:hover{color:var(--sy-c-link)}.carbon-poweredby{position:absolute;right:.8rem;bottom:.5rem;font-size:.68rem;text-transform:uppercase}.carbon-poweredby:hover{text-decoration:underline}.sy-main #carbonads{max-width:380px;padding:1rem;margin-top:1.6rem}.sy-main .carbon-wrap{flex-direction:row;align-items:flex-start}.sy-main .carbon-text{text-align:left;margin-top:0;margin-left:1rem;font-size:.86rem}.bsa-bar{justify-content:space-between;padding:15px 20px;border-radius:10px;box-shadow:inset 0 0 2px #00000026;text-decoration:none}.bsa-bar,.bsa-main{display:flex;flex-flow:row nowrap;align-items:center}.bsa-main{flex-grow:1;justify-content:center;margin:0 auto}.bsa-img{max-height:40px;margin-right:20px;line-height:0}.bsa-details{display:flex;flex-flow:column nowrap;margin-right:20px}.bsa-tagline{margin-bottom:3px;font-weight:600;font-size:9px;line-height:1;letter-spacing:1.5px;text-transform:uppercase}.bsa-desc{max-width:600px;font-weight:400;font-size:12px;line-height:1.4;letter-spacing:1px}.bsa-cta{padding:10px 16px;transform:translateY(-1px);border-radius:3px;font-weight:600;font-size:10px;line-height:1;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;transition:all .3s ease-in-out}@media (max-width:940px){.bsa-details{font-size:14px;margin-right:0}.bsa-cta{display:none}}@media (min-width:768px) and (max-width:820px){.bsa-img{display:none}}@media (max-width:480px){.bsa-img{display:none}}.repo-stats{margin-bottom:1rem;padding:.5rem 0;border-top:1px solid var(--sy-c-divider);border-bottom:1px solid var(--sy-c-divider)}.repo-stats-count{color:var(--sy-c-text-weak)}.repo-stats:hover .repo-stats-count{color:var(--sy-c-text)}.repo-stats strong{font-weight:500;font-family:var(--sy-f-mono);color:inherit}.edit-this-page{border-top:1px solid var(--sy-c-divider);margin:1rem 0;padding:.5rem 0;font-size:.8rem;font-weight:600}.repo-stats+.edit-this-page{border-top:0;margin-top:0;padding-top:0}.edit-this-page a{color:var(--sy-c-text-weak)}.edit-this-page a:hover{color:var(--sy-c-text)}.edit-this-page a:after{content:" →"}.announcement{position:sticky;top:0;left:0;width:100%;padding:.8rem 2rem;display:flex;align-items:center;color:var(--sy-c-banner,#fff);background-color:var(--sy-c-banner-bg,rgba(var(--sy-rc-theme),1));z-index:20}.announcement a{text-decoration:underline}.announcement ::-moz-selection{color:var(--sy-c-banner,#fff)}.announcement ::selection{color:var(--sy-c-banner,#fff)}.announcement-inner{width:100%;text-align:center}.announcement-close{position:absolute;top:.8rem;right:1rem}.sy-head{position:sticky;top:var(--sy-s-banner-height);height:var(--sy-s-navbar-height);background-color:initial;z-index:20}.sy-head-blur{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:rgba(var(--sy-rc-bg),.85);z-index:-1;--tw-shadow:0 2px 4px rgba(var(--sy-rc-invert),.02),0 1px 0 rgba(var(--sy-rc-invert),.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sy-head-inner{display:flex;padding-left:max(env(safe-area-inset-right),1.5rem);padding-right:max(env(safe-area-inset-right),1rem);justify-content:space-between;align-items:center;height:var(--sy-s-navbar-height)}.sy-head .i-icon{font-size:1.25rem}.sy-head-brand img{height:28px}.sy-head-brand .dark-logo,.sy-head-brand img+strong{display:none}.dark .sy-head-brand .dark-logo{display:inline}.dark .sy-head-brand .light-logo{display:none}.light .sy-head-brand .light-logo{display:inline}.light .sy-head-brand .dark-logo{display:none}.sy-head-nav a,.sy-head-nav button{padding:.5rem;font-size:.95rem;font-weight:500;white-space:nowrap}.sy-head-nav .link i.external-link{font-size:68%;opacity:.6;color:var(--sy-c-text-weak);margin-left:2px}.sy-head-nav .link>ul a{display:block}.sy-head-nav .link>ul a:hover{background:var(--sy-c-bg-weak);border-radius:6px}.sy-head-nav .link>ul small{display:block;color:var(--sy-c-text-weak);font-weight:400}.sy-head-social a{padding:.5rem}.sy-head-actions button{height:var(--sy-s-navbar-height);padding:0 .5rem}@media (max-width:767px){body[data-expanded-navlinks=true]{overflow:hidden}.sy-head-links{display:none;position:fixed;top:var(--sy-s-offset-top);bottom:0;left:0;right:0;padding:4rem 1.8rem 0;width:100%;box-sizing:border-box;border-top:1px solid var(--sy-c-divider);background-color:var(--sy-c-bg);overflow-y:auto}.sy-head-links._expanded{display:block}.sy-head-nav{margin-left:auto;margin-right:auto}.sy-head-nav .link{margin:.5rem 0}.sy-head-nav .link i.chevron{display:none}.sy-head-nav .link>ul{margin:.5rem 0 .5rem 1rem}.sy-head-extra form.searchbox{position:absolute;top:1rem;left:1.8rem;right:1.8rem}.sy-head-extra{flex-direction:column;padding:2rem 0 1rem;width:100%}}@media (min-width:768px){.sy-head-inner{padding-right:max(env(safe-area-inset-right),1.5rem)}.sy-head-links{display:flex;flex-grow:1;align-items:center;justify-content:space-between}.sy-head-nav{white-space:nowrap;overflow:auto}.sy-head-nav .link{display:inline-flex;align-items:center;height:var(--sy-s-navbar-height)}.sy-head-nav a:hover{color:rgba(var(--sy-rc-invert),1)}.sy-head-nav .link:hover>a{background-color:var(--sy-c-bg-weak);border-radius:6px}.sy-head-nav .link i.chevron{opacity:.6;font-size:1rem;transform:rotate(90deg)}.sy-head-nav .link>ul{position:absolute;height:0;visibility:hidden;background-color:var(--sy-c-bg);top:var(--sy-s-offset-top);margin-top:-10px;padding:15px;border-radius:6px;border:1px solid var(--sy-c-divider);box-shadow:0 12px 32px rgba(var(--sy-rc-invert),.1),0 2px 6px rgba(var(--sy-rc-invert),.08);z-index:9}.sy-head-nav .link:hover>ul{height:auto;visibility:visible}.sy-head-nav .link>ul>li{padding:.2rem 0}.sy-head-social{margin-left:.5rem}.sy-head-social a{padding:.5rem}}.sy-foot{border-top:1px solid var(--sy-c-foot-divider);padding-top:1.5rem;padding-bottom:1rem;color:var(--sy-c-foot-text);background-color:var(--sy-c-foot-bg)}.sy-foot-inner{padding-left:max(env(safe-area-inset-right),1.5rem);padding-right:max(env(safe-area-inset-right),1.5rem)}.sy-foot-copyright{font-size:.84rem}.sy-foot-copyright a{font-weight:500}.sy-foot-socials a{font-size:1.4rem;color:var(--sy-c-foot-text)}.sy-foot-socials a+a{margin-left:.5rem}.sy-lside li{margin:.6rem 0}.sy-lside li.link>span{font-size:.86rem;font-weight:500;font-family:var(--sy-f-heading);color:var(--sy-c-text-weak);text-transform:uppercase;letter-spacing:.4px}.sy-lside li.link .i-icon{display:none}.sy-lside li.link>ul{margin-left:1rem}.sy-lside li.link>ul small{display:none}.sy-lside .sidebar-links{margin-bottom:2rem}.sy-lside .sidebar-links span{display:inline-block;vertical-align:middle}.sy-lside .sidebar-links .icon{padding:.1rem;border-radius:6px;border:1px solid var(--sy-c-border);margin-right:.4rem;opacity:.8}.sy-lside .sidebar-links svg{width:1.5rem;height:1.5rem}.sy-lside .sidebar-links a:hover .icon{opacity:1}@media (min-width:768px){.sy-lside .sy-lside-inner{top:var(--sy-s-offset-top)}.sy-lside .sy-scrollbar{height:calc(100vh - var(--sy-s-offset-top));overflow-x:hidden}}.yue *{scroll-margin-top:calc(var(--sy-s-offset-top) + 68px)}.sy-content{max-width:64rem;min-height:calc(100vh - var(--sy-s-offset-top) - 80px)}@media (max-width:767px){#lside{position:fixed;z-index:18;top:var(--sy-s-offset-top);left:0;bottom:0;width:300px;max-width:100%;height:calc(100vh - var(---sy-s-offset-top));overflow:auto;background:rgba(var(--sy-rc-bg),.98);transform:translateX(-100%);transition:transform .2s ease}#lside._expanded{transform:translateX(0)}.lside-overlay{position:fixed;top:var(--sy-s-offset-top);left:0;width:0;height:0;background-color:rgba(var(--sy-rc-invert),.24);opacity:0;transition:width 0 .25s,height 0 .25s,opacity .25s}#lside._expanded+.lside-overlay{width:100%;height:100%;opacity:1;z-index:16}}@media (max-width:1279px){.sy-rside{position:fixed;z-index:25;top:0;right:0;bottom:0;width:20rem;max-width:100%;padding-top:2rem;padding-bottom:1rem;overflow:auto;background:var(--sy-c-bg);transform:translateX(110%);transition:transform .2s ease;--tw-shadow:-12px 0 16px rgba(var(--sy-rc-bg),0.16);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#rside._expanded{transform:translateX(0)}.rside-close{position:absolute;top:16px;right:16px;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;font-size:1.4rem}.rside-overlay{position:fixed;top:0;left:0;width:0;height:0;background-color:rgba(var(--sy-rc-invert),.24);opacity:0;transition:width 0 .25s,height 0 .25s,opacity .25s}#rside._expanded+.rside-overlay{width:100%;height:100%;opacity:1;z-index:22}}@media (min-width:768px){.sy-main{width:calc(100% - 18rem);max-width:52rem}}@media (min-width:1280px){.sy-main{width:calc(100% - 34rem);max-width:none}.sy-rside .sy-scrollbar{max-height:calc(100vh - var(--sy-s-offset-top) - env(safe-area-inset-bottom))}.yue *{scroll-margin-top:calc(var(--sy-s-offset-top) + 24px)}}.nav-languages button,.nav-versions button{cursor:pointer;padding:0;margin:0;background:#0000;border:0;white-space:nowrap}.nav-versions .chevron{font-size:.72rem;font-weight:400;transform:rotate(90deg);color:var(--sy-c-text-weak)}@media (max-width:767px){.nav-languages,.nav-versions{width:100%;background-color:var(--sy-c-bg-weak);border-radius:6px;padding-bottom:.6rem;margin-bottom:1rem}.nav-languages button,.nav-versions button{padding:.5rem 1rem;font-weight:500;font-size:.76rem;color:var(--sy-c-text-weak)}.nav-languages button .i-icon,.nav-versions button .i-icon{display:none}.nav-versions ul{padding:0 .6rem}.nav-versions li{padding:.2rem .4rem;display:inline-block}.nav-languages li{font-size:.94rem;padding:.32rem 1rem}}@media (min-width:768px){.nav-languages,.nav-versions{display:flex;align-items:center;position:relative;width:auto;height:var(--sy-s-navbar-height);background:#0000;color:var(--sy-c-text)}.nav-languages button,.nav-versions button{padding:0 .5rem;border-right:1px solid var(--sy-c-divider-weak)}.nav-languages-choices,.nav-versions-choices{position:absolute;visibility:hidden;top:3rem;right:-.6rem;min-width:120px;box-sizing:border-box;background-color:var(--sy-c-bg);border-radius:6px;overflow:hidden;padding:.8rem 1rem;box-shadow:0 12px 32px rgba(var(--sy-rc-invert),.1),0 2px 6px rgba(var(--sy-rc-invert),.08)}.nav-languages:hover .nav-languages-choices,.nav-versions:hover .nav-versions-choices{visibility:visible}.nav-languages li,.nav-versions li{padding:.1rem 0}.nav-languages a,.nav-versions a{display:block;padding:.2rem .6rem;color:var(--sy-c-text);white-space:nowrap}.nav-languages a:hover,.nav-versions a:hover{color:var(--sy-c-link);background:var(--sy-c-bg-weak);border-radius:6px}}.sy-breadcrumbs{position:sticky;top:var(--sy-s-offset-top);background-color:var(--sy-c-bg);padding:0 1.5rem;z-index:5}.sy-breadcrumbs-inner{padding:.8rem 0;border-bottom:1px solid var(--sy-c-divider)}.sy-breadcrumbs ul{display:flex;font-size:.94rem;white-space:nowrap;overflow:auto}.sy-breadcrumbs button{display:flex;align-items:center}.sy-breadcrumbs ul a{color:var(--sy-c-text-weak)}.sy-breadcrumbs ul a:hover{color:var(--sy-c-bold)}.sy-breadcrumbs ul a+span{padding:0 .4rem;font-weight:300;color:var(--sy-c-text-weak)}@media (min-width:1280px){.sy-breadcrumbs{display:none}}@media (min-width:768px){.sy-breadcrumbs-inner{padding:1.5rem 0 1rem}}.globaltoc{padding-bottom:20px}.globaltoc .caption{font-size:.86rem;font-weight:500;font-family:var(--sy-f-heading);color:var(--sy-c-text-weak);text-transform:uppercase;letter-spacing:.4px;padding:.8rem 0 .4rem;border-top:1px solid var(--sy-c-divider)}.globaltoc>p.caption:first-of-type{padding-top:0;border-top:none}.globaltoc .caption+ul{margin-bottom:1.5rem}.globaltoc ul+.caption{margin-top:3rem}.globaltoc li{margin:.6rem 0}.globaltoc li>ul{margin-left:.6rem;font-size:.96rem}.globaltoc li.toctree-l1>ul{margin-left:.2rem;border-left:1px solid var(--sy-c-divider-weak)}.globaltoc li.toctree-l2{padding-left:.9rem;margin-left:-1px;border-left:1px solid #0000}.globaltoc li.toctree-l2.current{border-color:var(--sy-c-link)}.globaltoc>ul a.current{font-weight:500;color:var(--sy-c-link)}.globaltoc>ul a:hover{color:var(--sy-c-link-weak)}.globaltoc li{position:relative}.globaltoc li>button{position:absolute;top:.2rem;right:0;display:flex;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;border-radius:3px}.globaltoc li>button:hover{background-color:var(--sy-c-bg-weak)}.globaltoc li._expand>ul,.globaltoc li.current>ul{display:block}.globaltoc li._collapse>ul,.globaltoc li>ul{display:none}.globaltoc li>button .chevron{transform:rotate(0deg);transition:transform .2s ease}.globaltoc li._expand>button .chevron,.globaltoc li.current>button .chevron{transform:rotate(90deg)}.globaltoc li._collapse>button .chevron{transform:rotate(0deg)}.sy-deprecated{padding:.8rem;font-size:.85rem;background-color:#ffdd001a;border-radius:6px}.sy-deprecated a{color:var(--sy-c-link);text-decoration:underline}.sy-deprecated a:hover{color:var(--sy-c-link-weak)}.sy-rside-inner>div{margin-bottom:1rem}.sy-rside-inner>div>h3{font-size:.8rem;font-weight:500;letter-spacing:.4px;text-transform:uppercase;margin-bottom:1rem}html[lang=ja] .sy-rside-inner>div>h3,html[lang=ko] .sy-rside-inner>div>h3,html[lang=zh-TW] .sy-rside-inner>div>h3,html[lang=zh] .sy-rside-inner>div>h3{letter-spacing:0;font-size:.86rem;font-weight:600}.localtoc>ul li{margin-top:.36rem;margin-bottom:.36rem}.localtoc>ul li>a:hover{color:var(--sy-c-link-weak)}.localtoc>ul li.active>a{font-weight:500;color:var(--sy-c-link)}.localtoc>ul>li ul{padding-left:.8rem}.sy-rside ul.this-page-menu{margin-top:-.6rem}.sy-rside ul.this-page-menu a{font-size:.96rem}.sy-rside ul.this-page-menu a:hover{color:var(--sy-c-link-weak)}.navigation{gap:2rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--sy-c-divider)}.navigation>div{width:100%}.navigation a{display:inline-flex;align-items:center}.navigation a:hover{color:rgba(var(--sy-rc-invert),1)}.navigation-prev i.chevron{transform:rotate(180deg)}.navigation-next{text-align:right}.navigation-next a{justify-content:end}.navigation .page-info{padding:0 8px}.navigation .page-info>span{font-size:.8rem;color:var(--sy-c-text-weak)}.yue{--yue-c-black:#111827;--yue-c-text:var(--sy-c-text);--yue-c-heading:var(--sy-c-heading);--yue-c-bold:var(--sy-c-bold);--yue-c-link-1:var(--sy-c-text);--yue-c-link-2:var(--yue-c-black);--yue-c-link-border-1:rgba(var(--sy-rc-theme),0.8);--yue-c-link-border-2:rgb(var(--sy-rc-theme));--yue-c-ol-marker:#6b7280;--yue-c-ul-marker:#d1d5db;--yue-c-hr:#e5e7eb;--yue-c-quote:var(--yue-c-black);--yue-c-quote-border:#cfd3db;--yue-c-quote-symbol:rgba(var(--sy-rc-theme),1);--yue-c-caption:#6b7280;--yue-c-code:var(--yue-c-black);--yue-c-code-bg:#fff4d4;--yue-c-th-bg:#eff3f8;--yue-c-th-border:#d1d5db;--yue-c-td-border:#e5e7eb}html.dark .yue{--yue-c-link-1:var(--sy-c-text);--yue-c-link-2:#fff;--yue-c-ol-marker:#9ca3af;--yue-c-ul-marker:#4b5563;--yue-c-hr:#374151;--yue-c-quote:#f3f4f6;--yue-c-quote-border:#374151;--yue-c-caption:#9ca3af;--yue-c-code:#fff;--yue-c-code-bg:#312f29;--yue-c-th-bg:#24282e;--yue-c-th-border:#4b5563;--yue-c-td-border:#374151}.yue{font-size:1rem;line-height:1.75;color:var(--yue-c-text)}.yue p{margin-top:1rem;margin-bottom:1.25rem}.yue a{color:var(--yue-c-link-1);font-weight:500;text-decoration:none;border-bottom:1px solid var(--yue-c-link-border-1)}.yue a:hover{color:var(--yue-c-link-2);border-bottom:2px solid var(--yue-c-link-border-2)}.yue strong{color:var(--yue-c-bold);font-weight:600}.yue a strong,.yue blockquote strong,.yue thead th strong{color:inherit}.yue ol{margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.yue ol,.yue ol[type="1"]{list-style-type:decimal}.yue ol.upperalpha,.yue ol[type=A]{list-style-type:upper-alpha}.yue ol.loweralpha,.yue ol[type=a]{list-style-type:lower-alpha}.yue ol.upperroman,.yue ol[type=I]{list-style-type:upper-roman}.yue ol.lowerroman,.yue ol[type=i]{list-style-type:lower-roman}.yue ul{list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.yue ol>li::marker{font-weight:400;color:var(--yue-c-ol-marker)}.yue ul>li::marker{color:var(--yue-c-ul-marker)}.yue dl{margin-top:1.5rem;margin-bottom:1.5rem}.yue dt{color:var(--yue-c-bold);font-weight:600}.yue dd{margin-left:1.5rem}.yue hr{border-color:var(--yue-c-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.yue blockquote{color:var(--yue-c-quote);border-left-width:.25rem;border-left-color:var(--yue-c-quote-border);margin-top:1.2rem;margin-bottom:1.2rem;padding-left:1rem}.yue blockquote .attribution{font-size:.85em;font-style:italic}[lang=ja] .yue blockquote .attribution,[lang=ko] .yue blockquote .attribution,[lang^=zh] .yue blockquote .attribution{font-style:normal}.yue h1{color:var(--yue-c-heading);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.yue h1 strong{font-weight:900;color:inherit}.yue h2{color:var(--yue-c-heading);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.yue h2 strong{font-weight:800;color:inherit}.yue h3{color:var(--yue-c-heading);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.yue h3 strong{font-weight:700;color:inherit}.yue h4{color:var(--yue-c-heading);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.yue h4 strong{font-weight:700;color:inherit}.yue img{margin-top:2em;margin-bottom:2em}.yue figure>*{margin-top:0;margin-bottom:0}.yue figcaption{color:var(--yue-c-caption);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.yue code{color:var(--yue-c-code);font-weight:600;font-size:.875em}.yue a code,.yue blockquote code,.yue h1 code,.yue h2 code,.yue h3 code,.yue h4 code,.yue th code{color:inherit}.yue h2 code{font-size:.875em}.yue li>code,.yue p>code{padding-left:4px;padding-right:4px;border-radius:3px;font-weight:500;background-color:var(--yue-c-code-bg)}.yue h3 code{font-size:.9em}.yue figure,.yue video{margin-top:2em;margin-bottom:2em}.yue li{margin-top:.5em;margin-bottom:.5em}.yue ol>li,.yue ul>li{padding-left:.375em}.yue ol ol,.yue ol ul,.yue ul ol,.yue ul ul{margin-top:.75em;margin-bottom:.75em}.yue h2+*,.yue h3+*,.yue h4+*,.yue hr+*{margin-top:0}.yue table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.86em;line-height:1.7}.yue table>caption{margin-bottom:.4rem;color:var(--yue-c-caption)}.yue thead tr{border-bottom-width:1px;border-bottom-color:var(--yue-c-th-border)}.yue thead th{color:var(--yue-c-heading);font-weight:600;vertical-align:middle}.yue tbody tr{border-bottom-width:1px;border-bottom-color:var(--yue-c-td-border)}.yue tbody tr:last-child{border-bottom-width:0}.yue tbody td{vertical-align:middle}.yue tfoot{border-top-width:1px;border-top-color:var(--yue-c-th-border)}.yue tfoot td{vertical-align:top}.yue td>p{margin:.25rem 0}.yue thead th>p{margin:0}.yue tbody td,.yue tfoot td,.yue thead th{padding:.5rem}.yue section>div{margin-bottom:2rem}.yue dd>p:first-child{margin-top:0}.yue p.lead{font-size:1.2rem;color:var(--sy-c-text-weak);margin-bottom:0}.yue p.lead+hr{margin-top:1rem}.yue dl.simple>dd>p,.yue ol.simple>li>p,.yue ul.simple>li>p{margin:0}.yue a.headerlink{visibility:hidden;margin-left:6px;color:rgba(var(--sy-rc-text),.6);font-weight:300;font-size:58%;font-family:var(--sy-f-mono);--icon-url:var(--i-link-url);-webkit-mask:var(--icon-url) no-repeat;mask:var(--icon-url) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;width:1em;height:1em;display:inline-block;vertical-align:middle;font-style:normal;background-color:currentColor}.yue .math a.headerlink,h1:hover a.headerlink,h2:hover a.headerlink,h3:hover a.headerlink,h4:hover a.headerlink,h5:hover a.headerlink,h6:hover a.headerlink{visibility:visible}.yue .toctree-wrapper a{border-bottom:none}.yue .toctree-wrapper p.caption{font-size:.86rem;font-weight:500;font-family:var(--sy-f-heading);color:var(--sy-c-text-weak);text-transform:uppercase;letter-spacing:.4px;padding:.8rem 0 .4rem;border-bottom:1px solid var(--sy-c-divider)}.yue .align-center{display:block;text-align:center}.yue .align-center,.yue figure.align-center img{margin-left:auto;margin-right:auto}a.footnote-reference{font-size:.65rem;vertical-align:top}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>p,div.citation>p{margin-bottom:.5rem;margin-top:.5rem;margin-left:2rem}.yue kbd.kbd:not(.compound){font-size:.86rem;padding:2px 5px;border-radius:3px;margin-right:.25rem}.yue kbd.compound>kbd{margin-left:.25rem}.light .yue kbd.kbd:not(.compound){background:linear-gradient(-225deg,#e6e6e6,#f8f8f8);box-shadow:inset 0 -2px #dbdbdb,inset 0 0 1px 1px #fff,0 1px 2px 1px #50505066}.dark .yue kbd.kbd:not(.compound){background:linear-gradient(-225deg,#353434,#141414);box-shadow:inset 0 -2px #373737,inset 0 0 1px 1px #222,0 1px 2px 1px #000}.hlist td{vertical-align:top}p.centered{text-align:center}.yue .genindex-jumpbox,.yue .modindex-jumpbox{border-top:1px solid var(--sy-c-border);border-bottom:1px solid var(--sy-c-border);padding:2px .4rem}.yue table.modindextable td:first-of-type{width:28px}.yue table.modindextable img.toggler{margin:0}.yue table.modindextable tr.cap{font-size:1.12rem;background:var(--sy-c-bg-weak);font-family:var(--sy-f-mono)}.yue h2+table.indextable,.yue table.indextable ul{margin-top:0}:root,html.light{--admonition-bg-opacity:0.03;--admonition-head-opacity:0.08;--admonition-border-opacity:1}@media (prefers-color-scheme:dark){:root{--admonition-bg-opacity:0.08;--admonition-head-opacity:0.15;--admonition-border-opacity:0.8}}html.dark{--admonition-bg-opacity:0.08;--admonition-head-opacity:0.15;--admonition-border-opacity:0.8}:root{--attention-icon:var(--i-alert-url);--attention-color:247,89,171;--caution-icon:var(--i-zap-url);--caution-color:247,186,42;--danger-icon:var(--i-skull-url);--danger-color:255,92,47;--error-icon:var(--i-close-url);--error-color:255,92,47;--hint-icon:var(--i-bell-url);--hint-color:0,200,80;--important-icon:var(--i-flame-url);--important-color:179,127,235;--note-icon:var(--i-calendar-url);--note-color:3,169,244;--tip-icon:var(--i-rocket-url);--tip-color:0,200,80;--warning-icon:var(--i-zap-url);--warning-color:255,145,0;--seealso-icon:var(--i-link-url);--seealso-color:60,140,255;--todo-icon:var(--i-bookmark-url);--todo-color:220,150,0;--versionadded-color:0,200,80;--versionchanged-color:247,186,42;--deprecated-color:255,92,47}.admonition{--color-rgb:var(--sy-rc-theme);--icon-url:var(--i-bell-url);position:relative;padding:0 16px .8rem;margin-top:1rem;margin-bottom:1rem;border-left:4px solid rgba(var(--color-rgb),var(--admonition-border-opacity));background-color:rgba(var(--color-rgb),var(--admonition-bg-opacity))}.admonition:before{position:absolute;content:"";top:6px;left:-12px;width:20px;height:20px;border-radius:100%;background-color:rgb(var(--color-rgb))}.admonition p.admonition-title{position:relative;margin:0 -16px .8rem -19px;padding:4px 18px;font-size:.85rem;font-weight:600;line-height:1.72;color:rgb(var(--color-rgb));background-color:rgba(var(--color-rgb),var(--admonition-head-opacity));--yue-c-code:rgb(var(--color-rgb));--yue-c-bold:rgb(var(--color-rgb))}.admonition p.admonition-title svg{display:inline-block}.admonition-title:before{position:absolute;content:"";top:10px;left:-5px;-webkit-mask:var(--icon-url) no-repeat;mask:var(--icon-url) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;font-style:normal;width:12px;height:12px;background-color:#fff}.admonition.attention{--icon-url:var(--attention-icon);--color-rgb:var(--attention-color)}.admonition.caution{--icon-url:var(--caution-icon);--color-rgb:var(--caution-color)}.admonition.danger{--icon-url:var(--danger-icon);--color-rgb:var(--danger-color)}.admonition.error{--icon-url:var(--error-icon);--color-rgb:var(--error-color)}.admonition.hint{--icon-url:var(--hint-icon);--color-rgb:var(--hint-color)}.admonition.important{--icon-url:var(--important-icon);--color-rgb:var(--important-color)}.admonition.note{--icon-url:var(--note-icon);--color-rgb:var(--note-color)}.admonition.tip{--icon-url:var(--tip-icon);--color-rgb:var(--tip-color)}.admonition.warning{--icon-url:var(--warning-icon);--color-rgb:var(--warning-color)}.admonition.seealso{--icon-url:var(--seealso-icon);--color-rgb:var(--seealso-color)}.admonition.admonition-todo{--icon-url:var(--todo-icon);--color-rgb:var(--todo-color)}.admonition p.admonition-title+p{margin-top:0}.admonition>:last-child{margin-bottom:0}span.versionmodified{color:var(--sy-c-bold);font-weight:600}div.deprecated,div.versionadded,div.versionchanged{--version-color:var(--sy-rc-theme);position:relative;padding:6px 1rem;margin:1rem 0;border-left:4px solid rgba(var(--version-color),1);background-color:rgba(var(--version-color),.08);line-height:1.72}div.deprecated:before,div.versionadded:before,div.versionchanged:before{position:absolute;content:var(--version-icon);top:10px;left:-12px;color:#fff;width:20px;height:20px;border-radius:100%;background-color:rgba(var(--version-color),1);text-align:center;font:normal 700 14px/20px var(--sy-f-mono)}div.versionadded{--version-color:var(--versionadded-color);--version-icon:"#"}div.versionchanged{--version-color:var(--versionchanged-color);--version-icon:"%"}div.deprecated{--version-color:var(--deprecated-color);--version-icon:"!"}div.deprecated>p,div.versionadded>p,div.versionchanged>p{margin:0}.yue blockquote.epigraph{padding:1rem 2.4rem;border-left:0;text-align:center}.yue blockquote.highlights{border-left-width:4px;padding-top:.2rem;padding-bottom:.2rem;background-color:var(--sy-c-bg-weak)}.yue blockquote.pull-quote{position:relative;font-size:1.24rem;padding:2.4rem 3.6rem 1.2rem;border-left:0}.yue blockquote.pull-quote:before{content:"\201c";position:absolute;top:0;left:.5rem;color:var(--yue-c-quote-symbol);font:700 4rem/1 Times New Roman,Georgia,Palatino,Times,serif}.yue blockquote.pull-quote .attribution{text-align:right}pre.literal-block{line-height:1.48;padding:1rem;font-size:.96rem;background-color:var(--syntax-pre-bg);border-radius:6px;overflow:auto}.highlight,.literal-block-wrapper{--margin:1rem;--radius:6px}.highlight>pre{line-height:1.48;padding:var(--margin);font-size:.96rem;font-family:var(--sy-f-mono);background-color:var(--syntax-pre-bg);border-radius:var(--radius);overflow:auto}.win .highlight>pre{font-family:"Twemoji Country Flags",var(--sy-f-mono)}.highlight .linenos{display:inline-block;box-shadow:-.05rem 0 rgba(var(--sy-rc-invert),.2) inset;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-right:.8rem;padding-right:.8rem;opacity:.6}.highlight .hll{margin-left:calc(0rem - var(--margin));margin-right:calc(0rem - var(--margin));padding:0 var(--margin)}.code-block-caption{font-size:.84rem;font-weight:600;color:var(--syntax-text);background-color:var(--syntax-cap-bg);padding:.4rem var(--margin);border-radius:var(--radius) var(--radius) 0 0}.code-block-caption+div>.highlight>pre{border-top-left-radius:0;border-top-right-radius:0}div[class^=highlight]>.highlight>pre{display:grid}.yue .table-wrapper{width:100%;overflow-x:auto;margin-top:2rem;margin-bottom:2rem}.yue .table-wrapper>table{margin:0}.yue .table-wrapper thead tr{border-top:1px solid var(--yue-c-td-border)}.yue .table-wrapper th{background-color:var(--yue-c-th-bg);border-left:1px solid var(--yue-c-td-border)}.yue .table-wrapper td,.yue .table-wrapper th:last-child{border-right:1px solid var(--yue-c-td-border)}.yue .table-wrapper td{border-left:1px solid var(--yue-c-td-border)}.yue .table-wrapper tbody tr:first-child{border-top:1px solid var(--yue-c-td-border)}.yue .table-wrapper tbody tr:last-child{border-bottom-width:1px}.yue .table-wrapper thead+tbody tr:first-child{border-top-width:0}.yue table.hlist td{vertical-align:top}.table-wrapper{overflow-x:auto;scrollbar-gutter:stable}.table-wrapper::-webkit-scrollbar{height:.75rem;width:.75rem}.table-wrapper::-webkit-scrollbar-thumb{border-radius:10px}.table-wrapper::-webkit-scrollbar-track{background-color:initial}.table-wrapper:hover::-webkit-scrollbar-thumb{background-color:#9b9b9b33;background-clip:content-box;border:3px solid #0000}html.light{--sig-property:var(--syntax-light-keyword);--sig-name:var(--syntax-light-property);--sig-typehint:var(--syntax-light-constant)}html.dark{--sig-property:var(--syntax-dark-keyword);--sig-name:var(--syntax-dark-property);--sig-typehint:var(--syntax-dark-constant)}dt.sig{position:relative;font-size:.92rem;padding:.25rem .5rem .25rem 3rem;text-indent:-2.4rem;border-radius:6px}dt.sig:after{content:"";display:table;clear:both}dt.sig:hover{background:var(--sy-c-bg-weak)}dt.sig+dd{font-size:.92rem;margin-left:2rem}dt.sig>em.property:first-child{color:var(--sig-property)}dl.field-list a{font-weight:400}dt.sig+dd>div{margin-bottom:1rem}dt.sig+dd>dl.field-list>dt{text-transform:uppercase;font-size:.76rem}em.property,em.sig-param{font-style:normal}em.sig-param{color:var(--sy-c-text-weak)}span.sig-name,span.sig-prename{color:var(--sig-name)}span.sig-name{font-weight:600}span.sig-return-icon{color:var(--sy-c-text-weak)}span.sig-return-typehint,span.sig-return-typehint>a{color:var(--sig-typehint)}span.pre,span.sig-paren{font-family:var(--sy-f-mono)}dt.sig>a.internal{font-size:.82rem;border:0;color:var(--sy-c-text-weak)}dt.sig>a.internal:before{content:"\a";white-space:pre}.viewcode-block{position:relative}.viewcode-back{position:absolute;top:-1.5rem;font-size:.8rem}:root{--syntax-light-pre-bg:rgba(var(--sy-rc-theme),0.1);--syntax-light-cap-bg:rgba(var(--sy-rc-theme),0.2);--syntax-light-highlight-bg:rgba(var(--sy-rc-theme),0.2);--syntax-light-text:#24292f;--syntax-light-meta:#a6a2ae;--syntax-light-comment:#6e7781;--syntax-light-constant:#0550ae;--syntax-light-entity:#268bd2;--syntax-light-property:#8250df;--syntax-light-definition:#24292f;--syntax-light-tag:#085;--syntax-light-builtin:#b58900;--syntax-light-keyword:#cf222e;--syntax-light-exception:#e6212e;--syntax-light-string:#0a3069;--syntax-light-regexp:#e40;--syntax-light-variable:#a4480f;--syntax-light-invalid-illegal-text:#f6f8fa;--syntax-light-invalid-illegal-bg:#82071e;--syntax-light-markup-heading:#0550ae;--syntax-light-markup-italic:#24292f;--syntax-light-markup-bold:#24292f;--syntax-light-markup-deleted-text:#82071e;--syntax-light-markup-deleted-bg:#ffebe9;--syntax-light-markup-inserted-text:#116329;--syntax-light-markup-inserted-bg:#dafbe1;--syntax-light-markup-changed-text:#953800;--syntax-light-markup-changed-bg:#ffd8b5;--syntax-light-markup-ignored-text:#eaeef2;--syntax-light-markup-ignored-bg:#0550ae;--syntax-light-meta-diff-range:#8250df;--syntax-light-special-bg:#dccafa;--syntax-dark-pre-bg:rgba(var(--sy-rc-theme),0.2);--syntax-dark-cap-bg:rgba(var(--sy-rc-theme),0.1);--syntax-dark-highlight-bg:rgba(var(--sy-rc-theme),0.2);--syntax-dark-text:#c9d1d9;--syntax-dark-meta:#6e7781;--syntax-dark-comment:#8b949e;--syntax-dark-constant:#79c0ff;--syntax-dark-entity:#47b0fa;--syntax-dark-property:#d2a8ff;--syntax-dark-definition:#c9d1d9;--syntax-dark-tag:#7ee787;--syntax-dark-builtin:#ffd34c;--syntax-dark-keyword:#ff7b72;--syntax-dark-exception:#da473c;--syntax-dark-string:#a5d6ff;--syntax-dark-regexp:#ef954e;--syntax-dark-variable:#ffa657;--syntax-dark-invalid-illegal-text:#f0f6fc;--syntax-dark-invalid-illegal-bg:#8e1519;--syntax-dark-markup-heading:#1f6feb;--syntax-dark-markup-italic:#c9d1d9;--syntax-dark-markup-bold:#c9d1d9;--syntax-dark-markup-deleted-text:#ffdcd7;--syntax-dark-markup-deleted-bg:#67060c;--syntax-dark-markup-inserted-text:#aff5b4;--syntax-dark-markup-inserted-bg:#033a16;--syntax-dark-markup-changed-text:#ffdfb6;--syntax-dark-markup-changed-bg:#5a1e02;--syntax-dark-markup-ignored-text:#c9d1d9;--syntax-dark-markup-ignored-bg:#1158c7;--syntax-dark-meta-diff-range:#d2a8ff;--syntax-dark-special-bg:#4f425d}:root,html.light{--syntax-pre-bg:var(--syntax-light-pre-bg);--syntax-cap-bg:var(--syntax-light-cap-bg);--syntax-highlight-bg:var(--syntax-light-highlight-bg);--syntax-text:var(--syntax-light-text);--syntax-meta:var(--syntax-light-meta);--syntax-comment:var(--syntax-light-comment);--syntax-constant:var(--syntax-light-constant);--syntax-entity:var(--syntax-light-entity);--syntax-property:var(--syntax-light-property);--syntax-definition:var(--syntax-light-definition);--syntax-tag:var(--syntax-light-tag);--syntax-builtin:var(--syntax-light-builtin);--syntax-keyword:var(--syntax-light-keyword);--syntax-exception:var(--syntax-light-exception);--syntax-string:var(--syntax-light-string);--syntax-regexp:var(--syntax-light-regexp);--syntax-variable:var(--syntax-light-variable);--syntax-invalid-illegal-text:var(--syntax-light-invalid-illegal-text);--syntax-invalid-illegal-bg:var(--syntax-light-invalid-illegal-bg);--syntax-markup-heading:var(--syntax-light-markup-heading);--syntax-markup-italic:var(--syntax-light-markup-italic);--syntax-markup-bold:var(--syntax-light-markup-bold);--syntax-markup-deleted-text:var(--syntax-light-markup-deleted-text);--syntax-markup-deleted-bg:var(--syntax-light-markup-deleted-bg);--syntax-markup-inserted-text:var(--syntax-light-markup-inserted-text);--syntax-markup-inserted-bg:var(--syntax-light-markup-inserted-bg);--syntax-markup-changed-text:var(--syntax-light-markup-changed-text);--syntax-markup-changed-bg:var(--syntax-light-markup-changed-bg);--syntax-markup-ignored-text:var(--syntax-light-markup-ignored-text);--syntax-markup-ignored-bg:var(--syntax-light-markup-ignored-bg);--syntax-meta-diff-range:var(--syntax-light-meta-diff-range);--syntax-special-bg:var(--syntax-light-special-bg)}@media (prefers-color-scheme:dark){:root{--syntax-pre-bg:var(--syntax-dark-pre-bg);--syntax-cap-bg:var(--syntax-dark-cap-bg);--syntax-highlight-bg:var(--syntax-dark-highlight-bg);--syntax-text:var(--syntax-dark-text);--syntax-meta:var(--syntax-dark-meta);--syntax-comment:var(--syntax-dark-comment);--syntax-constant:var(--syntax-dark-constant);--syntax-entity:var(--syntax-dark-entity);--syntax-property:var(--syntax-dark-property);--syntax-definition:var(--syntax-dark-definition);--syntax-tag:var(--syntax-dark-tag);--syntax-builtin:var(--syntax-dark-builtin);--syntax-keyword:var(--syntax-dark-keyword);--syntax-exception:var(--syntax-dark-exception);--syntax-string:var(--syntax-dark-string);--syntax-regexp:var(--syntax-dark-regexp);--syntax-variable:var(--syntax-dark-variable);--syntax-invalid-illegal-text:var(--syntax-dark-invalid-illegal-text);--syntax-invalid-illegal-bg:var(--syntax-dark-invalid-illegal-bg);--syntax-markup-heading:var(--syntax-dark-markup-heading);--syntax-markup-italic:var(--syntax-dark-markup-italic);--syntax-markup-bold:var(--syntax-dark-markup-bold);--syntax-markup-deleted-text:var(--syntax-dark-markup-deleted-text);--syntax-markup-deleted-bg:var(--syntax-dark-markup-deleted-bg);--syntax-markup-inserted-text:var(--syntax-dark-markup-inserted-text);--syntax-markup-inserted-bg:var(--syntax-dark-markup-inserted-bg);--syntax-markup-changed-text:var(--syntax-dark-markup-changed-text);--syntax-markup-changed-bg:var(--syntax-dark-markup-changed-bg);--syntax-markup-ignored-text:var(--syntax-dark-markup-ignored-text);--syntax-markup-ignored-bg:var(--syntax-dark-markup-ignored-bg);--syntax-meta-diff-range:var(--syntax-dark-meta-diff-range);--syntax-special-bg:var(--syntax-dark-special-bg)}}html.dark{--syntax-pre-bg:var(--syntax-dark-pre-bg);--syntax-cap-bg:var(--syntax-dark-cap-bg);--syntax-highlight-bg:var(--syntax-dark-highlight-bg);--syntax-text:var(--syntax-dark-text);--syntax-meta:var(--syntax-dark-meta);--syntax-comment:var(--syntax-dark-comment);--syntax-constant:var(--syntax-dark-constant);--syntax-entity:var(--syntax-dark-entity);--syntax-property:var(--syntax-dark-property);--syntax-definition:var(--syntax-dark-definition);--syntax-tag:var(--syntax-dark-tag);--syntax-builtin:var(--syntax-dark-builtin);--syntax-keyword:var(--syntax-dark-keyword);--syntax-exception:var(--syntax-dark-exception);--syntax-string:var(--syntax-dark-string);--syntax-regexp:var(--syntax-dark-regexp);--syntax-variable:var(--syntax-dark-variable);--syntax-invalid-illegal-text:var(--syntax-dark-invalid-illegal-text);--syntax-invalid-illegal-bg:var(--syntax-dark-invalid-illegal-bg);--syntax-markup-heading:var(--syntax-dark-markup-heading);--syntax-markup-italic:var(--syntax-dark-markup-italic);--syntax-markup-bold:var(--syntax-dark-markup-bold);--syntax-markup-deleted-text:var(--syntax-dark-markup-deleted-text);--syntax-markup-deleted-bg:var(--syntax-dark-markup-deleted-bg);--syntax-markup-inserted-text:var(--syntax-dark-markup-inserted-text);--syntax-markup-inserted-bg:var(--syntax-dark-markup-inserted-bg);--syntax-markup-changed-text:var(--syntax-dark-markup-changed-text);--syntax-markup-changed-bg:var(--syntax-dark-markup-changed-bg);--syntax-markup-ignored-text:var(--syntax-dark-markup-ignored-text);--syntax-markup-ignored-bg:var(--syntax-dark-markup-ignored-bg);--syntax-meta-diff-range:var(--syntax-dark-meta-diff-range);--syntax-special-bg:var(--syntax-dark-special-bg)}.dark-code{--syntax-pre-bg:#2c283b;--syntax-cap-bg:#342f47;--syntax-highlight-bg:#423551;--syntax-text:var(--syntax-dark-text);--syntax-meta:var(--syntax-dark-meta);--syntax-comment:var(--syntax-dark-comment);--syntax-constant:var(--syntax-dark-constant);--syntax-entity:var(--syntax-dark-entity);--syntax-property:var(--syntax-dark-property);--syntax-definition:var(--syntax-dark-definition);--syntax-tag:var(--syntax-dark-tag);--syntax-builtin:var(--syntax-dark-builtin);--syntax-keyword:var(--syntax-dark-keyword);--syntax-exception:var(--syntax-dark-exception);--syntax-string:var(--syntax-dark-string);--syntax-regexp:var(--syntax-dark-regexp);--syntax-variable:var(--syntax-dark-variable);--syntax-invalid-illegal-text:var(--syntax-dark-invalid-illegal-text);--syntax-invalid-illegal-bg:var(--syntax-dark-invalid-illegal-bg);--syntax-markup-heading:var(--syntax-dark-markup-heading);--syntax-markup-italic:var(--syntax-dark-markup-italic);--syntax-markup-bold:var(--syntax-dark-markup-bold);--syntax-markup-deleted-text:var(--syntax-dark-markup-deleted-text);--syntax-markup-deleted-bg:var(--syntax-dark-markup-deleted-bg);--syntax-markup-inserted-text:var(--syntax-dark-markup-inserted-text);--syntax-markup-inserted-bg:var(--syntax-dark-markup-inserted-bg);--syntax-markup-changed-text:var(--syntax-dark-markup-changed-text);--syntax-markup-changed-bg:var(--syntax-dark-markup-changed-bg);--syntax-markup-ignored-text:var(--syntax-dark-markup-ignored-text);--syntax-markup-ignored-bg:var(--syntax-dark-markup-ignored-bg);--syntax-meta-diff-range:var(--syntax-dark-meta-diff-range);--syntax-special-bg:var(--syntax-dark-special-bg)}.sy-lside{--height:42px}.sy-lside-bottom{position:sticky;bottom:0;padding:0;border-top:1px solid var(--sy-c-divider);background-color:var(--sy-c-bg);--tw-shadow:0 -12px 16px var(--sy-c-bg);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sy-lside .rst-versions{position:static;width:100%;background-color:var(--sy-c-bg-weak);font-family:var(--sy-f-text)}.sy-lside .rst-versions a{color:var(--sy-c-link)}.sy-lside .rst-versions .rst-current-version{background-color:var(--sy-c-bg);color:var(--sy-c-text);padding:0 1rem;height:var(--height);line-height:var(--height)}.sy-lside .rst-versions.rst-badge .rst-current-version{text-align:left;font-size:.94rem;padding:0 1rem;height:var(--height);line-height:var(--height)}.sy-lside .rst-versions .rst-current-version .fa{color:var(--sy-c-text)}.sy-lside .rst-versions.rst-badge.shift-up .rst-current-version{text-align:left}.sy-lside .rst-versions.rst-badge.shift-up .rst-current-version .fa-book{float:none}.sy-lside .rst-other-versions{font-size:.86rem;border-top:1px solid var(--sy-c-divider)}.sy-lside .rst-other-versions dt{font-size:.68rem;font-weight:500;padding:4px 6px;color:var(--sy-c-text-weak)}.sy-lside .rst-versions .rst-other-versions dd a{color:var(--sy-c-text)}.sy-lside .rst-versions .rst-other-versions dd a:hover{text-decoration:underline;color:var(--sy-c-link)}.sy-lside .rst-versions input{width:100%;padding:6px 12px;font-size:.92rem;font-family:var(--sy-f-text);border-radius:6px;outline:0;background:var(--sy-c-bg);border:1px solid var(--sy-c-border)}.sy-lside .rst-versions .rst-other-versions hr{border-color:var(--sy-c-divider)}@media (min-width:90rem){.sy-lside .rst-versions{background:var(--sy-c-bg)}}.yue button.copybtn{align-items:center;justify-content:center;background-color:initial;border:none;color:var(--syntax-text)}.yue button.copybtn>svg{width:1.4rem;height:1.4rem}.yue .highlight button.copybtn:hover{background-color:initial;color:var(--syntax-meta)}.yue .o-tooltip--left:after{background-color:initial;color:var(--syntax-text)}.yue{--sd-color-primary:rgb(var(--sy-rc-theme));--sd-color-success:#00c850;--sd-color-warning:#ff9100;--sd-color-danger:#ff5c2f;--sd-color-card-border-hover:var(--sy-c-border);--sd-color-card-border:var(--sy-c-divider);--sd-color-tabs-label-inactive:var(--sy-c-bold);--sd-color-tabs-label-active:var(--sd-color-primary);--sd-color-tabs-underline-active:var(--sd-color-primary)}.light .yue{--sd-color-shadow:#f3f4f6}.dark .yue{--sd-color-shadow:#010409}.yue .sd-container-fluid{margin-top:2rem;padding:.5rem}.yue .sd-row{--sd-gutter-x:1rem;--sd-gutter-y:1rem}.yue .sd-row-cols-1{display:grid;grid-template-columns:1fr;grid-gap:1rem}.yue .sd-row-cols-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem}.yue .sd-row-cols-1>.sd-col,.yue .sd-row-cols-2>.sd-col{width:100%;padding:0;margin:0}.yue .sd-card-hover:hover{transform:scale(1)}.yue .sd-card-hover:hover .sd-card-title{color:var(--sy-c-link)}.yue .sd-card a,.yue .sd-card a:hover{border-bottom:0}@media (max-width:880px){.yue .sd-row-cols-2{grid-template-columns:1fr}}.yue .sd-tab-set>label{padding:1rem .25rem .5rem;font-size:.84rem;font-weight:500}.yue .sd-tab-set>label~label{margin-left:1rem}.yue .sd-tab-content{padding:0;box-shadow:0 -.0625rem var(--sy-c-divider)}.light .sd-tab-content .highlight{--syntax-pre-bg:var(--syntax-light-pre-bg);--syntax-cap-bg:var(--syntax-light-cap-bg);--syntax-text:var(--syntax-light-text);--syntax-meta:var(--syntax-light-meta);--syntax-comment:var(--syntax-light-comment);--syntax-constant:var(--syntax-light-constant);--syntax-entity:var(--syntax-light-entity);--syntax-property:var(--syntax-light-property);--syntax-definition:var(--syntax-light-definition);--syntax-tag:var(--syntax-light-tag);--syntax-builtin:var(--syntax-light-builtin);--syntax-keyword:var(--syntax-light-keyword);--syntax-exception:var(--syntax-light-exception);--syntax-string:var(--syntax-light-string);--syntax-regexp:var(--syntax-light-regexp);--syntax-variable:var(--syntax-light-variable);--syntax-invalid-illegal-text:var(--syntax-light-invalid-illegal-text);--syntax-invalid-illegal-bg:var(--syntax-light-invalid-illegal-bg);--syntax-markup-heading:var(--syntax-light-markup-heading);--syntax-markup-italic:var(--syntax-light-markup-italic);--syntax-markup-bold:var(--syntax-light-markup-bold);--syntax-markup-deleted-text:var(--syntax-light-markup-deleted-text);--syntax-markup-deleted-bg:var(--syntax-light-markup-deleted-bg);--syntax-markup-inserted-text:var(--syntax-light-markup-inserted-text);--syntax-markup-inserted-bg:var(--syntax-light-markup-inserted-bg);--syntax-markup-changed-text:var(--syntax-light-markup-changed-text);--syntax-markup-changed-bg:var(--syntax-light-markup-changed-bg);--syntax-markup-ignored-text:var(--syntax-light-markup-ignored-text);--syntax-markup-ignored-bg:var(--syntax-light-markup-ignored-bg);--syntax-meta-diff-range:var(--syntax-light-meta-diff-range);--syntax-highlight-bg:var(--syntax-light-highlight-bg);--syntax-special-bg:var(--syntax-light-special-bg)}.yue .sd-tab-content .highlight pre{border-radius:0}@media (print){.yue .sd-card{page-break-inside:avoid}}.yue a.sd-text-wrap{border-bottom:0}.sphinx-tabs [role=tablist]{border-color:var(--sy-c-divider)}.yue .sphinx-tabs-tab{color:var(--sy-c-text);line-height:inherit;padding:1rem .25rem .5rem;font-size:.84rem;font-weight:500;border:none;border-bottom:.125rem solid #0000}.yue .sphinx-tabs-tab:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.yue .sphinx-tabs-tab[aria-selected=true]{border:none;border-bottom:.125rem solid var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active);background-color:initial}.yue .sphinx-tabs-tab+.sphinx-tabs-tab{margin-left:1rem}.yue .sphinx-tabs-panel{border:none;padding:0;margin:0;border-radius:0;background-color:initial}.yue .sphinx-tabs-panel.code-tab{padding:0}.yue .sphinx-tabs-panel.code-tab .highlight pre{border-radius:0}.yue .jupyter_container{background-color:var(--sy-c-bg);border:3px solid var(--sy-c-border);border-radius:6px;overflow:hidden;box-shadow:none}.document .yue .jupyter_container div[class^=highlight]{padding:0}.yue .jupyter_container div.cell_input{background-color:var(--syntax-pre-bg);border:0;border-radius:0}.yue .jupyter_container div.code_cell pre{padding:0}.jupyter_container div.cell_output>.output,.jupyter_container div.cell_output>.stderr,.jupyter_container div.cell_output>.thebelab-output,.jupyter_container div.cell_output>.widget-subarea{padding:.5rem}.jupyter_container div.code_cell .highlight>pre{padding:1rem}.jupyter_container div.code_cell .highlight .hll{margin-left:-1rem;margin-right:-1rem;padding:0 1rem}.jupyter_container div.code_cell .highlight .linenos{margin-right:.8rem}.yue .jupyter_container .stderr{background-color:var(--stderr-bg)}html.light .stderr{--stderr-bg:#ff8d8d}html.dark .stderr{--stderr-bg:#e02323}html.light .jupyter_container .cell_output{--syntax-pre-bg:var(--syntax-light-pre-bg);--syntax-cap-bg:var(--syntax-light-cap-bg);--syntax-text:var(--syntax-light-text);--syntax-meta:var(--syntax-light-meta);--syntax-comment:var(--syntax-light-comment);--syntax-constant:var(--syntax-light-constant);--syntax-entity:var(--syntax-light-entity);--syntax-property:var(--syntax-light-property);--syntax-definition:var(--syntax-light-definition);--syntax-tag:var(--syntax-light-tag);--syntax-builtin:var(--syntax-light-builtin);--syntax-keyword:var(--syntax-light-keyword);--syntax-exception:var(--syntax-light-exception);--syntax-string:var(--syntax-light-string);--syntax-regexp:var(--syntax-light-regexp);--syntax-variable:var(--syntax-light-variable);--syntax-invalid-illegal-text:var(--syntax-light-invalid-illegal-text);--syntax-invalid-illegal-bg:var(--syntax-light-invalid-illegal-bg);--syntax-markup-heading:var(--syntax-light-markup-heading);--syntax-markup-italic:var(--syntax-light-markup-italic);--syntax-markup-bold:var(--syntax-light-markup-bold);--syntax-markup-deleted-text:var(--syntax-light-markup-deleted-text);--syntax-markup-deleted-bg:var(--syntax-light-markup-deleted-bg);--syntax-markup-inserted-text:var(--syntax-light-markup-inserted-text);--syntax-markup-inserted-bg:var(--syntax-light-markup-inserted-bg);--syntax-markup-changed-text:var(--syntax-light-markup-changed-text);--syntax-markup-changed-bg:var(--syntax-light-markup-changed-bg);--syntax-markup-ignored-text:var(--syntax-light-markup-ignored-text);--syntax-markup-ignored-bg:var(--syntax-light-markup-ignored-bg);--syntax-meta-diff-range:var(--syntax-light-meta-diff-range);--syntax-highlight-bg:var(--syntax-light-highlight-bg);--syntax-special-bg:var(--syntax-light-special-bg)}.nbinput .highlight{--radius:1px}.yue div.nblast.container{padding-top:5px}.yue div.nbinput.container div.input_area{border-color:var(--sy-c-border)}.yue div.nboutput.container div.output_area.stderr{background-color:var(--stderr-bg)}.yue div.nboutput.container div.output_area>.math-wrapper>div.math{padding-top:0}@media print{.print\:hidden{display:none}.print\:pt-6{padding-top:1.5rem}}@media not all and (min-width:640px){.max-sm\:max-w-full{max-width:100%}}@media (min-width:768px){.md\:sticky{position:sticky}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-72{width:18rem}.md\:shrink-0{flex-shrink:0}}@media (min-width:1280px){.xl\:sticky{position:sticky}.xl\:top-16{top:4rem}.xl\:hidden{display:none}.xl\:px-12{padding-left:3rem;padding-right:3rem}.xl\:pl-0{padding-left:0}} \ No newline at end of file diff --git a/latest/_static/shibuya.js b/latest/_static/shibuya.js new file mode 100644 index 0000000..fce6571 --- /dev/null +++ b/latest/_static/shibuya.js @@ -0,0 +1 @@ +(()=>{function y(t){let e=t.getAttribute("aria-controls"),s=document.getElementById(e),c="data-expanded-"+e;t.addEventListener("click",function(){document.body.hasAttribute(c)?(document.body.removeAttribute(c),s.classList.remove("_expanded"),m(e,"false")):(document.body.setAttribute(c,"true"),s.classList.add("_expanded"),m(e,"true"))})}function m(t,e){let s=document.querySelectorAll('[aria-controls="'+t+'"]');for(el of s)el.setAttribute("aria-expanded",e)}var f=document.querySelectorAll(".js-menu");for(let t=0;t{r.parentNode.removeChild(r),document.head.removeChild(t)}),e(),window.addEventListener("resize",e)}var L;var v=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,d=document.documentElement;function A(){let t=d.classList.contains("dark"),e=t?"dark":"light";d.classList.remove(e);let s=t?"light":"dark";h(s),sessionStorage._theme=s}var i=document.querySelector(".js-theme");function h(t){d.classList.add(t);let e=i.getAttribute("data-aria-"+t);i.setAttribute("aria-label",e)}if(i){let t=v?"dark":"light",e=sessionStorage._theme||t;h(e),i.addEventListener("click",A)}function x(){let t=document.querySelector(".globaltoc");if(!t)return;let e=parseInt(t.getAttribute("data-expand-depth"),10),s=n=>{if(!e)return!1;let o=0;for(;n.parentNode&&n.parentNode!==t;)n=n.parentNode,n.nodeName==="UL"&&(o+=1);return e>=o};t.querySelectorAll("li > ul").forEach(n=>{let o=n.parentNode;o.classList.contains("current")||s(o)?o.classList.add("_expand"):o.classList.add("_collapse");let a=_(n);o.appendChild(a)})}function _(t){let e=document.createElement("button");e.innerHTML='';let s=t.parentNode,c=t.previousSibling,n=c.textContent,o=()=>{s.classList.contains("_expand")?e.setAttribute("arial-label","Collapse "+n):e.setAttribute("arial-label","Expand "+n)};o();let a=g=>{g.preventDefault(),s.classList.contains("_expand")?(s.classList.remove("_expand"),s.classList.add("_collapse")):(s.classList.remove("_collapse"),s.classList.add("_expand")),o()};return c.getAttribute("href")==="#"&&c.addEventListener("click",a),e.addEventListener("click",a),e}x();function b(){let t='.localtoc a[href="'+location.hash+'"]',e=document.querySelector(t);e&&(document.querySelectorAll(".localtoc li").forEach(c=>{c.classList.remove("active")}),e.parentNode.classList.add("active"))}b();window.addEventListener("hashchange",()=>{b()},!1);var l=document.querySelector(".js-repo-stats");async function w(t,e){let s=`https://api.github.com/repos/${t}/${e}`,n=await(await fetch(s)).json(),o={stars:n.watchers,forks:n.forks};u(o),sessionStorage.setItem("_sy/repo/stats",JSON.stringify(o))}async function E(t,e){let s="https://gitlab.com/api/v4/projects/"+encodeURIComponent(t+"/"+e),n=await(await fetch(s)).json(),o={stars:n.star_count,forks:n.forks_count};u(o),sessionStorage.setItem("_sy/repo/stats",JSON.stringify(o))}function u({stars:t,forks:e}){t&&(document.querySelector(".js-repo-stars").textContent=t),e&&(document.querySelector(".js-repo-forks").textContent=e)}function k(){let t=sessionStorage.getItem("_sy/repo/stats");if(t)u(JSON.parse(t));else{let e=l.getAttribute("data-user"),s=l.getAttribute("data-repo"),c=l.getAttribute("data-type");c==="github"?w(e,s):c==="gitlab"&&E(e,s)}}l&&k();function q(t,e){let s=document.createElement("script");s.id="_carbonads_js",s.src=`//cdn.carbonads.com/carbon.js?serve=${t}&placement=${e}`;let c=document.querySelector(".yue > section"),n=document.querySelector(".yue > section > section");if(n)c.insertBefore(s,n);else{let o=document.querySelector(".yue > section > p");o?c.insertBefore(s,o.nextSibling):c.appendChild(s)}}var p=document.querySelector(".js-carbon");if(p){let t=p.getAttribute("data-carbon-code"),e=p.getAttribute("data-carbon-placement");t&&e&&q(t,e)}/windows/i.test(navigator.userAgent)&&document.body.classList.add("win");})(); diff --git a/latest/_static/sphinx_highlight.js b/latest/_static/sphinx_highlight.js new file mode 100644 index 0000000..8a96c69 --- /dev/null +++ b/latest/_static/sphinx_highlight.js @@ -0,0 +1,154 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + const rest = document.createTextNode(val.substr(pos + text.length)); + parent.insertBefore( + span, + parent.insertBefore( + rest, + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + /* There may be more occurrences of search term in this node. So call this + * function recursively on the remaining fragment. + */ + _highlight(rest, addItems, text, className); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '

" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(() => { + /* Do not call highlightSearchWords() when we are on the search page. + * It will highlight words from the *previous* search query. + */ + if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); + SphinxHighlight.initEscapeListener(); +}); diff --git a/latest/api/index.html b/latest/api/index.html new file mode 100644 index 0000000..6a8ba83 --- /dev/null +++ b/latest/api/index.html @@ -0,0 +1,248 @@ + + + + + + API Reference - Docs + + + + + + + + + + + + + + +
+
+

This documentation is currently under development.

+ +
+
+
+
+ + + + python-reddit + + +
+ + +
+
+
+
+ + + + +
+ +
+
+
+
+

API Reference

+
+
+
+ +
+ + + +
+
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/latest/api/widgets/index.html b/latest/api/widgets/index.html new file mode 100644 index 0000000..9976874 --- /dev/null +++ b/latest/api/widgets/index.html @@ -0,0 +1,347 @@ + + + + + + widgets - Docs + + + + + + + + + + + + + + +
+
+

This documentation is currently under development.

+ +
+
+
+
+ + + + python-reddit + + +
+ + +
+
+
+
+ + + + +
+ +
+
+
+
+

widgets

+

Get the current Python events from an ics file and format them into a markdown string.

+
+
+exception src.widgets.events.FetchFailedError[source]
+

Bases: Exception

+

Raised when the fetch fails for any reason.

+
+ +
+
+async src.widgets.events.fetch_ics(url: str) Any[source]
+

Fetches the ics file from the given url and returns the text content.

+
+
Parameters:
+

url (str) – The url to fetch the ics file from

+
+
Raises:
+

FetchFailedException – If the fetch fails for any reason

+
+
Returns:
+

The text content of the ics file

+
+
Return type:
+

str

+
+
+
+ +
+
+src.widgets.events.format_event(event_time_start: Arrow, event_time_end: Arrow | None, summary: str, link: str) str[source]
+

Formats the event into a markdown string.

+
+
Parameters:
+
    +
  • event_time_start (arrow.Arrow) – The start time of the event

  • +
  • event_time_end (arrow.Arrow) – The end time of the event

  • +
  • summary (str) – The summary of the event

  • +
  • link (str) – The link to the event

  • +
+
+
Returns:
+

The markdown string

+
+
Return type:
+

str

+
+
+
+ +
+
+async src.widgets.events.main() None[source]
+

Make events go brr.

+
+ +
+
+src.widgets.events.parse_ics_to_md(ics_str: str) str[source]
+

Parses the ics string into a markdown string.

+
+
Parameters:
+

ics_str (str) – The ics string to parse

+
+
Returns:
+

The markdown string

+
+
Return type:
+

str

+
+
+
+ +
+
+async src.widgets.events.write_to_md_file(content: str, file_path: str) None[source]
+

Writes the content to the given file path.

+
+
Parameters:
+
    +
  • content (str) – The content to write

  • +
  • file_path (str) – The file path to write to

  • +
+
+
+
+ +
+ +
+ + + +
+
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/latest/changelog.html b/latest/changelog.html new file mode 100644 index 0000000..eac8ad6 --- /dev/null +++ b/latest/changelog.html @@ -0,0 +1,265 @@ + + + + + + Changelog - Docs + + + + + + + + + + + + + + +
+
+

This documentation is currently under development.

+ +
+
+
+
+ + + + python-reddit + + +
+ + +
+
+
+
+ + + + +
+ +
+
+
+
+

Changelog

+

All commits to this project will be documented in this file.

+
+

[unreleased]

+
+

Features

+
    +
  • (a41efae) - Add events script (#4) (Jacob Coffee)

  • +
  • (8534ec6) - Add docs (#5) (Jacob Coffee)

  • +
+
+
+

Miscellaneous Tasks

+
    +
  • (a80f4b1) - Add ci badges (Jacob Coffee)

  • +
  • (696e05f) - Apply pre-commit (Jacob Coffee)

  • +
+
+
+

Ci

+
    +
  • (8f0fa9a) - Remove unused actions (Jacob Coffee)

  • +
+

Python Reddit Changelog

+
+
+
+ +
+ + + +
+
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/latest/contribution-guide.html b/latest/contribution-guide.html new file mode 100644 index 0000000..d9ad18e --- /dev/null +++ b/latest/contribution-guide.html @@ -0,0 +1,311 @@ + + + + + + Contribution guide - Docs + + + + + + + + + + + + + + +
+
+

This documentation is currently under development.

+ +
+
+
+
+ + + + python-reddit + + +
+ + +
+
+
+
+ + + + +
+ +
+
+
+
+

Contribution guide

+
+

Setting up the environment

+
    +
  1. Install Pizza Delivery Man

  2. +
  3. Run pdm install -G:all to create a virtual environment and install +the dependencies

  4. +
  5. If you’re working on the documentation and need to build it locally, install the extra dependencies with pdm install -G:docs

  6. +
  7. Install pre-commit

  8. +
  9. Run pre-commit install to install pre-commit hooks

  10. +
+
+
+

Code contributions

+
+

Workflow

+
    +
  1. Fork the python repository

  2. +
  3. Clone your fork locally with git

  4. +
  5. Set up the environment

  6. +
  7. Make your changes

  8. +
  9. (Optional) Run pre-commit run --all-files to run linters and formatters. This step is optional and will be executed +automatically by git before you make a commit, but you may want to run it manually in order to apply fixes

  10. +
  11. Commit your changes to git

  12. +
  13. Push the changes to your fork

  14. +
  15. Open a pull request. Give the pull request a descriptive title +indicating what it changes. If it has a corresponding open issue, the issue number should be included in the title as +well. For example a pull request that fixes issue bug: Increased stack size making it impossible to find needle #100 +could be titled fix(#100): Make needles easier to find by applying fire to haystack

  16. +
+
+

Tip

+

Pull requests and commits all need to follow the +Conventional Commit format

+
+
+
+
+

Guidelines for writing code

+
    +
  • All code should be fully typed. This is enforced via +mypy.

  • +
  • All code should be properly formatted. This is enforced via black and Ruff.

  • +
+
+
+

Project documentation

+

The documentation is located in the /docs directory and is ReST and +Sphinx. If you’re unfamiliar with any of those, +ReStructuredText primer and +Sphinx quickstart are recommended reads.

+
+

Running the docs locally

+

To run or build the docs locally, you need to first install the required dependencies:

+

pdm install -G:docs

+

Then you can serve the documentation with make docs-serve, or build them with make docs.

+
+
+
+ +
+ + + +
+
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/latest/genindex.html b/latest/genindex.html new file mode 100644 index 0000000..bc1d458 --- /dev/null +++ b/latest/genindex.html @@ -0,0 +1,212 @@ + + + + + + Index - Docs + + + + + + + + + + + + + +
+
+

This documentation is currently under development.

+ +
+
+
+
+ + + + python-reddit + + +
+ + +
+
+
+
+ +
+
+ + + + + + + + + + \ No newline at end of file diff --git a/latest/index.html b/latest/index.html new file mode 100644 index 0000000..9f6cb80 --- /dev/null +++ b/latest/index.html @@ -0,0 +1,257 @@ + + + + + + Docs + + + + + + + + + + + + + + +
+
+

This documentation is currently under development.

+ +
+
+
+
+ + + + python-reddit + + +
+ + +
+
+
+
+ + + + +
+ +
+
+
+
+

Python Reddit

+
+

Overview

+

This project helps manage the Python subreddit.

+
+
+

Usage

+
+
+
+
+
+
+ +
+ + + +
+
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/latest/objects.inv b/latest/objects.inv new file mode 100644 index 0000000000000000000000000000000000000000..d98f302ad6b5fde9b6bcf023aa65c987e9f581be GIT binary patch literal 736 zcmV<60w4V&AX9K?X>NERX>N99Zgg*Qc_4OWa&u{KZXhxWBOp+6Z)#;@bUGk#d30!R zZY^?UWMpY{3L_v^WpZMd?av*PJAarPHb0B7E zY-J#6b0A}HZE$jBb8}^6Aa!$TZf78RY-wUH3V7P3mP?P@AQXl7`4vd%mQ1_#u8KO< zEJlqot-7eHh{4x39SjzaWb*IJD}KawYBd`RF6Vq4z$Vd(ZcZ#O!RQSfK^Tpib5_gT zazGyuY1l&=eqbVp_f2JLzK-Mg1Hvmk0&E_^(CU#e4*3_Qr1C^~r_dNC1^P4xouL(; zc3?CFE3BaZN0F)~<`8;!foj6UU4Vut4SqcbBM)_c7we>$fyg-&Zoikq{7@(%ZSpLa z6yd1vbm;T$3GJZ(1%g87$XpAlOFj5Gc?CWutX&s($}w*c?mEdhIZCCmH%q;7n)$bP zyq_(fRz#G*W!cZv7Gsv}rQ4~qUsfpKKs4mPhf#*+b*DppPY*SWFvsasQ*kJ}ZDwf8 zdh!B@u?qA}Q!9E*jUJ$8ngZuUfV3JJqTg<_26`Oz&jZGHUt3WrjAF0Wzt*_4EQi6l zj7HM|_39|pCqNmMj@GYVN1mpyy$=t4+YxGd!s}Q|Cme0UvK59WXTqJCy9JTIGngn* zSooruI{j)droQY0%LT6a^xshO1(!Y4Boc(F!Y zQo{Lp+2qNMo!bY{_~PErV5cHzFky3S6XYO{OiAHWFAI_U*ft?Y-~Td;o(gi3>aF1N zv~1c|{WCRIC5Z0EZvB^P{Q91Jb2Ylydy3uJRPF@#kmt-qWhRfHjts7n_3rLg@GUix zv57DhV6*P1!bvq1z-m&$tUr$a@XwX|6`9zC=8P``ah1>UuT + + + + + Python Module Index - Docs + + + + + + + + + + + + + + + + +
+
+

This documentation is currently under development.

+ +
+
+
+
+ + + + python-reddit + + +
+ + +
+
+
+
+
+ + +

Python Module Index

+ +
+ s +
+ + + + + + + + + + +
 
+ s
+ src +
    + src.widgets.events +
+ + +
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/latest/search.html b/latest/search.html new file mode 100644 index 0000000..a873a12 --- /dev/null +++ b/latest/search.html @@ -0,0 +1,176 @@ + + + + + + Search - Docs + + + + + + + + + + + + + + + + +
+
+

This documentation is currently under development.

+ +
+
+
+
+ + + + python-reddit + + +
+ + +
+
+
+
+
+ +

Search

+ + + + +

+ Searching for multiple words only shows matches that contain + all words. +

+ + +
+ + +
+

+ + + +
+ +
+ + +
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/latest/searchindex.js b/latest/searchindex.js new file mode 100644 index 0000000..6e75199 --- /dev/null +++ b/latest/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({"docnames": ["api/index", "api/widgets/index", "changelog", "contribution-guide", "index"], "filenames": ["api/index.rst", "api/widgets/index.rst", "changelog.rst", "contribution-guide.rst", "index.rst"], "titles": ["API Reference", "widgets", "Changelog", "Contribution guide", "Python Reddit"], "terms": {"get": 1, "current": 1, "python": [1, 2, 3], "event": [1, 2], "from": 1, "an": 1, "ic": 1, "file": [1, 2, 3], "format": [1, 3], "them": [1, 3], "markdown": 1, "string": 1, "except": 1, "src": 1, "fetchfailederror": 1, "sourc": 1, "base": 1, "rais": 1, "when": 1, "fetch": 1, "fail": 1, "ani": [1, 3], "reason": 1, "async": 1, "fetch_ic": 1, "url": 1, "str": 1, "given": 1, "return": 1, "text": 1, "content": 1, "paramet": 1, "The": [1, 3], "fetchfailedexcept": 1, "If": [1, 3], "type": [1, 3], "format_ev": 1, "event_time_start": 1, "arrow": 1, "event_time_end": 1, "none": 1, "summari": 1, "link": 1, "start": 1, "time": 1, "end": 1, "main": 1, "make": [1, 3], "go": 1, "brr": 1, "parse_ics_to_md": 1, "ics_str": 1, "pars": 1, "write_to_md_fil": 1, "file_path": 1, "write": 1, "path": 1, "all": [2, 3], "commit": [2, 3], "thi": [2, 3, 4], "project": [2, 4], "document": 2, "a41efa": 2, "add": 2, "script": 2, "4": 2, "jacob": 2, "coffe": 2, "8534ec6": 2, "doc": 2, "5": 2, "a80f4b1": 2, "badg": 2, "696e05f": 2, "appli": [2, 3], "pre": [2, 3], "8f0fa9a": 2, "remov": 2, "unus": 2, "action": 2, "reddit": 2, "instal": 3, "pizza": 3, "deliveri": 3, "man": 3, "pdm": 3, "g": 3, "creat": 3, "virtual": 3, "depend": 3, "you": 3, "re": 3, "work": 3, "need": 3, "build": 3, "extra": 3, "hook": 3, "fork": 3, "repositori": 3, "clone": 3, "your": 3, "git": 3, "chang": 3, "option": 3, "linter": 3, "formatt": 3, "step": 3, "i": 3, "execut": 3, "automat": 3, "befor": 3, "mai": 3, "want": 3, "manual": 3, "order": 3, "fix": 3, "push": 3, "open": 3, "pull": 3, "request": 3, "give": 3, "descript": 3, "titl": 3, "indic": 3, "what": 3, "ha": 3, "correspond": 3, "issu": 3, "number": 3, "should": 3, "includ": 3, "well": 3, "For": 3, "exampl": 3, "bug": 3, "increas": 3, "stack": 3, "size": 3, "imposs": 3, "find": 3, "needl": 3, "100": 3, "could": 3, "easier": 3, "fire": 3, "haystack": 3, "follow": 3, "convent": 3, "fulli": 3, "enforc": 3, "via": 3, "mypi": 3, "properli": 3, "black": 3, "ruff": 3, "locat": 3, "directori": 3, "rest": 3, "sphinx": 3, "unfamiliar": 3, "those": 3, "restructuredtext": 3, "primer": 3, "quickstart": 3, "ar": 3, "recommend": 3, "read": 3, "To": 3, "first": 3, "requir": 3, "Then": 3, "can": 3, "serv": 3, "help": 4, "manag": 4, "subreddit": 4}, "objects": {"src.widgets": [[1, 0, 0, "-", "events"]], "src.widgets.events": [[1, 1, 1, "", "FetchFailedError"], [1, 2, 1, "", "fetch_ics"], [1, 2, 1, "", "format_event"], [1, 2, 1, "", "main"], [1, 2, 1, "", "parse_ics_to_md"], [1, 2, 1, "", "write_to_md_file"]]}, "objtypes": {"0": "py:module", "1": "py:exception", "2": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "exception", "Python exception"], "2": ["py", "function", "Python function"]}, "titleterms": {"api": 0, "refer": 0, "widget": 1, "changelog": 2, "unreleas": 2, "featur": 2, "miscellan": 2, "task": 2, "ci": 2, "contribut": 3, "guid": 3, "set": 3, "up": 3, "environ": 3, "code": 3, "workflow": 3, "guidelin": 3, "write": 3, "project": 3, "document": 3, "run": 3, "doc": 3, "local": 3, "python": 4, "reddit": 4, "overview": 4, "usag": 4}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"API Reference": [[0, "api-reference"]], "widgets": [[1, "module-src.widgets.events"]], "Changelog": [[2, "changelog"]], "[unreleased]": [[2, "unreleased"]], "Features": [[2, "features"]], "Miscellaneous Tasks": [[2, "miscellaneous-tasks"]], "Ci": [[2, "ci"]], "Contribution guide": [[3, "contribution-guide"]], "Setting up the environment": [[3, "setting-up-the-environment"]], "Code contributions": [[3, "code-contributions"]], "Workflow": [[3, "workflow"]], "Guidelines for writing code": [[3, "guidelines-for-writing-code"]], "Project documentation": [[3, "project-documentation"]], "Running the docs locally": [[3, "running-the-docs-locally"]], "Python Reddit": [[4, "python-reddit"]], "Overview": [[4, "overview"]], "Usage": [[4, "usage"]]}, "indexentries": {"fetchfailederror": [[1, "src.widgets.events.FetchFailedError"]], "fetch_ics() (in module src.widgets.events)": [[1, "src.widgets.events.fetch_ics"]], "format_event() (in module src.widgets.events)": [[1, "src.widgets.events.format_event"]], "main() (in module src.widgets.events)": [[1, "src.widgets.events.main"]], "module": [[1, "module-src.widgets.events"]], "parse_ics_to_md() (in module src.widgets.events)": [[1, "src.widgets.events.parse_ics_to_md"]], "src.widgets.events": [[1, "module-src.widgets.events"]], "write_to_md_file() (in module src.widgets.events)": [[1, "src.widgets.events.write_to_md_file"]]}}) \ No newline at end of file