From 84ed63c1ce4d450ced1afc07bd3e39b588c3a4e3 Mon Sep 17 00:00:00 2001 From: ftnext Date: Wed, 4 Sep 2024 14:41:04 +0000 Subject: [PATCH] [release] Publish on GitHub Pages --- .buildinfo | 4 + .nojekyll | 0 _images/breakfast.jpg | Bin 0 -> 54642 bytes _images/pyconjp2019.jpg | Bin 0 -> 43011 bytes _sources/api.rst.txt | 5 + _sources/guide.en.rst.txt | 113 ++++ _sources/guide.rst.txt | 113 ++++ _sources/index.rst.txt | 28 + _sources/markdown-example.md.txt | 66 +++ _static/alabaster.css | 663 ++++++++++++++++++++++ _static/basic.css | 925 +++++++++++++++++++++++++++++++ _static/breakfast.jpg | Bin 0 -> 54642 bytes _static/custom.css | 1 + _static/doctools.js | 156 ++++++ _static/documentation_options.js | 13 + _static/file.png | Bin 0 -> 286 bytes _static/github-banner.svg | 5 + _static/language_data.js | 26 + _static/minus.png | Bin 0 -> 90 bytes _static/plus.png | Bin 0 -> 90 bytes _static/pyconjp2019.jpg | Bin 0 -> 43011 bytes _static/pygments.css | 84 +++ _static/searchtools.js | 620 +++++++++++++++++++++ _static/sphinx_highlight.js | 154 +++++ _static/translations.js | 60 ++ api.html | 125 +++++ genindex.html | 156 ++++++ guide.en.html | 207 +++++++ guide.html | 207 +++++++ index.html | 153 +++++ markdown-example.html | 174 ++++++ objects.inv | 5 + py-modindex.html | 128 +++++ search.html | 127 +++++ searchindex.js | 1 + 35 files changed, 4319 insertions(+) create mode 100644 .buildinfo create mode 100644 .nojekyll create mode 100644 _images/breakfast.jpg create mode 100644 _images/pyconjp2019.jpg create mode 100644 _sources/api.rst.txt create mode 100644 _sources/guide.en.rst.txt create mode 100644 _sources/guide.rst.txt create mode 100644 _sources/index.rst.txt create mode 100644 _sources/markdown-example.md.txt create mode 100644 _static/alabaster.css create mode 100644 _static/basic.css create mode 100644 _static/breakfast.jpg create mode 100644 _static/custom.css create mode 100644 _static/doctools.js create mode 100644 _static/documentation_options.js create mode 100644 _static/file.png create mode 100644 _static/github-banner.svg create mode 100644 _static/language_data.js create mode 100644 _static/minus.png create mode 100644 _static/plus.png create mode 100644 _static/pyconjp2019.jpg create mode 100644 _static/pygments.css create mode 100644 _static/searchtools.js create mode 100644 _static/sphinx_highlight.js create mode 100644 _static/translations.js create mode 100644 api.html create mode 100644 genindex.html create mode 100644 guide.en.html create mode 100644 guide.html create mode 100644 index.html create mode 100644 markdown-example.html create mode 100644 objects.inv create mode 100644 py-modindex.html create mode 100644 search.html create mode 100644 searchindex.js diff --git a/.buildinfo b/.buildinfo new file mode 100644 index 0000000..b7121ab --- /dev/null +++ b/.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: 049766881c169166b5df1c66e46630bb +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/_images/breakfast.jpg b/_images/breakfast.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4fb47fc3936739905d259c83a982eddfb2779640 GIT binary patch literal 54642 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 literal 0 HcmV?d00001 diff --git a/_images/pyconjp2019.jpg b/_images/pyconjp2019.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e1032d7e70d759cca227db6263a1388e88639c2d GIT binary patch literal 43011 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 Jau!A729pyrH}{3Sa%h&4|(puHGULR@}^{= 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 literal 0 HcmV?d00001 diff --git a/_sources/api.rst.txt b/_sources/api.rst.txt new file mode 100644 index 0000000..1b1942a --- /dev/null +++ b/_sources/api.rst.txt @@ -0,0 +1,5 @@ +API +=== + +.. automodule:: sphinx_new_tab_link + :members: diff --git a/_sources/guide.en.rst.txt b/_sources/guide.en.rst.txt new file mode 100644 index 0000000..b90dd35 --- /dev/null +++ b/_sources/guide.en.rst.txt @@ -0,0 +1,113 @@ +.. _english_guide: + +Guide of ``sphinx-new-tab-link`` +============================================================= + +| ``sphinx-new-tab-link`` is a Sphinx extension. +| It builds HTML from source which enables **your browser to open external links in new tabs** ✨ +| I'll show you how to use it in this document (oh my gosh, this document is dogfooding too! 🐶) + +*このガイドの日本語版はこちらにあります:* :ref:`japanese_guide` + +Links +-------------------- + +* PyPI https://pypi.org/project/sphinx-new-tab-link/ +* `GitHub Repository `_ + +Installation +-------------------- + +You can install ``sphinx-new-tab-link`` from PyPI. + +.. code-block:: shell + + $ pip install sphinx-new-tab-link + +How to use +-------------------- + +Enable this extension in your Sphinx project's :file:`conf.py`. + +.. code-block:: python + :caption: conf.py + + extensions = [ + "sphinx_new_tab_link", + ] + +That's it! + +External links in HTML will be opened in a new tab of the browser. + +Supported notations +-------------------- + +It supports various notations of a external link possible in reST. + +✅Line with URL only + +https://github.com/ftnext/sphinx-new-tab-link + +✅URL written inline (See *PyPI* at 'Links' section) + +.. _Published guide: https://ftnext.github.io/sphinx-new-tab-link/guide.html + +✅Define an external hyperlink target and refer it: `Published guide`_ + +.. code-block:: rest + + .. _Published guide: https://ftnext.github.io/sphinx-new-tab-link/guide.html + + Define an external hyperlink target and refer it: `Published guide`_ + +.. __: https://ftnext.github.io/sphinx-new-tab-link/guide.html + +✅Anonymous hyperlink notation: `published guide (anonymous notation)`__ + +.. code-block:: rest + + .. __: https://ftnext.github.io/sphinx-new-tab-link/guide.html + + Anonymous hyperlink notation: `published guide (anonymous notation)`__ + +✅Embedded URL with double underscore: `GitHub Repository (without target definition) `__ + +.. code-block:: rst + + `GitHub Repository (without target definition) `__ + +✅Refer again to the target defined by the embedded URL with single underscore (See *GitHub Repository* at 'Links' section): `GitHub Repository`_ + +.. code-block:: rst + + `GitHub Repository `_ + + Can refer `GitHub Repository`_ again. + +✅ ``image`` directive specified ``:target:`` option + +.. image:: _static/breakfast.jpg + :target: https://www.flickr.com/photos/pyconjp/48818171768/in/album-72157710870622516/ + +.. code-block:: rst + + .. image:: _static/breakfast.jpg + :target: https://www.flickr.com/photos/pyconjp/48818171768/in/album-72157710870622516/ + +✅ ``figure`` directive specified ``:target:`` option + +.. figure:: _static/pyconjp2019.jpg + :target: https://www.flickr.com/photos/pyconjp/48743997848/in/album-72157710870622516/ + +.. code-block:: rst + + .. figure:: _static/pyconjp2019.jpg + :target: https://www.flickr.com/photos/pyconjp/48743997848/in/album-72157710870622516/ + +.. note:: note: Also supports `sphinx.ext.autodoc `__! + + For HTML built from a docstring containing a URL, your browser open the URL in a new tab. + The :doc:`api` documentation of ``sphinx-new-tab-link`` is an example of that! 🐶 + +Enjoy documentation!🙌 diff --git a/_sources/guide.rst.txt b/_sources/guide.rst.txt new file mode 100644 index 0000000..44876de --- /dev/null +++ b/_sources/guide.rst.txt @@ -0,0 +1,113 @@ +.. _japanese_guide: + +``sphinx-new-tab-link`` 使い方ガイド +============================================================= + +| ``sphinx-new-tab-link`` はSphinx拡張です。 +| ソースからビルドしたHTMLで、 **外部リンクをブラウザの新しいタブで開く** ように自動で設定します✨ +| このドキュメントで使い方を示します(なんと、このドキュメントはドッグフーディングにもなっているんですよ!🐶) + +*Here is English version of this guide:* :ref:`english_guide` + +リンク集 +-------------------- + +* PyPI https://pypi.org/project/sphinx-new-tab-link/ +* `GitHub Repository `_ + +インストール +-------------------- + +``sphinx-new-tab-link`` はPyPIからインストールできます。 + +.. code-block:: shell + + $ pip install sphinx-new-tab-link + +使い方 +-------------------- + +あなたのSphinxプロジェクトの :file:`conf.py` でこの拡張を有効にしてください。 + +.. code-block:: python + :caption: conf.py + + extensions = [ + "sphinx_new_tab_link", + ] + +これだけです! + +HTML中の外部リンクが、ブラウザの新しいタブで開かれるようになります。 + +対応している記法 +-------------------- + +reSTで可能なさまざまな記法による外部リンクをサポートしています。 + +✅直接URLだけを書いた行 + +https://github.com/ftnext/sphinx-new-tab-link + +✅インラインで書いたURL(「リンク集」の *PyPI* 参照) + +.. _公開版ガイド: https://ftnext.github.io/sphinx-new-tab-link/guide.html + +✅外部ハイパーリンクターゲットを定義し、それを参照: `公開版ガイド`_ + +.. code-block:: rest + + .. _公開版ガイド: https://ftnext.github.io/sphinx-new-tab-link/guide.html + + 外部ハイパーリンクターゲットを定義し、それを参照: `公開版ガイド`_ + +.. __: https://ftnext.github.io/sphinx-new-tab-link/guide.html + +✅匿名ハイパーリンク記法: `公開版ガイド(匿名記法)`__ + +.. code-block:: rest + + .. __: https://ftnext.github.io/sphinx-new-tab-link/guide.html + + 匿名ハイパーリンク記法: `公開版ガイド(匿名記法)`__ + +✅アンダースコア2つの埋め込みURL: `GitHub Repository(ターゲット定義なし) `__ + +.. code-block:: rst + + `GitHub Repository(ターゲット定義なし) `__ + +✅アンダースコア1つの埋め込みURLによって定義したターゲット(リンク集の *GitHub Repository*)を再度参照: `GitHub Repository`_ + +.. code-block:: rst + + `GitHub Repository `_ + + 再度 `GitHub Repository`_ を参照できる + +✅ ``:target:`` オプションを指定した ``image`` ディレクティブ + +.. image:: _static/breakfast.jpg + :target: https://www.flickr.com/photos/pyconjp/48818171768/in/album-72157710870622516/ + +.. code-block:: rst + + .. image:: _static/breakfast.jpg + :target: https://www.flickr.com/photos/pyconjp/48818171768/in/album-72157710870622516/ + +✅ ``:target:`` オプションを指定した ``figure`` ディレクティブ + +.. figure:: _static/pyconjp2019.jpg + :target: https://www.flickr.com/photos/pyconjp/48743997848/in/album-72157710870622516/ + +.. code-block:: rst + + .. figure:: _static/pyconjp2019.jpg + :target: https://www.flickr.com/photos/pyconjp/48743997848/in/album-72157710870622516/ + +.. note:: `sphinx.ext.autodoc `__ にも対応しています! + + URLを含んだdocstringからビルドしたHTMLでも、URLはブラウザの新しいタブで開きます。 + ``sphinx-new-tab-link`` の :doc:`api` のドキュメントは、その例になっているんですよ!🐶 + +Enjoy documentation!🙌 diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt new file mode 100644 index 0000000..ea9514b --- /dev/null +++ b/_sources/index.rst.txt @@ -0,0 +1,28 @@ +.. sphinx-new-tab-link documentation documentation master file, created by + sphinx-quickstart on Wed Nov 16 23:12:14 2022. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to sphinx-new-tab-link documentation's documentation! +============================================================= + +.. toctree:: + :maxdepth: 2 + :caption: For library users: + + guide.rst + guide.en.rst + markdown-example + +.. toctree:: + :maxdepth: 1 + :caption: For developers: + + api.rst + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/_sources/markdown-example.md.txt b/_sources/markdown-example.md.txt new file mode 100644 index 0000000..52ab3a0 --- /dev/null +++ b/_sources/markdown-example.md.txt @@ -0,0 +1,66 @@ +# Markdown example / Markdownの例 + +*Here is an example of how `sphinx-new-tab-link` works with HTML built from a Markdown file.* +*MarkdownファイルからビルドされたHTMLでも`sphinx-new-tab-link`が機能する例です。* + +```{note} reST version: [reST example](guide.en.rst) / [reSTの例](guide.rst) +``` + +## Links / リンク集 + +* PyPI +* [GitHub Repository](https://github.com/ftnext/sphinx-new-tab-link) + +## Installation / インストール + +```shell +$ pip install sphinx-new-tab-link myst-parser +``` + +## How to use / 使い方 + +`conf.py` + +```python + extensions = [ + "myst_parser", + "sphinx_new_tab_link", + ] +``` + +## Supported notations / 対応している記法 + +It supports various notations of a external link possible in MyST. +MySTで可能なさまざまな記法による外部リンクをサポートしています。 + +ref: + +✅Autolinks + +See *PyPI* at ['Links / リンク集' section](#links--リンク集) + +```md + +``` + +✅Inline links (to external target) + +See *GitHub Repository* at ['Links / リンク集' section](#links--リンク集) + +```md +[GitHub Repository](https://github.com/ftnext/sphinx-new-tab-link) +``` + +✅Reference links (to external target) + +[公開版ガイド(ja)][guide-ja] + +[guide-ja]: https://ftnext.github.io/sphinx-new-tab-link/guide.html + +```md +[公開版ガイド(ja)][guide-ja] + +[guide-ja]: https://ftnext.github.io/sphinx-new-tab-link/guide.html +``` + +Enjoy documentation!🙌 diff --git a/_static/alabaster.css b/_static/alabaster.css new file mode 100644 index 0000000..7e75bf8 --- /dev/null +++ b/_static/alabaster.css @@ -0,0 +1,663 @@ +/* -- page layout ----------------------------------------------------------- */ + +body { + font-family: Georgia, serif; + font-size: 17px; + background-color: #fff; + color: #000; + margin: 0; + padding: 0; +} + + +div.document { + width: 940px; + margin: 30px auto 0 auto; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 220px; +} + +div.sphinxsidebar { + width: 220px; + font-size: 14px; + line-height: 1.5; +} + +hr { + border: 1px solid #B1B4B6; +} + +div.body { + background-color: #fff; + color: #3E4349; + padding: 0 30px 0 30px; +} + +div.body > .section { + text-align: left; +} + +div.footer { + width: 940px; + margin: 20px auto 30px auto; + font-size: 14px; + color: #888; + text-align: right; +} + +div.footer a { + color: #888; +} + +p.caption { + font-family: inherit; + font-size: inherit; +} + + +div.relations { + display: none; +} + + +div.sphinxsidebar { + max-height: 100%; + overflow-y: auto; +} + +div.sphinxsidebar a { + color: #444; + text-decoration: none; + border-bottom: 1px dotted #999; +} + +div.sphinxsidebar a:hover { + border-bottom: 1px solid #999; +} + +div.sphinxsidebarwrapper { + padding: 18px 10px; +} + +div.sphinxsidebarwrapper p.logo { + padding: 0; + margin: -10px 0 0 0px; + text-align: center; +} + +div.sphinxsidebarwrapper h1.logo { + margin-top: -10px; + text-align: center; + margin-bottom: 5px; + text-align: left; +} + +div.sphinxsidebarwrapper h1.logo-name { + margin-top: 0px; +} + +div.sphinxsidebarwrapper p.blurb { + margin-top: 0; + font-style: normal; +} + +div.sphinxsidebar h3, +div.sphinxsidebar h4 { + font-family: Georgia, serif; + color: #444; + font-size: 24px; + font-weight: normal; + margin: 0 0 5px 0; + padding: 0; +} + +div.sphinxsidebar h4 { + font-size: 20px; +} + +div.sphinxsidebar h3 a { + color: #444; +} + +div.sphinxsidebar p.logo a, +div.sphinxsidebar h3 a, +div.sphinxsidebar p.logo a:hover, +div.sphinxsidebar h3 a:hover { + border: none; +} + +div.sphinxsidebar p { + color: #555; + margin: 10px 0; +} + +div.sphinxsidebar ul { + margin: 10px 0; + padding: 0; + color: #000; +} + +div.sphinxsidebar ul li.toctree-l1 > a { + font-size: 120%; +} + +div.sphinxsidebar ul li.toctree-l2 > a { + font-size: 110%; +} + +div.sphinxsidebar input { + border: 1px solid #CCC; + font-family: Georgia, serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox { + margin: 1em 0; +} + +div.sphinxsidebar .search > div { + display: table-cell; +} + +div.sphinxsidebar hr { + border: none; + height: 1px; + color: #AAA; + background: #AAA; + + text-align: left; + margin-left: 0; + width: 50%; +} + +div.sphinxsidebar .badge { + border-bottom: none; +} + +div.sphinxsidebar .badge:hover { + border-bottom: none; +} + +/* To address an issue with donation coming after search */ +div.sphinxsidebar h3.donation { + margin-top: 10px; +} + +/* -- body styles ----------------------------------------------------------- */ + +a { + color: #004B6B; + text-decoration: underline; +} + +a:hover { + color: #6D4100; + text-decoration: underline; +} + +div.body h1, +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + font-family: Georgia, serif; + font-weight: normal; + margin: 30px 0px 10px 0px; + padding: 0; +} + +div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } +div.body h2 { font-size: 180%; } +div.body h3 { font-size: 150%; } +div.body h4 { font-size: 130%; } +div.body h5 { font-size: 100%; } +div.body h6 { font-size: 100%; } + +a.headerlink { + color: #DDD; + padding: 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + color: #444; + background: #EAEAEA; +} + +div.body p, div.body dd, div.body li { + line-height: 1.4em; +} + +div.admonition { + margin: 20px 0px; + padding: 10px 30px; + background-color: #EEE; + border: 1px solid #CCC; +} + +div.admonition tt.xref, div.admonition code.xref, div.admonition a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fafafa; +} + +div.admonition p.admonition-title { + font-family: Georgia, serif; + font-weight: normal; + font-size: 24px; + margin: 0 0 10px 0; + padding: 0; + line-height: 1; +} + +div.admonition p.last { + margin-bottom: 0; +} + +dt:target, .highlight { + background: #FAF3E8; +} + +div.warning { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.danger { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.error { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.caution { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.attention { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.important { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.note { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.tip { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.hint { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.seealso { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.topic { + background-color: #EEE; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +pre, tt, code { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; + font-size: 0.9em; +} + +.hll { + background-color: #FFC; + margin: 0 -12px; + padding: 0 12px; + display: block; +} + +img.screenshot { +} + +tt.descname, tt.descclassname, code.descname, code.descclassname { + font-size: 0.95em; +} + +tt.descname, code.descname { + padding-right: 0.08em; +} + +img.screenshot { + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils { + border: 1px solid #888; + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils td, table.docutils th { + border: 1px solid #888; + padding: 0.25em 0.7em; +} + +table.field-list, table.footnote { + border: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +table.footnote { + margin: 15px 0; + width: 100%; + border: 1px solid #EEE; + background: #FDFDFD; + font-size: 0.9em; +} + +table.footnote + table.footnote { + margin-top: -15px; + border-top: none; +} + +table.field-list th { + padding: 0 0.8em 0 0; +} + +table.field-list td { + padding: 0; +} + +table.field-list p { + margin-bottom: 0.8em; +} + +/* Cloned from + * https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68 + */ +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +table.footnote td.label { + width: .1px; + padding: 0.3em 0 0.3em 0.5em; +} + +table.footnote td { + padding: 0.3em 0.5em; +} + +dl { + margin-left: 0; + margin-right: 0; + margin-top: 0; + padding: 0; +} + +dl dd { + margin-left: 30px; +} + +blockquote { + margin: 0 0 0 30px; + padding: 0; +} + +ul, ol { + /* Matches the 30px from the narrow-screen "li > ul" selector below */ + margin: 10px 0 10px 30px; + padding: 0; +} + +pre { + background: unset; + padding: 7px 30px; + margin: 15px 0px; + line-height: 1.3em; +} + +div.viewcode-block:target { + background: #ffd; +} + +dl pre, blockquote pre, li pre { + margin-left: 0; + padding-left: 30px; +} + +tt, code { + background-color: #ecf0f3; + color: #222; + /* padding: 1px 2px; */ +} + +tt.xref, code.xref, a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fff; +} + +a.reference { + text-decoration: none; + border-bottom: 1px dotted #004B6B; +} + +a.reference:hover { + border-bottom: 1px solid #6D4100; +} + +/* Don't put an underline on images */ +a.image-reference, a.image-reference:hover { + border-bottom: none; +} + +a.footnote-reference { + text-decoration: none; + font-size: 0.7em; + vertical-align: top; + border-bottom: 1px dotted #004B6B; +} + +a.footnote-reference:hover { + border-bottom: 1px solid #6D4100; +} + +a:hover tt, a:hover code { + background: #EEE; +} + +@media screen and (max-width: 940px) { + + body { + margin: 0; + padding: 20px 30px; + } + + div.documentwrapper { + float: none; + background: #fff; + margin-left: 0; + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + } + + div.sphinxsidebar { + display: block; + float: none; + width: unset; + margin: 50px -30px -20px -30px; + padding: 10px 20px; + background: #333; + color: #FFF; + } + + div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, + div.sphinxsidebar h3 a { + color: #fff; + } + + div.sphinxsidebar a { + color: #AAA; + } + + div.sphinxsidebar p.logo { + display: none; + } + + div.document { + width: 100%; + margin: 0; + } + + div.footer { + display: none; + } + + div.bodywrapper { + margin: 0; + } + + div.body { + min-height: 0; + min-width: auto; /* fixes width on small screens, breaks .hll */ + padding: 0; + } + + .hll { + /* "fixes" the breakage */ + width: max-content; + } + + .rtd_doc_footer { + display: none; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .github { + display: none; + } + + ul { + margin-left: 0; + } + + li > ul { + /* Matches the 30px from the "ul, ol" selector above */ + margin-left: 30px; + } +} + + +/* misc. */ + +.revsys-inline { + display: none!important; +} + +/* Hide ugly table cell borders in ..bibliography:: directive output */ +table.docutils.citation, table.docutils.citation td, table.docutils.citation th { + border: none; + /* Below needed in some edge cases; if not applied, bottom shadows appear */ + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + + +/* relbar */ + +.related { + line-height: 30px; + width: 100%; + font-size: 0.9rem; +} + +.related.top { + border-bottom: 1px solid #EEE; + margin-bottom: 20px; +} + +.related.bottom { + border-top: 1px solid #EEE; +} + +.related ul { + padding: 0; + margin: 0; + list-style: none; +} + +.related li { + display: inline; +} + +nav#rellinks { + float: right; +} + +nav#rellinks li+li:before { + content: "|"; +} + +nav#breadcrumbs li+li:before { + content: "\00BB"; +} + +/* Hide certain items when printing */ +@media print { + div.related { + display: none; + } +} + +img.github { + position: absolute; + top: 0; + border: 0; + right: 0; +} \ No newline at end of file diff --git a/_static/basic.css b/_static/basic.css new file mode 100644 index 0000000..e5179b7 --- /dev/null +++ b/_static/basic.css @@ -0,0 +1,925 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2024 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: inherit; + 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/_static/breakfast.jpg b/_static/breakfast.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4fb47fc3936739905d259c83a982eddfb2779640 GIT binary patch literal 54642 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 literal 0 HcmV?d00001 diff --git a/_static/custom.css b/_static/custom.css new file mode 100644 index 0000000..2a924f1 --- /dev/null +++ b/_static/custom.css @@ -0,0 +1 @@ +/* This file intentionally left blank. */ diff --git a/_static/doctools.js b/_static/doctools.js new file mode 100644 index 0000000..4d67807 --- /dev/null +++ b/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2024 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/_static/documentation_options.js b/_static/documentation_options.js new file mode 100644 index 0000000..02f1c61 --- /dev/null +++ b/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '', + LANGUAGE: 'ja', + 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/_static/file.png b/_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/_static/github-banner.svg b/_static/github-banner.svg new file mode 100644 index 0000000..c47d9dc --- /dev/null +++ b/_static/github-banner.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/_static/language_data.js b/_static/language_data.js new file mode 100644 index 0000000..89083d9 --- /dev/null +++ b/_static/language_data.js @@ -0,0 +1,26 @@ +/* + * 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-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +var stopwords = []; + + +/* Non-minified version is copied as a separate JS file, if available */ + +/** + * Dummy stemmer for languages without stemming rules. + */ +var Stemmer = function() { + this.stemWord = function(w) { + return w; + } +} + diff --git a/_static/minus.png b/_static/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..d96755fdaf8bb2214971e0db9c1fd3077d7c419d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu=nj kDsEF_5m^0CR;1wuP-*O&G^0G}KYk!hp00i_>zopr08q^qX#fBK literal 0 HcmV?d00001 diff --git a/_static/plus.png b/_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/_static/pyconjp2019.jpg b/_static/pyconjp2019.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e1032d7e70d759cca227db6263a1388e88639c2d GIT binary patch literal 43011 zcmbT61ymeC)~I_1cPGK!-95o!1|M7!++9N;5ZrZe2tIglC&68V2Mw+$d zKi`26O*>aFS5G@vH(CL1UO-e9qK5oe69B9!K}G-)1(OoxV<|9zObPz4uYEwy&dbZq zQ=Es##>w8&(SzI4)tSedM_Ej3 z56p2XYtqvGTmFAV1eR_dUXKQ9K57eCS$kSOa@Zp~z4CJVD?fQ;VhhK=4F2msVvk1y zANlEDw*4n_{zK=VEd7_QoL#IQb^hAyX60=4mj@m>%E#OKk&#p%Il{-@`qd-PKQg0} zx3m2tUq3Rjv$eS=03c)km3vuR+C4JwBV&8$z~mlT@^RR)ZU2KU{)4@&eIM-v06AB; z*Bb(@!T_M<(|`1b^zVH6JEb3I^s85|xb3Yix&J!!U+Mp-@Gs5( z9{!^}?!WE*%XhT$);8wePF}Qsooeao*;20X-&)ZzfR)+?}Gnf)_>T+3A47b z_ONz&Y)bEOmf5@5J`T5wmA#j}s|&5Y%YQe*|DVPF!-l{3&w2d_M2H7~*pwT<|3nNR zeV+i3iLd}9lf1_q(7(n_6+;jBd*$iV9QhdInMese)i2Ly#HB7UTl*2E74=f?`2%P&TL#Q~|07wS#&=qo5hk zGH45Q1UduVf|0=3U}7*8m>J9i76r?IRlqvn7hqekJJ=5#22KEHf{VcK!7bok@Hlt@ zyb1mazCZ$yu#iZR=#aROM3Ll>G?0vtY>+&V0+C{n(vgagYLGgRhLPrwHj%y|-5{eP z6Cu+gb0JG0DH&Y70yGF-Cr$OgOS41~LcR>$9Pe-pr??RtNKS003z{g<1 z5XaEKu)=tak%)o7=)m}dv4?SoNr1_MDTS$n>3|uGnTc70If%K2d5(pJMUN$hrG;gW z6@-lo>)JL zep2&f_Q};#il@>~t)Ip`t$n)i^p=d4Oo7aiESap8Y@HmLoSj^Y{1tf~`5^f>3StTg z3QLL@iUx`mN-!lmC5+OavY2v$@`8$*N{PyiDvPS0>KipFwKTN@bt-ii^$`sb%`+N% znpB!@nqyiLS{Yg=+DzI3+7miTI%PU_Y5z>^bb8IKUjj9QGW!95b9KoMN0VoJE|Uxv;rpxO}*(xVE@S zxmCGCxLdh@@G$Zi@g(yM^E~hh@jCG$cvtxd`Jj9ud>wpe{OtUe{5kyd0yqMS0&fM{ z1WpAx1g!=01eb(}gw%v0h5Cek3yTPQ2-gT7i7<+oiM$i}EJ`e@DH2?g3c3o}3SSiI6>Sx( z6i<|dl>C)?lu?vbl#`V|L#QB@kP65NR0J9T9ZTQvX;h(?OWx+aUJyXFTiR4q-d9IbsAAM6cmSer=ORJ&69Qb$%NQD;?`Ro7d$ zPY+MeM6W{cN?%?duD@x(V-R34Zb)uuZ`fvpW~66SYII?&V4P;WXCh=0VY2vw<%REy z(U;^eonCgD;+dM8HkzTB>6=xW-J5He7nxsJKrG%_oLI_PW>|i;lD0~;oSDIYGzv&V^&hueYRcpLXK=s?K{eM(eJKut#W7cr1NU>sq$m$ zTZ)*A(u+}xeTw%HdWhi?(UOW%^3vGS-(@ako8_?bfeMj|ib~4L#42!=ch%8*llRlr z^3`oMTs4KYq_weiK%IBpalKjnVuMOUU!!PaO%qeoyJn*1m=;jW>z0#NyVlJ%!?u}r zXnS9WL`U-n?hj=j=|1Lkl5{3^VRnUe{pt4WzUXo5`POUOyVGadx7u&eKR=)~Fg2($ zI5MO-)ITgU+&v;S@^Msrw0%r;taV&?yk$aYqIptivUy5)s^yc&r?zRa>5du6nXcLA zv%Pcjb3^lx`SAtyg_%X&#ih?CpEsARmJXMlmQPoFR_<1V)=<`B*74WVzfgWD+F;wL z-4x#J+>+m#*w)@&-Lc&Hy6d@nzZbTTv!8xIb5L=}fB5l8@o4(k_;~ND+t<5q5#I^E zzx%=Zqv@yg&xsR*lf6@q(?4f%=Va$)zXX5vU1(l>xpcm~yNbCcyDq;Gy&1mMzdg8n zb&qzR`J3%`$Aikl+8^gXfByUcaAmAqEvx~np2t`K^k)^21CYRvH(D^#V?uuXprE6m zAS0t-qM@OpV`E}tV_{-p;ouVDL<2`vwO8k_Nn1uLmB_O27 zGRP;eIRN=S#sM?^29W$unn%paUwSkKT) zA|MO1@CbnyVURvylxyglVbZqrEZ!0fO*uJz$}A+WVCCf<)+nr~lZxn{eXN`u1pICK z-)%n{^S5@?$2?I201O6Dz({Cd)JF^dn)YZi5+NO*43QQxe=;$>tb1@_JBto;Qi3;Z3HE!KkNvAU zoXL^F?S=XufWpijIhhGzW6uXmU-bqRRV%RShJSZl`Ms1~EuA{+DN&zNB0#1L3%-*r zJRfMb)NvFMWjgv)?LqnZ{YChgj%!Ef{hipBZnzfx_#3qxWle1&y`=mxNDGDRTAH43 zuYm{Fb{W4mqL7Ke#M|iAlP6D>R))usbQo)42@|^KngO2~g(@8P{UZn!P81l$Nc1{% za?b0A#%2VCqzGSGUzAvS-P~+P7-(MSrB{&o36>XCRyyMG9+4*1!wbtg~5>Qg+K}e~iCDGt!65H3zYX(!7KbcXdN{ zDGP;GEYwY7^LUTd`fnDzD%F+BMqr`uKI0C16KukDlpjZ~RAdTi3yW&C$%~%s$;)6E z!J9e?KUtMb^DNg%JuXQRk#m_L+qLvb5vjOeJvgf05_$)p4mn<0$MzOBvL&@5jfHeu zhjOViS+-iBL@*!v!x^Mr7}RBACL;{lNu3dAn7SV%g4XVppZM^q$?**oaV4O7cu8k#2c0bvGcs3`CcIjXbf<%Y<$tmm^0a>=S&MHhwnTNJJ-9r>f=fJab=<)p z@7YejHr-qW!rqPq?o9D5UIc}c!KIy(Enax*w`_tz zT@CpkDzalVWUH%eV^EaXhC=!=N^RS?)9D@vWjlCu{ccz7=i86J(Xn{I#-U8muLhNC zw-CF@YAqd`_f@7PHf)05CejpgiNh+Ajw#jQAc(VCg<2|cl5CPP{QyzytT>$$b3bd$ zv@=e`+*Y)csv$Q&p`UD0@I)2iH#ysJa&b*5!{B!BS-&rkKfv<{EHl)c%-LyeH+L$Gz*9mK7Z zrld@_+CL=UWVLjV&By4fOLa!++H3XF{MazA{sW*&=37RbdjB%r%6YG`H2x7faxtH# z@9WJJPVLgH8p*R!!xvRs(SK;EH2VC*Lks809!?xCrXDevU0w5~KI6yx5ucOB31y{w zjX-Kw5^A2AKY$Kn-O|TE3{6LW>yO7-4$sEzOdye)6A38~Pd*TR*N)7iNxLzf4-o1n z)9s`=S73Ob9WFHRpi!MsK=cRrK_UA#_6g0Ch%1frYup?;2Ob;&u4i)a1I@j0^W+Me zP{OQoqmRoRG}LR3Gz8%rw}Ftckp$N&i1v}r;m_WHzLJWvBm^5(5Pkv9w`aZ!LM-;l z^1938rVTd?+kBO>ur|!?Z!c*uOtB8LqTepGHyic(U7}CTsv=CcTe^u4yKN%@3!Eloz#wUY{ z!q-Zv`>IsQjKmDz`k}2ub~CV*@K~@7JlM{PbTPn7#?ArWL&ssgY=S-uGX-3PlPU;u+?^+q ztqQ7Cg1JLmqtFgQ1`O6TVXTHw7Zn%#G%4IxVasYprq=AvWD5*oI<+d9J;e2n!7(>9 zlt%$G3kIFm{jDx7JL@x#U-fgf`DDq-A}tduIEwX6NNR*-$8iwO+P5^$)k+Lu#_yYA z;ueMdVwEp7-Fms;T8>yiZqPvI0AuS|d=APWPU3!|K%_L|N{&%q>hVi2-wW6qw2k06XYq7)Jd%n7 zZ=aWg4C5HkkO*52$m?Ap%91P6g4CAOTqsKtfaKvH!3F_2&$Y>AT{EdW^4hc%YO*(z zj%#{+8?_@z6GR+egv+yNbHS66%Dl?cz^TdJn9fLw7fz!&$9(pV-r76b{VH**Zl*`` z2;>T=T|_G7bU`x;7_4FNYMb%{nEs4eQ|}skHaC8zbZ_Kb#f75$B7~Hvzy(ld#66Eu ztM0AxLpJ~XE&<8O1{&w}2dJ#%n`OlN4BWfMPTeJ^`7ln{M0+v}JM|;fRiwi^!ABkn z3jyjl@`RvS&g41@YG2||t}`7w3%x*!)(52@L#Bduk(@*MwYMJ+KT%J$%iIKC z^vqIW(Rb@uZ|J#CrAaRdhyTiWMma>7XofZ(0NXWEwK|rtKa_PnsO#dwU}w4^Y}6^! z!OtW)j>koE;0RdqTsKE%G(p&Fk|O0lJk`J?I%gcts?LPcke_SMF>%|3rQijN{{;4LE373@OGqy z?P`+74ZOKGy3qaY_63#kO~d^kAbH=UurYOt@G~i4 z2IGv$%YNA2P`zY$`h3{ir@emwZM==Sd$hLKk|g8JCB)O7IT~#~hZlpXKC5>ueSd(h z?SL{uYTv-Otryhtmu8h4#Y1+bET+|SR>A@KMn~q4>#EBN(TN_H?}SMI{R3#LL4YMp ztT&a-k`wxFY5%)msZk&o$&U55TmInJLNZ3-!abA+Lg^e5ClRXo>ZREie7PP&x7y_> zc)Y^rL(8cd9fLAPxrFl3l}T%6Yu=J&1A_0j+; zgIqmV0Y$LiPo#!(*ppz+pc3(b%W zl>QG6)}}>8&szKEeZ))U1ejY^@j6OtUtwyRuxi-PiU|LpIq&Px8+ckd5KQinV>KDG zguyDm$Hbj%-jRX;1^S>lt{mhEs9$h?F1aHdG4T#)hu*FlwQ$>@Ol$&-I80ezFF=cn?!XghgHCqQ>Yx|s@c*UWZ_N) z3N@VmC+E!XBg#>KyvQ8KVLMC|%pj^pSxikrti{I05B5HxTAJZQ3gcf(1sb1joJNU5 z19p%=6Iq0ssS)d{1!9$Q<_`MZb#K31CuSOk>ShmpsjZOgwO(M^h0t&k2c3BmuF|&8 z79`iXgN%Pp#0KC}Ys$m~IA;Wyv%9BpEX-FkS+lPU2gq(n%BiYqYRK05tO1@d?e}kB z>hxK9tl7K5M#db8q;{ICi$aKkYvKy_E06w~Z9hz#jy*DO(qmT=F?KI6y2F#{u$F0b zS+&Vlt!ZJ(52Ib|B0cYAKAs^O287L?tqVc8NY~Aqg;A;()DyN{7r$Inoee217e?l3 zpXpX}h{IBDqlH3eW zg+s2lmUPiY!;ctaof~EJy0dyM$U6`n)6R#kOc-lkiaYCw4Pw4}7ychaLIcKUjDYjq z4mL_oI2|h$=8DI9b+vNa*_wqHXpg;Gw?NItN}E}*l$g?ae>N?Z)kBkwHbg80rFR2E zABmaxhq#Roc`~6IM2MNGs~u0Nl6PYId|bphMt&&6yZoGX?P_aI!A4icH!CE|AgXC{ zgxCk+aFN2DOXhW@mr4vQVYu5#YiXfCq=9lO=EeT0DobAHXWn9&tR*AW`b8tMF@8@h z1;qK`I#4uu6X;+t(z4#>YMn)jhH>GsGDYDWS)y~IJt!Odxdex)x4_9FfO}Y`q*(3`7fwFol3b7NlYxd##{A}u+_<_FTUyFK05m^ zNPeZUziUandy<}WWAcu%WVB#~oI#8+S_)LOv*=B`?I|o z$7+>)BGYH(eZuY4MKr%==W)+*maV$%mHh8^C2XV&YX+~h%)NG%V^H2_!SV4@T(}l{ zPG%AeeU;zvoIcd5^80R4J94GRvlzHT7J-|Pk!Y%`Sgc4)> z{r>=6VIRc^BCiGV3_Ehh36IffGN4AxEDx9&@#)Wq+gTVt5M;k&PcU_B)(#d=?ViXd zamwF8B0s#e@Cn{Gc#X_t=SKYvCLg}LuQPEtpGmNto~@$RN)?98$Rs>3j5+@r4p~cy z9+Q|hqHKp7Q`elY08BE&>PaH|B=1?$NmZ}}@9E(!iSpscx~bd1lau4*tQ(0J*fa+~UFd8X%=+$MoPnDh45X>H7E8V8Izj>Uq1_NP6GHq87s z&`!IAyjIb(($`Yg@zZ?WiF7)9V%(GM6pyZVJVCor3FmCVhCy-S16zgLnsYAw5uR{a z)4B|F>0C>y2c1VQuTcqu_2x@A>@7RfiUQfFusQ!&NlO^(H*){-RoH42mnUXF}bX|u|S&RJI)$4`yV!W*z4+G@xpJ*#0}x!j1O=02GvthvtqkhqC8 z&IvJgze4>@UHGE|#298Wj+V2BJFlOYi5 z=8n$G$iE!eU@s^Tp%yszbuM%Z!YTAd(a8LhA+ZVc2mVV4f>q1z&lnw;jByI8UUqV^ z-tvYj?$*#}=f8%yQfZe|2yzw{(3O!l(!%S|73KRPE=VG>pQms8js4b&l*Sc8CDf3w zX=qRRPQ&kZRL5&odUx>=mB=WiuENdW5-x^KKadLF{JOHf*k6y4?T^{eLEQ3s9l7AX zj*U;V(Vc3}r=%kC`wp2oNdwvv=HF(8Z`*g#NB zVdNxCg=l10m!gV5C7butuYUPDsu`c;cetB+r7r@WK!F$OV9Z~H;P502<~taooT8yy zO|ekPd*2H+dU?JCW422vKzL#4)l*$R^qg8|x7nh%mHU3pbPj9GR&Gr}Z@hkAA3bO< z9)=w(LEex=@**jIB8GL7Vwgx98tLwrtiSHZUAh5X5n1OhK-{0= zGQ~)j`+dLzgr0CFcP(~)nzk^i6Ve%4tf~m3!7{G~JgId^0XN3TD27VqX-Ua9{%BlN zL#yca{IV2pZW~h5zll}eU2gHLS!Tw4+yO1J)R$vbv|>PmuU*4`fvr={kg{rv%jctA zvWJ_RIW#mZ$9_knWnJO?bg1bu5IAT`H%`Q$!xm0TEo7U`!PTP*?I)s7V)G;oTUT>l zkqsUa)Qys03hOgDI_6_5|E4$Q-{!pJA8~v_IS}$K*!Ingc-yipY)+>s_0Sm$MgEdd z_!?v$&miA|=^&drM#7G%lWvR!O`m3xvx=qg`10_LhM8gBY5Y0Q=x0ckPDK<|>P?Lj z?5)>U8{6x&@aB4f@ZtBTK-nKaEH6*{MyQRi^2zTq&5}2K8I4<)T` zO6~*OMo8g?Nm6)UYp@N15l3|D!*01huRmOyU${TXri1g?Xp!Y}Rk1GQmXOsu*m1S| zR8KdNRzxuQ)YrGQA;*R~M^o$+@lU*;QsEBW_f^YfnO&;V;$Kkr7TQHAxwSu<92#T7 zfg|Fjzac^oJ`pX1&zYy|+L_Plc@$?KS7vFz{VL*_(uB9p=Rwp4Qp-+Unm?5AEBRB? z_qd`k;z0^nX#Gn+cNHl@RV}6-;XG( zH`X4h6R%?OV=6;&$Jm_d)CouRm9-EgSi*|Ko)+@j8nE;ZhJtIlzN35S$nttS#!;h` zl;%ONk3cktQ=IZnjjIZxuUJ0iND)+mbtT2!?|H~l2)%VxSPRj~0P($?r(x$<_=@}G zHb|uNW~U&d&{LyyuyV-6zCJ61%AYL@ClbGww?Gj@g6sB6Vsqa!J*&|Jg zmr5=%X#8&(QSFN64bo($ei_aC|~7m^&hu+d4U9z(oE7+eE!G-E>f-m-L)@edpk z=8rksP-(E)d*r|pwx!vbf0NILo3#U&abLnoeDX zCWMs}bhIvXyR{q%)kRtJ4XU_bI;dvLjUFQ=KA5q(RD}aRNC#WNmE=e&RSGIoQ9sb$ zK~q!Pnv#MoC)u8BM@pml2}W}SEU0@q$4_le*yCww(;W$%$hNiba=LtPxD~lqBowz z43W1Jm{?QoCfv*j%&;bp^C@3G1K@&WKoiDhm+FqDu^ge&OD;)12mY7a(*zZV=>y^P znt`0DKqQ5)L5Va@lw|ioC|o5#l4ncTkQbCx*RcO{m(uS*qZJ{(I)plEyU{>&m;ZEq~5~tPI$Txy7?48xJS0*JX z!f@h3@aWd^slUiIh18mH9`BaOtGH`!R5i@X!e(Ir;IW#~=F!WP;+9Z=mM;s_DDbWcb3bqGd=ZL6$B&ZPXe?H}nWI!X5KC2umY9?{yeSQ7 zg7wWkZ%+W#kKYi*UxX?<2E8AvAf>KTb<_9 z>W>Khpyppmo4l@8^bA~|&ir~^zU?PkHO_POL-N$WuyT2`^9_6;>lX{jQpvMfrFP|j z=R>@2=amB9ZWMG58RW%(PWU$qLf4<&z47&J-n*vb#Vl~?iaN_$XHdqOI?r?Y^_%M(AmgZm6-MiXd#=P;!irI+96X*>GdjwWz7-|J z`~Ca6q;!~TY4TVwj0?*-t&PY++wt-$PB&_y?fq?^P}2@$rHeX~$Tu?EjCpglpR7ggxay`HpY46T*5=|(W9p%>WAG*^ps0}d06ay> zr;#%!Ch1hkou6s%;}*=P5!30j!(t{=%v{u}N6dN6-VA42?Ndj{?~RyjEx_`ObiIPj zT+JYR?cLnIB~}P@fz-OHrrDk+EYi2J=GH}%#Zu&Ac$pO{J?l)J)jORhf=jdm*f++d zYkd>CBS21=kkBMe2Qk_>*+R$VtzCI|-+2WH&iHaN67p z6J0Ciz37knl{~?Nps#`yEgCVnZBrsAuE0|6MaP%vPFiA)1#GU1;p}FW_5D$kITyJh zExnyT>!3y(8!?C5wVeHuFAtYp-Hcjl+9rt6xaz-FGmM`uaSU*4{{aGne+b~XRYf+Z zJVb6g`IzW4S8~yzjU8*-?u9Q7CFbBw^Y?zIS5W+AS&b1ZEGYQ&;mr1;b zLcPv+Yu~z%pSl^Tb77T!ncy(kT-R!w*^6J#b%JX45TeN^T~u|` zwmht}Yu1DP6YlG5k0HppHRdyqs%&HriC^hxA7c!Az@VPi6pNpPFD~wbX{g8d zXKIlSkK0_eA=|`5j``etjgu9CbIIZe(oUqZQMPnNrpFvz>8jR~20bCr-nN89y$L7_ zPd@!@-EH(J-K8Y$nDOqUnL5<*kVPdH_FN^8T$WO?tWpIt=`74QdcU|M-9PAipGy-J z#>ZQ%LX3pcodk&Fr)a5b{ID0CYhGpr8*b`PabY^ER7$}ddV>KKH0QVGpbzX`?~gI0 zE+se~e1SF8i`b?o%qiauj#y!B3;OKIDKO1ga{`>l>4w!f0@6IV`5_}v|k+NyOp)F7V4Q| z9A#2v&+dU?qQjI`MxJBYi}d;xR}m4dkFVXV*;MWp?o*zFSnfq<6PU_>N4{gXBgBlK zFA?xYW<+Y&M9Z-2ww0uFdQz&-b}KFdYiMTt72~~2u@soC{&2b#b{C(b`ayu}*P(Wl zoQl&Dd@N=8X0lrP;RpQ+Q*qPTRawBx*i`!Iow-9HFWyzB!bmzgwF>bNuWC9jlpOlO{@U`SjT)2a4MTNBkK0QphrDT$=d9TMCkrG;~!c2di7?I*h<3 zDeB^Gcfrls0yqU6p zRc4}1)lOU$;%f2XIWN2I8I2WsJHI>GmGx*dEQd0T7KD`?kZVA{)D@KoLcS~Gh7l@$ zCjH(It9L@1s9TRVPVFxsp)E9$4GEeLD>sPm=4d3RLvnTk^GCVFynUaW`MK~p!rkk5 ztkce^6)UE_`vbnf%1FyD4JEILTm{;DaEgmw3pvQUi^{8FKiNM-FGOM3jk3!?ZK;L- zg|itrBb&5UCp>s>98V_uSGtncR8pBg8|f-KmS@;IE}`r1pE;cUnn^dCW=M7Vmz+dq z)>mpd-g%pw?Js0bz4lTVHVn+wu;$`F$1d%$Cxs|ehWLD(o`d@YG~lB+`M2!H-$cB)Z|spAqlx|~)6J=$Sw&i?`%KH15=7OmyX z=Bc@XBxnsj;C)7E#6!|X&U2mK54-D8w*4AfoJhmXQhPf*-|ycu71HS7y&5qJ$-o3st>9aR{ zR-r3O`M;h`9%ClUR$EUDOs{i8eC`-B3n@74q6%Vmvy8cUJ&9SY1LNt~ zR&$Yk>&?M(?XE(Dah&;%xecUOMV1|uG%1^_X{prmT|Ki2tS^sp--A7D5| z43~09R84iAtZJ$4Cf|EQWP^NP&nClBq8_!~0+v`A?s-Rj<#wgEt9f>&L&(7+XZU1} zE?4iI0o8WN>q9hlQ5N{bQRnDIf627l`72rXZ<8-ZFGfb&;$CX_bE9Aju}0`&q^aZ+ z<9}mWJ>|-;p{l_kFq$qRY$7P3lb|r4#uP@-p|HB!u{6bQ+M#ht%_KE-araT+enLCp&Io|CFk{)y!OTa4R6#`&$0nTsVe)`gr%r)<;97NdoKNgNPGbVL3Z? zev7sdWEB1zht2c#o}@t0mvfP$hEJ*06(;BR#}j7Qx%u;48b;y4cgpkmc|u>!yB_y^ z`VDj|h!60Wox?;!Trv#Qi~XGn6z|&!HewMM%ppY|*h{F&C(CMQy}^*qs7uBB+U{-) zM7aFrOY^e55y8#&W>F!tjSGarUp@DZV1XJF6aTB7d!0@} z30uP!KTO2Y4QHx=`<!4Gy3XLh~Dl?Rm`E92#Pl0&}IcROObSI}P z=}=bgY~RAx9C{5<$19DPVj~BMN72UDw)L8Et{xwzFG0~Yo5w&>cSLPhW=J@KWh5n- z8y(j`>ouhB6^FWzc4eK~v)inMLQ9rG)55KrmnOHob?>s$8RxZpC%mPFlRI+AwH=Ym z8qJ%#_Y$?ab=*ZVK}PB1PE6CSFFh+)A?qsoZr`rXkUZmT*^M<aHL-94AlCSfFd_ z5jIxd!dl87vzPK=ym~wM z2F{EFbdfd{uc?a}=YMbjTW-(iOw>@`P$@r!|r?20CkhqMgk%?D|$u|_q z`g5^{hJ#I?>svoq%K4B+zxgvPgGQ6Y?y{>YM9e;PTsQ1NyTYy@k)jGQvyr36g%DY%zrN29F)t3D8 zaN+kiiBp0vY~eCzb_eLJB${uLZErc}me!Ke7Xz_auHF0<8Q)A>9u0n{`|u8TGIf(G ztnDnPwHX(dg!dER{auTBwDJUMf=x5tew-=TPFi%QOdA9w@hp$LbEGt3a~gGruOpT0 zvrkBrmT8#3y3caQvfXx$*E4h)basizkEl2c=AK@L+#gO6MAl;KMW{1HMr-4+rT+oc z^jmMX)6SFwLzUE1=swHatdd_)t?9Nd`FMQq^H4FLxm7D2x#)Of`?Fkp_DSF!g3^v| zvkQ=V1Nd$}KGpQ@1tBl;0t>rqlmLz~@cw&r0bQD?*;uwPsi|waz?)z#_x%Xl6VE7u zp!JDPm|FL(KCVEu^tCFSQWgRn13!3{6AEaw*#+3JID+|ANmf^4Zdac7DGJ!DcyYBb z*7@dUTM#((*Se_fwyaime`RAbm9#kF-9R}AnB;i<(44uXqKzoA+pS{E)o+zj(A!&f z5;g0?ofZ=V;J2&uNy?Z@ORER*QKa^hDzqZA-Wapo(D?S0iPiiMD4L^cR0BdOc^-~6 z{3{!Wg>;wVi=gmw#NX-v`GK>*xn@tMQYT zrj&)w9!(UfXsIPN16`tzX+uUhuD?6UY_6?WEY>jNcbVQqR1PGax# z>M6!Q%iIUO#;uksUM!g^AAF7P=hb=q%?<{ihNW|wF!y5OqydTulmwqXR3k~NU!f!S ze)$;|515r&=g7X;gC2DioD-@Ib24?UIcllFW-ca&l^R>mo-~u#-a$=f6O(2lX9r&z#!8As#h7fN zC|`8Hn`hcM<2+WH^yL^(aSZc42>l&{-w(bGVjtnxRca_Uwky>ljQOkF5x{DIN>i8_uNJL5xq z#W;7Fs2@-z(5PtWBy#-{M{Qw^ULu~jt>(d}`NNb@%3w^}q;h6CVJoCu76bUqG&U~XzH*1LMXQ9X)yJP| z-QPEyY);%Z`tQOM%R$JLPtX7yOz~?VX#S{n!SP~b*4T)Fp-{(Gi6ix*<@=Ba zB&RPxJoOd5*cgx_H=!fDGDd|^ac-{JEoT>>ef9maeTUnQiE{e*WlLbd%5$sF$1I0@ z(`KTIS3m0qV!{bUkg#oQoNxgV5f0&vH{hl921HvtCheM`y|CmRF8;KU(|#qkycBk- zP8KwU-Vr`tazO%5vBoWc`n4cm=B=p_vZ3VQ>vn6F{=TC+0kMy{&xnnB{boR9Q5J?1 znbAP7oC0ScO4&nnaY?iMwp&qqSvYKqx#~v@jXy+_BaO#S_$>u2hF$Uo=9P{N&8?*b zDlu4~L0@SN{GoIrnm<~oYu)J3*yh;PjZ5Ql*!R>^!LD_Hllx*_tqQYtwVhWNP9s~V zs+S|>g|H6V$c~0>2KJ|FYE2nh-SfcfiGUY<*M9`*+l zrjd3y62Yzw1?Y}0<=8c$O5Z5GBn9th_*(m!_}Ypy?Xg?d#OH^t-@j;CtXlGzuZA$P zd>!$XKjG#062dN;*^0`-_X0FhXUDfJtNXivK>h5|h=r-fYp)kv3^LJUF} z{H-qLv%4*uQ>`y-i8mTH)4e8SBh3n|FwqavhD&rEAGJxKOZcwuUtO8H7>HljpPP3V zcx_%Lg(WI{8>J&Zypa6x!m)1d*su17=G_So8D6x|FSL+ryM*~`lze-X7s7_=bHfNpc*Sjh70wQmRlW9vO$U11h!Y3m!=rsC=Zd`mAhIiGJ7RDbjk}p2-syawyAzk&`>Ac3fE4FDTdQNb;2#?Rnth zQ;M>NC0VIYX1qf#3ZqEL`~D|EQmGzkN@Ds)Iz}pLov^%P1M}7wD)z9kJ{V>~-=4JT zFaaBD=~9)E>`h284~Gr=AbHWSjAq%mi9HTVIO>}0h-Moj4PQ70n}X2DN||Ev`ywG$ zI;8AGx(F_aytRlN$^p3>TV0w19NzEH88y2ltpDLH);9N$p_l-pO%07y=6Kf=9oUM-yoZXQ7;$YMJQVWwBa!WVMXDVoo) zdH;HDuj&SGe@d^?0yS6Jwc-;0ut?RYf!E$6HdMRYYE0 zOXWi8SaQR1%w|jDQggzO-Mdfma<~^5&{(bJk6$~|Yf=-8KJYD*C`tGTRqnsl3((B8 zw{Qa-WakM(UK1vNr{2B1#yQa-Q&LyJ=3F^Zs50y1~du8gDv)7i19-7YJivAm4Mk zHFQ1whQq&>cbeNIu9TLp8Gb=}jQ$;h**ZtKKc=M^$|F`eIeKy@ z?|ilS=?;&_+|NZv`&PxN#KqLRgeH)}hYUjOnOP16bG@v>T?OVp!;*h2I9apy{z!KC z%ovk9KutSnaWtXL$QYQTHXk4RJ_zHFK~&Radh*kngL% z9&_pYKLD9PX1_g~Us7D<$^srEWm%fP3Gn8e3bs0muw!k)7D1 z3ns}=RSMYKx6cd@(6^!#^;CTpI7Irrqm^mN+w@pUe(X>eBWmhk13It)?N|WztN?hM z-~&^>02(EN+lyABLBKmQ2KWRCl#le9k9t1*L)-)#YSZJJe{7HM3`ifGE+E4E7oKwz zJ6Ol6Olse&A;I@z)~Eo@4aWFDZUNiB0I1meMLmS>d+-cYi)roZkER$B9G#!5JUFby zt>x;Al&ZXBx`aw;DN=$QNJ@p22;34e5`vn`ErB|AF`t;KIflC`tyYxfLVZQ!DqNSy zTdyrf>Ld$pPnHCdSx{drIhS&j?9Wk-%WQN-kI)RpH+U8VRUA)QY=9aWEpG zI1$|$2cTs47gVA#jHK6@*WLOLLLr)cAf!r?U7%AF8P@u!t5p=4lF&aus0LW_Z5~G) z{Yc)6Uhh!VpCgDFfwTghX_Z;!;SWv2*c|~oR(`*ftmz!ztzW)FW zJk4xP5m^2nUn#)}NwC z`QloODOu58io9LOoFSV%%-zHKW_dDn^e;a#y-{s@=xN01Rra|%i)?MSGLl@YG*`o- zXXzuxz8vvx97Zya3F2jGt-KcHS*0Z_QfzLHjgg>(aBi!SZLys%g;At$mu0!aT)F6` zcy$csO6>OQYL1^>6IpqcA=`C>VF)SHd)sq<++?8_tfcSuH*%WNF;sDP9;vws7Z7UA zn_(DRcmlle2EDYNn06tOWD@eHwhF~n{gza>fa8pR@@H4nu~ z(odD}b-Sj8k?_yDUWCF!K8gG*W>5k4C`_=R2v8anq;nn#$3$9^v_n;)dbX~nC`Q-7 z2d{t+6MzVu-0<2e4#pIkyU33EnOumG`cwq~J3+YTepv5b4azE6;;&k6jF*W}ZDntP zs(7(Nj2ZRErb9}~lX-9+Xo5TXq;_HZ20QZ8`7|fuupYX{=)=@J%}dQO+s@Ji&=WKG~;NoCBxRIt*F(HVq4#(r##wLLIL;CtpdT|eM64RzjO72=u&jSPV zv*`x_(|GH|h@@%gb2U)_cnOZ%4QvD_qFZW4pi)!(mLCM{(!P7 z?TVgmtc1d9#rU)*TMakf9;m%$8}SVXPj)#akDJPh%iQYxqbG)32ZCc|I%5w_)1gbF z6}8fMJ5hKU4*4{e(t9z>EJg7<`G0c0KwQhl%*9xW^d=;=m+6ikyee8t0nhh}1i0bv z*1h|&lf`vW(SE^2boEI*kd1$?HuofL^~OwNIWnAj#n&u5iM_qpX>te8iVJkvjVTp5 zudvu8U50v9^6K?T8(!l6IQJ)+c~GNVmd_5d3@B9RXI7Nsz>=8s=?vLrJg%|08*<-a zlc z^>ruWQm?xkBw*OV4ab`u*CVo}^hgVIw55R9?^V-po*vtgxISEvvu0d$Bpz!}Q2zj) zEh0^0LJurCA;l#lunw{R04z&&u+p&PImv|3ZImUZ`H%-c5_@r*c2ZP7k5h74A*5^5 zxzIHqh9!*BO-)QBq(+e)L|C}u4x&8!2Y|&;0v=pPeYNj}*PDo5aWaCD5x9;>P-SJZ3KW%U1X{;#c;Sqt?J-g1 zKgv2HmqE4Nei%xTCE2vtk{)O<>&+#?&?M-%xEDOlh~FI(N-}92#*+v2w$Fw#dw`ST z+xKsQf%*OP#DFROlsr{sDX2?0)r7E+WXTn)R13IRnnN=aGLk-6T( z023Ua!fer=0$rxk)Z7!!e6!F;9!fsf?1PNui5Tw3O`QqD&qUfB65O1{DOI;d{TbID z82yy}qrVi73~^7yz6#289VSf^DAJmzQ>l@iVV&EK<0(W&&w67b$S1|Zqu-7MN)t}rAqx< z90>}>&dxwPl8*}!hLDEKs32cTf$!fI1q(p*e}PObzQ%Z=NqJUsKT7K3D{j>X5O?La z*7L`y*P8QT$$YgnSW$aT5*Iixn_qEHLaZWk*T3~T#Ai}`lA@e1Y=3tFD=3Tsfee&gYWylxZ!0LY)uKz<()d?iDh;%4c!Wl62j z>QvTPLW2>Ug!4@`wSX5$7wlF(rL%WrL@EA=|Y3g<_qIU|oKcDIEyPr6VA1umgVGO`5DJA4s60+)sgzvVU z&ez*)a!olp&0kA9;qJ!NZ|g%|Kk#!RWsK=hrDP5uM9qv&P)SR7Yt@ug0z;0I(UHF} zMSwR0o))p@#?|pe`mOw%8R5K(_-;O8%JZB{WzSblO*%C5+2y1+{6Ki(lAiUa%^A0b z^tXQ_g=?;=l|9(xvf)CC6sFC6-HM+N-jRlz>%p$B?jNRq4dH)^bj)) zqz!GMdbwL#K=Rn((h^}IT`}5iryxLDe>8;L50?ITmlI6?0I{-athxr6tB?NWYXE-f zBMB$mS(D(^bp{kg-H-?SMC$(XaOsAET`X5d&N4~tTRR1EVQYLFAVg zqv%sAM*Zvn@)vImpQp5aH;817(r@7jR26MNC!YB{pTH+ zQO!{>#A#barIhLp&!s8%mRxYWuu1IYujjisHJW4QEfnrlW}6M?#yxHc(o-cDDHb$9uqxEO;+Jb@*b?m zj~?fwl**Vec0Z-R5+bnD-+lV(oI_0@ zt!n8QWp)5upKH4rrmfj8WJ5B4qt;}r2A-@bth*Uz;WCFwDMR#GNx1!@F_f|5w$!B_ z7hb%zGZb`n^zktI?OlI@tD+KL?3->&!Kns&|?r#4un*bD$Z18J0?@gTdUlV07wI{4nPcj3TT0iYPka@vWfLn z7u;|Y7MSINpFN6L<`O)8;PNfKH47?QmVB>N>W)wREjAmfHcBDLTTQl}#H0la51ufR zQ{4iSPSX!kxaY(=98w`?s_G7)0v9=M008b?`~FzwmxjTc)(gfATT^%8lhx?C$A@eX*Gt{eL^XyxK)ew?RRpCrE; zwLq&_5fGAOep#<#N(ZN7v1ia4cVXL^3 zd@gN`5|0K=v4=>PL9&%=-(m>9EP>=|JMN(>U7JIjB`euV@wZ^{J7SxmC1k3RM5WT3 z0(;HRe2erkmu7+eCEDup8)GLv#;P5|EWE0N=xKy>inWl_3FHTG9EXlFyDbfB)!Jnt zmA0uVs7|;28anLK4aUwn+I$o7#i+7ekp-w#q}1eej)syu5gY`iBe)Oq##gg?`%WR)mzw*NXipoL_^Ouw4r0GtveC#2Kd9M zp2qJ9rEC)A1$_eE2uTS^Dh;Pe0C$@VQkgCqSk9vnrer8Ht;T|^l1V{34efJoc+oQ_ z8Z<*rYPwYVQUE1oKm_^T*rHt@X}^=9NSEksl38(nu-{2jX-9E!>(BoHo;HiEQ5AX} zF_$2kO+Co{CrFa=l$Bb>#14KtV_DBTvpB~hps7}qjLJ3(3O+ahLZXoDO)61KV1+M8 zB$SQp2aXfi=)jg)+FJ4RBAG$!=dAYilq0<+5}I*B$yxPO>I1xvt;c1?JMrZgfr77x z`8cD8C}QG8u28(Xsj{feCPA3psjvfN5{q(*U{cA`5qah`F=tbrlh#b|Y$JAt*V zJF(+q%BInz7KLcUxX@NaR#M44+*a#8WbckP+uYF`Dsgb!uTk$O2trDdPmi7eG%`RN zs}vy>&q_z!Fw$ZeOq3i_O19E&FNZ<6+3K1QIp5C=D34e3y*h%?T|#p((`$g@?4#tK zXWTJSjHTs5bhj%S{{SB2jcw8(xh+GJ(oaN>a($!n$5ebf_=s~{6}@{u*YglkCDdGP zm4E8-e#yIc8*Y8%yj0aI?eA<3n-Bp)pC!Q&KM;FsemXlg%z$q)9#-eEDPT zaEsR0%`>Z^J}LcC39In;i|#z+s-8=!RMf51;ia=IckEILw{X51@whVh(4U6ITDY zpLR7;Pl76i2lILLD?>F#tU0v%FDK@d;b=NAX|!eg6)CKr_Rxa9X`y0Jb-(bDf|m?Nzs<*%k$3#Q@$*^hdzopOavUIRAT-z z47U8*Rlb--4cv31VaD8Sg(!l0L|d0;_*JM_n^Fr3)XRmXceJ8|^24j#EHN8D<|=vv zaclKh=mOnI&e-{lR>p4!4qL@~6tO0@Y$*qeIn;pKE3zcEo?=@~Jdiwfq~kZ?a9g~i z>*9AMbbQ4=e2$YaQ>ZJ32B2M{wbQ%cojPs$$KY|3z=V9VYwFEbB%bMd4qvZj^}h0k zQi9VeBE`8cG{1QU*Y{#vF*uw17NrhggevoLl`<%DbuxWD=Kw86W^i%UgWIKO>W>u> zha5a_)Su9qPY<*8Bh%`cQgZ>6R4cTW)w0l-%)77k%2o-*)--iVKT|gF-z@@0UdwNP z(era{j=?gV^LG8+Ll>VBZx6XD5PuigO?f^&hpJ{O43&;V%2P!9l#z$ke8q=Pw2|cS z=DzW~cB9Sz0O2RJ;XdtGz_Fptub}!fk#jU*cW6`X&i<}eJ}JH}V&T1{L&C&c z#2BhFa<#f9JTK3G%pBQFthEB2R8%L@_=Q%EBu8|o@?37? zQhYI-;^d96<&~XX#otfLw-`8na>U$~lVHbj0R}``VJ@@TK(g|hI82E7#n@qknZF5_RHv>9cS%So2FIwKx5T_XZnf`!(0xze zPSyQRTd&j^sL9mZ366y9mfIyjd(JxH7M7Xe98AfH-{+vF3Zs{4FD@3t|-!NbO`q;8GyvGFi(rz)~BR?D+#s%6N~ znyN)jwKW;%BS`}1blpWN^4j<#;JhT2YZvo$bgvtY%k@Zol;ettH5DRkZi+*#FwD19 zrDy;q>Pm-H-un*h55dC&5lKn9UF~W{CyA8c;L_K!qEg7;o$;~6Co^@V;V>|+SOEF` z>5u(ej@3QC8v+xae`TlqIPyF~{$n~}dDR-C`?8hw>Y~+^H&d0>zPz~Iei(CtM z-op-nVjy zG&lR|`+>(qa3wADA_i=Vc&zX6wmPGM2=A$zn<1BWbh{)w zE?b9?)Z>c!la7?Af?q}9Hest2srFl>vaR(@S6<)l({u5*6Ot2T@{7TmB|If_mi1ZT zzLyV1*Y2lt?CmJjcs<0s*;cTlgBXtj%p`n^meh!sh$DHC$8Nv)Mz?H$Wa zFi!mL(Luq`idsrb>dI4-b(KG%rB16vV&bL3stao)e^Hq-A^3EP1L1_DC*{R|W;rCh z&|h#<<03xRw=z9$o-OS`uJnL=ooM}WqFC$WPv*bLo9RD=`hp}=cz-dpsVmLY^rqly zi55~ve(5PE7Nw5AOZ7%saG!PP4s$AGw@EScq?o6=eF@ZC%%N(<=f+#Z(Tgr068jsm zlcS4@e-UU!DkEoKkrhYxo7>}u){@>2>>V`rnjMUhn4MDnQoTv2ZD3ffFtV=iZ9~77 z7qmrgn))$xrNdsL4)Ff~J?SLn^-oXdFoqxg={OgPz<&_>7@wpT{zVW}qer3u3kolTa93cIp9G(&!gIZbp<9myO{os4$uf~0 z2IWsYb|<)7bsqup#M5P35tW_cL}hJK3(=q48jOg+ZrlBs)n@PCVy_%(qeSK*>S>o= zFDjsiTq@L}`W6bj&9Qc7)v&W|F*pvDPyx3#NUX#%s+)gEC&EAT<1Fr9B|Lh~X+oSkrQsR06pj$29CA z3e@XWcx}Kb1=&r&GG<3h2~$ZSCtB9!?vNClB`D@W?A#QDJ*QSG4atcS*3mBV9bwr7 zbW2eY!^pA*z?+aw?YEB0MmDL@ngx0K+b{alDP}_oY%M8iZGcvQtvXk|(r%J@8+L92 zlA#99;9vuR{W?-2@un-E>*$e{x9GU?e(ZT(C41*i9>+C1DJXYVtNEMbkkO%}in<#~ zHydtLdobvd512T+M5L)r`sc35PTdqi(hz)A?2nE%jtu3+5af|u*SODDo~0t5%T(sS z)-UZ{`SnM@6TW1WPgyyQi_hob`g=2>yc>B z)udCMivfg%DRMr|N(6u`lh!+t*@D%RWd8ss@Sc-Xr9i3Aks@i5%3cxBdL$=My@?%T z@fe3EVzSDlP+`$o=&8_HfZuOIfRcRAGw(Q-z#y2wb0^)1Y;-D?!U3?sVMi&WF;yDU zl9w(v2buY#3`Of0eXBZYug}1rd{{WnDtY}$^ z^DZnGSOFt_Htq4-3eiaxe+IbVz7b}&tMs^3$ukn!Z%tMca+?Vx6J)53Ct=nWAY5N_ zjHHx};OMb9>*--Dk8q+fT%%>`f2+705^0pQH6+*(ZkJM(r*qW=4o9$JRBMD?{_obw zI{hbjO1>X{0g=Gmtf_q-pIc1HEfT9(FI~Dz-+#t?@hS;%`TpSL`~D73l`0Y)Sd6yP z2_zvMpFgfNYWFa1f%2K@f|jRSSV$x!D{uMYlC6kt#u89lTD7GHz#D9Bd-!3f*qZ~$ zkkMHPio>Lvb(sfzX-#rPgedgZA}La2tt>BMmKnHOzi4|S=Y-lRElE^d;Z$csQ0h}6 zpdO=4Nm@YuFPX8ElT_7kw;-)M2mcIC_{wT)rro0)A|F~T0+U`@~&HS_q5Bb6Z?zC znR`ucv#n)B6)~e-GT_(V2-3j-I_Rjgm3JvYRcs1jI{5?hQu^G_+W zWhu3x)RWv4E)F)0HE7COI%X22uSn>dJM+WD`AFEpd@+V0an?*oGSzu zr!{2&HpVhGiax=ACr#V*SE3~LRcd{o?eS39Q{3uE%lj{WHCq|6%WJjO*f7LoJF9#< z19c^R1F4Kq%jG9Rih7|(w2t0>{0Xbn20`k`c{faFP&&FwicPh1?dCVPkA^PdJqI&q zRGFC>DTLe1^Z>XL=mjeTn+x+6@aAxPy~RjH-4f+A{F*XeajiWQszO$_wQ1F3+zB_f z-BW>A43>v+vi&wUs`OD3->SN&+0wO*DB?PvRRJG`m=OmBU#}+&# zIV`B(4oNLe53X^w_q8IG1SEDnF#N(2ey0&14_;~3WMtcWjwpE+xn9z!RM!x}Ze~v@91&$I4pr(akgjEj zV?urFJD+eEhap*D(DI!xFQ9%7r!y5@uBA6{`K;Xh@S6?BTu6oM83QmR?ypo@$C_-f zy9qr|=+6q)m-v4|P#cKl2liH>_hM%CDH6+X%MqyP@{Sk{sudWtnC1DBS%%2|(f0xe z%>6L6U~-IDj!Ar)e0OE2Usx@jhW9%Y{{Vk1bhn{PU4ovlmL1TVr$9&cYFo*%vt3!p1RuF(l0FmLgEQUFzFuIi3@zd=%parm`=~zW(bPv)~AxS-o zBj<)H)R41DAqXdOd1E}r*-tJBDLN8KCrBU@a(Q89?kuFAKW1t^XRO0|k3eHBM1@ag z3gR@dwLJ584mz?Bk*!x3+punNjua&X)ScTpF(nx_l~pPh%9%Q`nkGkyPKfz=%i)k=uu2qei6q+;lsk zNYp)*a~N!LROt%?wig7SH9wWNDAeoOuct7P)d8$+!Jlu&i`JxJ8*M)V>(g zU8v5F4JdKs0{fvP^~uQc1S`CX(!$akGVJ$A0cBO zTHl94Oy?2vSbhHs5a?6N8eaCcZ||nv1%y`QjE_mf>9P z9MROZ8>w*WQQ4q(3HxLM00rFy@b6{srz0Nk?>Sok>{{c#Tq zABm^*{{SY76ASdeU+_N}pCU?FCCuFl+=2BuAb~ zGo4|Efa;=c6H-V0o9E;)N;r#LtJnMu;>JtN{Q-wHwA7;rO@{1nq?0~VtLPlER&}ic z>MK`CYb$h}w%-=u>e@5vQ>4MtsPbmIw<6}uyy6YCwz{T`AOHr=pm%rStX#S{KSL*n znc9-|5pRe2qM~fVX*Dj=Vo!wXz1CPbe$j@vwe(@po7-Qi2-EminW^gOpUc%LD(pik z*5AKDH}d6)ej^3#BtC{J_*ty_Wlk!|l|Y{!+{&RW1o`!FEJ!`1y+q?B@UksbsWN}7 zHwDH`_jSY+DEI`PL+6d-^D%!RlQ7&;L!k&u9MyFvUvD9BPb13}VMmuShXB(hX#;Q) zg#bLPqyGSLgHX`Q6wx>Jw3~0%3LjMA0BVO%YN<7-=u-;Tt&dcnpvF>dBUnc>qpP!* zpuEhb!lmZ(oN_$y)NvtDqSl%&6rRK?;SMW%0F@F>!uaP?mj3|M>v(ah*V9i@g`{v# zGUn?2CWT6(nf1!N6H$Q)r;w8(I1Un^RIma2C5Z92gplZSLVY>?$@L$In)-ckv14kTEMTISft5>}|+4h=ga4%sy+ z3Q+2L!p4!c`p0Z)wmJD^nG#a_D<}>v)`CD}vPu+n3+hll&AE5na>i9g_L(cn`4X$1 zq%!?JA%e?D==wMcT6W&+TGpZk$vcy4Yyid*#89-gXGAdE{q2#^Ts8Djq{fWY%-2wE zBxN0CEjgoKfOSYyi}Gcn59f|};+{O@^g5%32rWzUkDPLc3@MAJ~f z&(=a#U3>ny~GhHOuo>K%N}lF$t_hLD6MLrPMF1f?JY zumc{ahtdZID{fZHaw~xiDEDKi=VFL@`zvvP4aZi-_Z{N}fwHAG!24CD0Gka*o(9T{ zWi2ACSucd4OFe^YcHpvWfp$QS8*JN9Pe{GLDPQs!Xbc7Fx$nb3EZHY~1haK6#>&GL z8-unHCmH_$DBLjP96OMCh143qx;nn>XECGahZc|`{{S@Q0d9u2&Ch}V0K*cw3M^Hm z1(DosjO=uJ+l%w?!x%ENnW;H>8md(o@V40wFRpx$E~D_nR>VRk@wP0f1}b?nkG(?$!aukq`2lc$hqOG^ zM}DDFW#`^vN~4AYr44`*k}syj^F6(oa+6O%q+Il>9Xf>9MNNYq3OjvWu#$YwGw(Rb zwl+N*c3@0Q^{;$88acgOHl?_-7|#@CTe3_!tbJKf`QkeA<`30>bE~4blKYKZ;d{y? z#mxCiN{8f%xM^Pp5S&uS?-%Gx!T$h~^%=Rs?84ft(^R=rC?HOTH>WUkiYm~LhXwJ6FVMl{I_SR@;R zWfQnKm4yhqQAnqWIVx_(v9mo=h}e%D$4WpUNO}`4^XIyfPj_w`!i=?lmI`u?h|lxM z_dgv+p~&%FF|?EKMx0B*RikU_KCA4#3=Gc!O8acBNLPPCsSSM``>=GM6MtY>k>)Gz z5QUg1Nm^I@+;Td{B}S^aE$&iPiEy9l`xd1S)AtO|&J_6+)int<7;-{v3-VCv3Qoie zAP}n)x!ay4VaYvejUFso(!li$(&O`IyBah|Elb&LFwh7C^FTM-Z+3S6#iU4-lqCu4sEgmQcH6fS8RyeOWrmjH#Zy_*!qlB854K9IO_RAiuic2u-ItLQDg`p5R-Vg| z>5l#eZS;{nODSxlnXpi?H`}UCF?mwe>U2jmo{KTgMwu5|UA8G%&7B$!K1*UJFxVMnWdA+st$5oliv1{g^tH`$TzTiOZWh zZ7mYepFmVYxiJ&e!qAZQkR|*2a@+4oX^<>xx>{%}O^X2_jp) zSix=!^FJI_P>#^_Nm)D{V3YpGlP%P0ZOHn9kXuk74(|@n zjwL3ZqQuKdt@#P1&X=Tjm|Lm?$tkuOfvOGDfCmjL{{S2`6lH3-?!yCS*R`+`(aC?x z9UQro@+-g+Q&W`Q!u;4t{{Rj%m?V7G<6TM@;24pUF@;ZNpu^%iTm`_ClXIkQEq>f6 zpnD3-;{(-cE-{ue{K~tepSE!&Est_;ekC|c9oSfp^J|D%uz#g1Owb}PoOoW{yN-kP zUJTJ%Bo$$5F9h=4Iejd)->bt*xe|b2Z?S&$51_Wwr0f=$hipc)Wgajwx z1}Acb(mvG|<)~sns`wB6S)A1f?a);fx9<<|<4Ng6qSn}BJ<2hBAfr_(!Aj(jxmRGr z0u7Kj;gYi6ZLC&vKMQEtp_%R%S%6-CBzRXOl(d8>jXQy5>a~TBJZ7MGxuUY-{(Z}t zyEjUyWt^=aCevI>LTPa&Jt+xL8>lVPRk_~Wg|^2;VMjFOdlmDN!>SinqOH2X9Bh>s zS)yMIkhBD&un?PIs}S-IV5zj~TZdAU1b%uXtpI!uCBiRsT9lT|l0f1%VWp&{8KSQG z{{T62omvNyR7m*aCxeFm73f;V#9tF0{{Tw0<)-qgp0JKuABP?FEBD(r^FKUCv%`h? zE3H2N0D*+ABg&V4o{>U%1X!hXmM*U{l#Dfkmd*OHbz9vpL@`!mfgx9WDo~I6wjOBz z00X1xis{L1CK=QCQJ|fd-8x*#?KQRU9-$#0B^6+5YvTJLxPG6z9nM*WE_l5m^EO5B&H`5I7elwYs-6scuOEjnuAO=mIFWgyvXzRL$VWmFim0Id30_hubR*~LuE>VK+ zH3`k9RCTWmeF|V@N=tRj;N&Q1QPvEnTT(Ui*x#YQf;wgRV~TjvpO^jmosq-C!q!{= z0K5`f^t`K1bTdq4bq5;QNYYS|Zsja%KeCpGhA~lPPZ>Q3yY(WasI=Q`m2)W_W9E6E zelIN$Eq%JP7m}Q;Cig2Io_T>QOzU;v2m} za&mfv0!(PJ8$Q=Yr7O(;0ONy#Or-U2!i7+92+2EO0YsfBzkVMCoP+$O*-6~r!aShL zDo@iIXD}5!xcAiJRTa^vnC$@Xeq6CF)}uaXaSw)cOr^u>oY*Y75Dv-SaM_Zc#%$~62jU}p7PR)iZ9C*vnk4Fg-s*atK z8b?Hf`%B#Wl5mt5>=vBq#7xwm^fdt#nCjR_kl$y1r))k6IIOW-irM4B9L1TGmoq+S zam4n=WU0~f(t++t!%|CRI-YO@O)3GtSoIwWt)k;A4d2rZPn!)a5bp&;mJt7Kf?U=4;M>5hclXfoENIvYsX z4)fqKN!U=-y3*75(3_hR_xm_vH4G(0=yzX$BLErbMSu<|3%>ns&nzGaQmIpFa#0>G zx7}H?P}&NVquc-+;$Y)ASm;8&f7!C8aCSs}&&L;>N>c+%W1h*iPf4CDOesc$rb+6*D~5 zvjdgN^)uzzdDuka??*HHftw(7JPy zBOtcY;Zq~TI!&*rw1k!N7Sv6%7))s^kL&2!)P)x$p8}MfW65i0^>M`UF(h_g78>_Q@wl4KSb$*VYCLLd zH@{5tNO4#E;MIdb{*sclex4Fsvz}Ou>_lssnxmK}s%27qnex@KdP}NtcJ2g|Vc<5# zhBO6KueCei5Sz6GCihkGLI+5!w1T2s8}?t803(%*;RcM--IXP%&69AamIeHWZ@Uzt z<)T7uEm>XHxZ@NRBAp${s{a63=h?UO>mPu}Onf|^ve3ojMQlJSyhE>7p6HCVu$Am1 zK?NmV8(l}^j+o%WJQzz7O!}GpoRFl`y%^xNE<2H)Rc@r_hk;70R*Mo2`}pFexZ|pZEOUL3mquz0*R>IL5{+O!yfx_Nb%CaVQbn-5wk8&)L z?_L{%Td`f5oUz1=)Gt)6vqOxbyAhRRZtFMquL|QGkW&NYz8+I0XNhz=v3jD245`N4 zD=ilkR+37rZgz8(@SL9LD}vmke7< zyelN*CbMN~Fw)IxrqJ$0*GKrVyTgOsFG1&*b~#59Gg}}f8Ir0%{FfyyWB7^0^f3Pb zN)EOs>SF2QZec%;n$)lUCLDKvyxGF&L;bP!r~c8SoI#f8JvA{pQXLv;ALS%@5P}JS1iJ4b>K`+3=LppH{{Sn&kz< zvnCuf;%mGm%*^H-qnL9BT&y&OHkommVM+*A%1^ao4TZ(Al%qLsUvpSW5!(L5zN_g? zo~7{`o1b6KQ!^fDfZC(SkzA$6c`US`ZjgnAwntdot8h)h2Li&iuja~lsXuq|L{p4B zbj@6EuQ6E7GNL~VMP*O=+$r(K)w8JhTSVAD|AfhG|0JXqez`l zh|H+MN>pJ>aZM&l6LO@IHv^TX~SL_ z@R_L6Wzqito^{3*(l)t)C6<@o0+LXl*==XJ!H+&zvzzRW)fho(t0$SKj+vt~GURbI zQXnlo8Hr5P&{8`Rw=P^*@KT8I7?q~Na&L0Gepm>wAOYAg=!+6u(QVg;D;d93N(t+L zJaFhN4?i(66)rmC$xCS)t!fEK_ncSAR#&-)jg**bQX;K&7e^$=*&g+sz8A*v!IR%Z zCyN!aT~_$HT&k#{ha0A}t$=5&;r*lc0gjm9MQ^E##go_@N6K})+adL~(v<6J33>U> z6qFJ*3+n3~h&vA4ZmK#MH+z%1F9o7ErFBWJ&0lL#$3)-9bsv@~uqX74w@;wArk@Fj zW3;rMvGZ3m?>L(kA3*&K{?CE22Iu`LJNxOxGk7fv`XRVDNYRV-;)HBXu&fQxy#TJp z{g_ru)KZYyc6Ugv^b6k&Za1*?L!=J7z0|M;x#5fUH*I=Hc*P)SSRfIx!y?ZT5DEBT z4a^|zzdQvT_vza*9Xrw5qds%!jT$Xd1B!Kb+U_X>kSBe1#Jz;il=B znLTo&t)l2}LJ@K85PHN8e1;N*J0YB{$|XRDr>#^Hm{_6*ME{m7HZiFiB%(pd1i)CsI-P%bv&Jx3+lh^ zTn}&{1=K0CwQ9XgEYfjgLGcPoGDZaK~|xi{XHxSt>{)v|>j>Y6S;^u z?hS}O@rchC9MN`-GD5#%QVMi=yOYwTTfAyYUZa8RX#+gp2r$u;zkOjWrc?+J4aMT^hl%d`Whe3 zRR*M0oE;~sI^o!!(A|oUnMqG_@xbxq{HX3&P+GlBS)tJ>5;ehyl&EYR2-2&5waS3- z2N~yYaXR33s)m$lNC-#fq*!8i5Y@@&R_d_BCdThnQjxOv@xv8^<<^_hp{(t`*q|X< zi;FZ`Ia_L$A9!uiM*Bs3?XdTpYaBUCgE>wslDDsMs-rJZfWvTG{{UF|=@;nvreJ0a@i3v!Seo!abShf(At)xnLiQH8BVmq(7{g>_4MmvqMUZy5oIJUDTljk7Bq(q)9riVHWX|kq$=8OdxjN`in}yQ ziI;fQNuM@DP@)(C1|<30g)cn%!cu@*c{`KJ^n@I``%aK)DcC;wx zN&U6yA6zvFG3H2)4m;*t#-iR;$!|!$$#wm2e2@~6?^Y`!Te4fRQ9+DCs|?wmK||G}hner{XZshfJv@DYAj(%M!~%a*|7z zzT{v+W{o1rb8+nb_-shjqr`l02-iZd*nQ&+43sOKz8Dzj_LX-WNRL?CmiS;S$>@k# zR-GgrK-$N%d`l^4bWaMs8@QLp8k5zz&Cib#QiPc`n$ycl-WJ`?wbs3W>lBpiI>Q_o znAmtrEO_A_h8`609%+{x9u08shfbxpUvDr=Z)Xf*97>4n)((I?0+v5V91_OFpX_yI z!o%BASiUnWO+?zRdQk-F~?X>?GdE^BQp4V%@e zXUQXcX&6ddB4sqUE6VR299dFnkoM#rmTW!AA9)z+kB9wC!Q$4$Dxq1-nW8h&A97@f zO^s_Uq_)CGy1@ML(HKG-7|L>%PDOp()o=hya@=`wR(`&`CW(sP^_@kya=Zblo6a z;1Q#2DM}j?hFIoHsbzqLZGFhWWSWDaolc87`M#6+DHuLu`3om;^u-8W2TCv7hKPEa z6NXTt78WdiIApb36}P0FKiBvbomsW*1Uf%q*46$TOtxUPK6omO9A)On_K>9fK_7lO zth%DU^ly#p94V(F#Y$#OmPiAAoG0(aP3lY*g!Z$TXnAECs0-q zc--hm%;K^|d6=^|vJ*K6ig~af! Jau!A729pyrH}{3Sa%h&4|(puHGULR@}^{= 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 literal 0 HcmV?d00001 diff --git a/_static/pygments.css b/_static/pygments.css new file mode 100644 index 0000000..04a4174 --- /dev/null +++ b/_static/pygments.css @@ -0,0 +1,84 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #8f5902; font-style: italic } /* Comment */ +.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */ +.highlight .g { color: #000000 } /* Generic */ +.highlight .k { color: #004461; font-weight: bold } /* Keyword */ +.highlight .l { color: #000000 } /* Literal */ +.highlight .n { color: #000000 } /* Name */ +.highlight .o { color: #582800 } /* Operator */ +.highlight .x { color: #000000 } /* Other */ +.highlight .p { color: #000000; font-weight: bold } /* Punctuation */ +.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #8f5902 } /* Comment.Preproc */ +.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #a40000 } /* Generic.Deleted */ +.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */ +.highlight .ges { color: #000000 } /* Generic.EmphStrong */ +.highlight .gr { color: #ef2929 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #745334 } /* Generic.Prompt */ +.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */ +.highlight .kc { color: #004461; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #004461; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #004461; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #004461; font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { color: #004461; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #004461; font-weight: bold } /* Keyword.Type */ +.highlight .ld { color: #000000 } /* Literal.Date */ +.highlight .m { color: #990000 } /* Literal.Number */ +.highlight .s { color: #4e9a06 } /* Literal.String */ +.highlight .na { color: #c4a000 } /* Name.Attribute */ +.highlight .nb { color: #004461 } /* Name.Builtin */ +.highlight .nc { color: #000000 } /* Name.Class */ +.highlight .no { color: #000000 } /* Name.Constant */ +.highlight .nd { color: #888888 } /* Name.Decorator */ +.highlight .ni { color: #ce5c00 } /* Name.Entity */ +.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #000000 } /* Name.Function */ +.highlight .nl { color: #f57900 } /* Name.Label */ +.highlight .nn { color: #000000 } /* Name.Namespace */ +.highlight .nx { color: #000000 } /* Name.Other */ +.highlight .py { color: #000000 } /* Name.Property */ +.highlight .nt { color: #004461; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #000000 } /* Name.Variable */ +.highlight .ow { color: #004461; font-weight: bold } /* Operator.Word */ +.highlight .pm { color: #000000; font-weight: bold } /* Punctuation.Marker */ +.highlight .w { color: #f8f8f8 } /* Text.Whitespace */ +.highlight .mb { color: #990000 } /* Literal.Number.Bin */ +.highlight .mf { color: #990000 } /* Literal.Number.Float */ +.highlight .mh { color: #990000 } /* Literal.Number.Hex */ +.highlight .mi { color: #990000 } /* Literal.Number.Integer */ +.highlight .mo { color: #990000 } /* Literal.Number.Oct */ +.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */ +.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */ +.highlight .sc { color: #4e9a06 } /* Literal.String.Char */ +.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */ +.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */ +.highlight .se { color: #4e9a06 } /* Literal.String.Escape */ +.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */ +.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */ +.highlight .sx { color: #4e9a06 } /* Literal.String.Other */ +.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */ +.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */ +.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */ +.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #000000 } /* Name.Function.Magic */ +.highlight .vc { color: #000000 } /* Name.Variable.Class */ +.highlight .vg { color: #000000 } /* Name.Variable.Global */ +.highlight .vi { color: #000000 } /* Name.Variable.Instance */ +.highlight .vm { color: #000000 } /* Name.Variable.Magic */ +.highlight .il { color: #990000 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/_static/searchtools.js b/_static/searchtools.js new file mode 100644 index 0000000..b08d58c --- /dev/null +++ b/_static/searchtools.js @@ -0,0 +1,620 @@ +/* + * searchtools.js + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for the full-text search. + * + * :copyright: Copyright 2007-2024 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, anchor) + ); + // 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." + ).replace('${resultCount}', resultCount); +}; +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); +}; +// Helper function used by query() to order search results. +// Each input is an array of [docname, title, anchor, descr, score, filename]. +// Order the results by score (in opposite order of appearance, since the +// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. +const _orderResultsByScoreThenName = (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; +}; + +/** + * 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, anchor) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + for (const removalQuery of [".headerlink", "script", "style"]) { + htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); + } + if (anchor) { + const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); + if (anchorContent) return anchorContent.textContent; + + console.warn( + `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` + ); + } + + // if anchor not specified or not found, fall back to main content + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent) return docContent.textContent; + + console.warn( + "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. 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); + }, + + _parseQuery: (query) => { + // 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]); + + return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; + }, + + /** + * execute search (requires search index to be loaded) + */ + _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { + 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; + + // Collect multiple result groups to be sorted separately and then ordered. + // Each is an array of [docname, title, anchor, descr, score, filename]. + const normalResults = []; + const nonMainIndexResults = []; + + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase().trim(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + const score = Math.round(Scorer.title * queryLower.length / title.length); + const boost = titles[file] === title ? 1 : 0; // add a boost for document titles + normalResults.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score + boost, + 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, isMain] of foundEntries) { + const score = Math.round(100 * queryLower.length / entry.length); + const result = [ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]; + if (isMain) { + normalResults.push(result); + } else { + nonMainIndexResults.push(result); + } + } + } + } + + // lookup as object + objectTerms.forEach((term) => + normalResults.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) { + normalResults.forEach((item) => (item[4] = Scorer.score(item))); + nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); + } + + // Sort each group of results by score and then alphabetically by name. + normalResults.sort(_orderResultsByScoreThenName); + nonMainIndexResults.sort(_orderResultsByScoreThenName); + + // Combine the result groups in (reverse) order. + // Non-main index entries are typically arbitrary cross-references, + // so display them after other results. + let results = [...nonMainIndexResults, ...normalResults]; + + // 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; + }, []); + + return results.reverse(); + }, + + query: (query) => { + const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); + const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); + + // 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); + if (!terms.hasOwnProperty(word)) { + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + } + if (!titleTerms.hasOwnProperty(word)) { + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: titleTerms[term], 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.set(file, [word]); + else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(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, anchor) => { + const text = Search.htmlToText(htmlText, anchor); + 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/_static/sphinx_highlight.js b/_static/sphinx_highlight.js new file mode 100644 index 0000000..8a96c69 --- /dev/null +++ b/_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/_static/translations.js b/_static/translations.js new file mode 100644 index 0000000..df5af81 --- /dev/null +++ b/_static/translations.js @@ -0,0 +1,60 @@ +Documentation.addTranslations({ + "locale": "ja", + "messages": { + "%(filename)s — %(docstitle)s": "%(filename)s — %(docstitle)s", + "© %(copyright_prefix)s %(copyright)s.": "", + ", in ": ", in ", + "About these documents": "\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u3064\u3044\u3066", + "Automatically generated list of changes in version %(version)s": "\u30d0\u30fc\u30b8\u30e7\u30f3 %(version)s \u306e\u5909\u66f4\u70b9\uff08\u3053\u306e\u30ea\u30b9\u30c8\u306f\u81ea\u52d5\u751f\u6210\u3055\u308c\u3066\u3044\u307e\u3059\uff09", + "C API changes": "C API \u306b\u95a2\u3059\u308b\u5909\u66f4", + "Changes in Version %(version)s — %(docstitle)s": "\u30d0\u30fc\u30b8\u30e7\u30f3 %(version)s \u306e\u5909\u66f4\u70b9 — %(docstitle)s", + "Collapse sidebar": "\u30b5\u30a4\u30c9\u30d0\u30fc\u3092\u305f\u305f\u3080", + "Complete Table of Contents": "\u7dcf\u5408\u76ee\u6b21", + "Contents": "\u30b3\u30f3\u30c6\u30f3\u30c4", + "Copyright": "\u8457\u4f5c\u6a29", + "Created using Sphinx %(sphinx_version)s.": "", + "Expand sidebar": "\u30b5\u30a4\u30c9\u30d0\u30fc\u3092\u5c55\u958b", + "Full index on one page": "\u7dcf\u7d22\u5f15", + "General Index": "\u7dcf\u5408\u7d22\u5f15", + "Global Module Index": "\u30e2\u30b8\u30e5\u30fc\u30eb\u7dcf\u7d22\u5f15", + "Go": "\u691c\u7d22", + "Hide Search Matches": "\u691c\u7d22\u7d50\u679c\u3092\u96a0\u3059", + "Index": "\u7d22\u5f15", + "Index – %(key)s": "", + "Index pages by letter": "\u982d\u6587\u5b57\u5225\u7d22\u5f15", + "Indices and tables:": "\u7d22\u5f15\u3068\u8868\u4e00\u89a7:", + "Last updated on %(last_updated)s.": "\u6700\u7d42\u66f4\u65b0: %(last_updated)s", + "Library changes": "\u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u95a2\u3059\u308b\u5909\u66f4", + "Navigation": "\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3", + "Next topic": "\u6b21\u306e\u30c8\u30d4\u30c3\u30af\u3078", + "Other changes": "\u305d\u306e\u4ed6\u306e\u5909\u66f4", + "Overview": "\u6982\u8981", + "Please activate JavaScript to enable the search\n functionality.": "\u691c\u7d22\u6a5f\u80fd\u3092\u4f7f\u3046\u306b\u306f JavaScript \u3092\u6709\u52b9\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002", + "Preparing search...": "\u691c\u7d22\u3092\u6e96\u5099\u3057\u3066\u3044\u307e\u3059...", + "Previous topic": "\u524d\u306e\u30c8\u30d4\u30c3\u30af\u3078", + "Quick search": "\u30af\u30a4\u30c3\u30af\u691c\u7d22", + "Search": "\u691c\u7d22", + "Search Page": "\u691c\u7d22\u30da\u30fc\u30b8", + "Search Results": "\u691c\u7d22\u7d50\u679c", + "Search finished, found ${resultCount} page(s) matching the search query.": "", + "Search within %(docstitle)s": "%(docstitle)s \u5185\u3092\u691c\u7d22", + "Searching": "\u691c\u7d22\u4e2d", + "Searching for multiple words only shows matches that contain\n all words.": "\u8907\u6570\u306e\u5358\u8a9e\u3092\u691c\u7d22\u3059\u308b\u3068\u3001\u6b21\u3092\u542b\u3080\u4e00\u81f4\u306e\u307f\u304c\u8868\u793a\u3055\u308c\u307e\u3059\n \u00a0\u00a0\u00a0 \u3059\u3079\u3066\u306e\u7528\u8a9e\u3002", + "Show Source": "\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u8868\u793a", + "Table of Contents": "\u76ee\u6b21", + "This Page": "\u3053\u306e\u30da\u30fc\u30b8", + "Welcome! This is": "Welcome! This is", + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "\u691c\u7d22\u3057\u305f\u6587\u5b57\u5217\u306f\u3069\u306e\u6587\u66f8\u306b\u3082\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u3059\u3079\u3066\u306e\u5358\u8a9e\u304c\u6b63\u78ba\u306b\u8a18\u8ff0\u3055\u308c\u3066\u3044\u308b\u304b\u3001\u3042\u308b\u3044\u306f\u3001\u5341\u5206\u306a\u30ab\u30c6\u30b4\u30ea\u30fc\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002", + "all functions, classes, terms": "\u95a2\u6570\u3001\u30af\u30e9\u30b9\u304a\u3088\u3073\u7528\u8a9e\u7dcf\u89a7", + "can be huge": "\u5927\u304d\u3044\u5834\u5408\u304c\u3042\u308b\u306e\u3067\u6ce8\u610f", + "last updated": "\u6700\u7d42\u66f4\u65b0", + "lists all sections and subsections": "\u7ae0\uff0f\u7bc0\u4e00\u89a7", + "next chapter": "\u6b21\u306e\u7ae0\u3078", + "previous chapter": "\u524d\u306e\u7ae0\u3078", + "quick access to all modules": "\u5168\u30e2\u30b8\u30e5\u30fc\u30eb\u65e9\u898b\u8868", + "search": "\u691c\u7d22", + "search this documentation": "\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u691c\u7d22", + "the documentation for": "the documentation for" + }, + "plural_expr": "0" +}); \ No newline at end of file diff --git a/api.html b/api.html new file mode 100644 index 0000000..83a38c6 --- /dev/null +++ b/api.html @@ -0,0 +1,125 @@ + + + + + + + + API — sphinx-new-tab-link documentation ドキュメント + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + + + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/genindex.html b/genindex.html new file mode 100644 index 0000000..83e9586 --- /dev/null +++ b/genindex.html @@ -0,0 +1,156 @@ + + + + + + + 索引 — sphinx-new-tab-link documentation ドキュメント + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

索引

+ +
+ E + | M + | N + | S + +
+

E

+ + +
+ +

M

+ + +
+ +

N

+ + +
+ +

S

+ + +
    +
  • + sphinx_new_tab_link + +
  • +
+ + + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/guide.en.html b/guide.en.html new file mode 100644 index 0000000..9ab27b8 --- /dev/null +++ b/guide.en.html @@ -0,0 +1,207 @@ + + + + + + + + Guide of sphinx-new-tab-link — sphinx-new-tab-link documentation ドキュメント + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + + + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/guide.html b/guide.html new file mode 100644 index 0000000..ac1e7b9 --- /dev/null +++ b/guide.html @@ -0,0 +1,207 @@ + + + + + + + + sphinx-new-tab-link 使い方ガイド — sphinx-new-tab-link documentation ドキュメント + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + + + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..5310aa0 --- /dev/null +++ b/index.html @@ -0,0 +1,153 @@ + + + + + + + + Welcome to sphinx-new-tab-link documentation's documentation! — sphinx-new-tab-link documentation ドキュメント + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/markdown-example.html b/markdown-example.html new file mode 100644 index 0000000..5643662 --- /dev/null +++ b/markdown-example.html @@ -0,0 +1,174 @@ + + + + + + + + Markdown example / Markdownの例 — sphinx-new-tab-link documentation ドキュメント + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

Markdown example / Markdownの例

+

Here is an example of how sphinx-new-tab-link works with HTML built from a Markdown file.
+MarkdownファイルからビルドされたHTMLでもsphinx-new-tab-linkが機能する例です。

+
+

注釈

+

reST version: reST example / reSTの例

+
+ +
+

Installation / インストール

+
$ pip install sphinx-new-tab-link myst-parser
+
+
+
+
+

How to use / 使い方

+

conf.py

+
    extensions = [
+        "myst_parser",
+        "sphinx_new_tab_link",
+    ]
+
+
+
+
+

Supported notations / 対応している記法

+

It supports various notations of a external link possible in MyST.
+MySTで可能なさまざまな記法による外部リンクをサポートしています。

+

ref: https://myst-parser.readthedocs.io/en/latest/syntax/syntax.html#default-destination-resolution

+

✅Autolinks

+

See PyPI at 'Links / リンク集' section

+
<https://pypi.org/project/sphinx-new-tab-link/>
+
+
+

✅Inline links (to external target)

+

See GitHub Repository at 'Links / リンク集' section

+
[GitHub Repository](https://github.com/ftnext/sphinx-new-tab-link)
+
+
+

✅Reference links (to external target)

+

公開版ガイド(ja)

+
[公開版ガイド(ja)][guide-ja]
+
+[guide-ja]: https://ftnext.github.io/sphinx-new-tab-link/guide.html
+
+
+

Enjoy documentation!🙌

+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/objects.inv b/objects.inv new file mode 100644 index 0000000..4e0f076 --- /dev/null +++ b/objects.inv @@ -0,0 +1,5 @@ +# Sphinx inventory version 2 +# Project: sphinx-new-tab-link documentation +# Version: +# The remainder of this file is compressed using zlib. +xڍR=O0+@bruXɣ1u(vtlÂa@LL &"1.o)J%;xGu":nnE$%Ol x aKjJ.6(ER)d:5Ҩ$ǣ]KFmQ) ܲ+g5_=7^٦.d,FR^ 03dR$%NR4N ђ]_/ѵ5k3M3J5}Ut^Ǘ4Kv.)0G( >pETmx߰I@8HX?lSZ>'a!"~f\3sM;?=߯-[ӂ1@:~HǏ&h] ^"h`0%LߦOl \ No newline at end of file diff --git a/py-modindex.html b/py-modindex.html new file mode 100644 index 0000000..c8f5e37 --- /dev/null +++ b/py-modindex.html @@ -0,0 +1,128 @@ + + + + + + + Pythonモジュール索引 — sphinx-new-tab-link documentation ドキュメント + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Pythonモジュール索引

+ +
+ s +
+ + + + + + + +
 
+ s
+ sphinx_new_tab_link +
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/search.html b/search.html new file mode 100644 index 0000000..d282590 --- /dev/null +++ b/search.html @@ -0,0 +1,127 @@ + + + + + + + 検索 — sphinx-new-tab-link documentation ドキュメント + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +

検索

+ + + + +

+ 複数の単語を検索すると、次を含む一致のみが表示されます +     すべての用語。 +

+ + +
+ + + +
+ + +
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/searchindex.js b/searchindex.js new file mode 100644 index 0000000..af0afd4 --- /dev/null +++ b/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({"alltitles": {"API": [[0, null]], "For developers:": [[3, null]], "For library users:": [[3, null]], "Guide of sphinx-new-tab-link": [[2, null]], "How to use": [[2, "how-to-use"]], "How to use / \u4f7f\u3044\u65b9": [[4, "how-to-use"]], "Indices and tables": [[3, "indices-and-tables"]], "Installation": [[2, "installation"]], "Installation / \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb": [[4, "installation"]], "Links": [[2, "links"]], "Links / \u30ea\u30f3\u30af\u96c6": [[4, "links"]], "Markdown example / Markdown\u306e\u4f8b": [[4, null]], "Supported notations": [[2, "supported-notations"]], "Supported notations / \u5bfe\u5fdc\u3057\u3066\u3044\u308b\u8a18\u6cd5": [[4, "supported-notations"]], "Welcome to sphinx-new-tab-link documentation's documentation!": [[3, null]], "sphinx-new-tab-link \u4f7f\u3044\u65b9\u30ac\u30a4\u30c9": [[1, null]], "\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb": [[1, "id2"]], "\u30ea\u30f3\u30af\u96c6": [[1, "id1"]], "\u4f7f\u3044\u65b9": [[1, "id3"]], "\u5bfe\u5fdc\u3057\u3066\u3044\u308b\u8a18\u6cd5": [[1, "id4"]]}, "docnames": ["api", "guide", "guide.en", "index", "markdown-example"], "envversion": {"sphinx": 63, "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}, "filenames": ["api.rst", "guide.rst", "guide.en.rst", "index.rst", "markdown-example.md"], "indexentries": {"extensionmetadata (sphinx_new_tab_link \u306e\u30af\u30e9\u30b9)": [[0, "sphinx_new_tab_link.ExtensionMetadata", false]], "module": [[0, "module-sphinx_new_tab_link", false]], "newtablinkhtmltranslatormixin (sphinx_new_tab_link \u306e\u30af\u30e9\u30b9)": [[0, "sphinx_new_tab_link.NewTabLinkHTMLTranslatorMixin", false]], "sphinx_new_tab_link": [[0, "module-sphinx_new_tab_link", false]]}, "objects": {"": [[0, 0, 0, "-", "sphinx_new_tab_link"]], "sphinx_new_tab_link": [[0, 1, 1, "", "ExtensionMetadata"], [0, 1, 1, "", "NewTabLinkHTMLTranslatorMixin"]]}, "objnames": {"0": ["py", "module", "Python \u30e2\u30b8\u30e5\u30fc\u30eb"], "1": ["py", "class", "Python \u30af\u30e9\u30b9"]}, "objtypes": {"0": "py:module", "1": "py:class"}, "terms": {"!\ud83d\ude4c": [1, 2, 4], "\",": [1, 2, 4], "#default": 4, "'links": 4, "'ll": 2, "'s": 2, "(ja": 4, "):": 2, ")]": 4, ")`": 2, "-destination": 4, "-ja": 4, "-link": 4, "-new": 4, "-parser": 4, "-resolution": 4, "-tab": 4, "..": [1, 2], ".autodoc": [1, 2], ".com": [0, 1, 2, 4], ".ext": [1, 2], ".flickr": [1, 2], ".github": [1, 2, 4], ".html": [1, 2, 4], ".io": [1, 2, 4], ".jpg": [1, 2], ".org": [1, 2, 4], ".py": [1, 2, 4], ".readthedocs": 4, "/>": 4, "/a": 0, "/album": [1, 2], "/breakfast": [1, 2], "/en": 4, "/ftnext": [1, 2, 4], "/guide": [1, 2, 4], "/latest": 4, "/photos": [1, 2], "/project": [1, 2, 4], "/pyconjp": [1, 2], "/sphinx": [1, 2, 4], "/syntax": 4, "1\u3064": 1, "2\u3064": 1, ":/": [0, 1, 2, 4], "::": [1, 2], ":target": [1, 2], "`": [1, 2], "[github": 4, "](": 4, "]:": 4, "_:": [1, 2], "__": [1, 2], "_link": [0, 1, 2, 4], "_new": [0, 1, 2, 4], "_parser": 4, "_tab": [0, 1, 2, 4], "`_": [1, 2], "`github": [1, 2], "again": 2, "also": 2, "an": [0, 2, 4], "and": 2, "anonymous": 2, "api": [1, 2, 3], "at": [2, 4], "be": 2, "browser": [0, 2], "builds": 2, "built": [2, 4], "by": 2, "can": 2, "class": 0, "conf": [1, 2, 4], "containing": 2, "define": 2, "defined": 2, "definition": 2, "directive": 2, "docstring": [1, 2], "document": 2, "documentation": [1, 2, 4], "dogfooding": 2, "double": 2, "embedded": 2, "enable": 2, "enables": 2, "english": 1, "enjoy": [1, 2, 4], "example": [2, 3], "extension": 2, "extensionmetadata": 0, "extensions": [1, 2, 4], "external": [0, 2, 4], "figure": [1, 2], "file": 4, "for": 2, "from": [2, 4], "ftnext": [1, 2, 4], "github": [1, 2, 4], "gosh": 2, "guide": [1, 3, 4], "here": [1, 4], "how": 3, "html": [1, 2, 4], "https": [0, 1, 2, 4], "hyperlink": 2, "image": [1, 2], "in": [0, 1, 2, 4], "inline": 2, "install": [1, 2, 4], "installation": 3, "is": [1, 2, 4], "it": [2, 4], "jpg": [1, 2], "link": [0, 2, 4], "links": 3, "markdown": 3, "my": 2, "myst": 4, "new": [0, 2], "newtablinkhtmltranslatormixin": 0, "notation": 2, "notations": 3, "note": 2, "of": [0, 1, 3, 4], "oh": 2, "only": 2, "open": [0, 2], "opened": 2, "option": 2, "patched": 0, "pip": [1, 2, 4], "possible": [2, 4], "project": 2, "published": 2, "pypi": [1, 2, 4], "ref": [0, 4], "refer": 2, "repository": [1, 2, 4], "rest": [1, 2, 4], "section": [2, 4], "see": [2, 4], "show": 2, "single": 2, "source": 2, "specified": 2, "sphinx": [0, 4], "stackoverflow": 0, "static": [1, 2], "supported": 3, "supports": [2, 4], "tab": [0, 2], "tabs": 2, "target": [1, 2, 4], "that": 2, "the": [0, 2], "this": [1, 2], "to": 0, "too": 2, "translator": 0, "underscore": 2, "url": [1, 2], "use": 3, "various": [2, 4], "version": [1, 4], "which": 2, "will": 2, "with": [2, 4], "without": 2, "works": 4, "written": 2, "www": [1, 2], "you": 2, "your": 2, "\u2705anonymous": 2, "\u2705autolinks": 4, "\u2705define": 2, "\u2705embedded": 2, "\u2705inline": 4, "\u2705line": 2, "\u2705refer": 2, "\u2705reference": 4, "\u2705url": 2, "\u3042\u306a\u305f": 1, "\u3042\u308a": 2, "\u3044\u308b": 3, "\u304b\u3089": [1, 4], "\u3053\u3061\u3089": 2, "\u3053\u306e": [1, 2], "\u3053\u308c": 1, "\u3057\u3066": 1, "\u3059\u308b": 4, "\u305d\u306e": 1, "\u305d\u308c": 1, "\u3060\u3051": 1, "\u3060\u3055\u3044": 1, "\u3067\u304d": 1, "\u3067\u304d\u308b": 1, "\u3067\u3053\u306e": 1, "\u3067\u3059": [1, 4], "\u3067\u3082": [1, 4], "\u306a\u3055": [1, 4], "\u306a\u3057": 1, "\u306a\u3063": 1, "\u306a\u308a": 1, "\u306a\u3093\u3068": 1, "\u306b\u3082": 1, "\u306b\u3088\u3063": 1, "\u306b\u3088\u308b": [1, 4], "\u307e\u3056\u307e\u306a": [1, 4], "\u307e\u3059": [1, 2, 4], "\u3088\u3046": 1, "\u308c\u308b": 1, "\u30a2\u30f3\u30c0\u30fc\u30b9\u30b3\u30a2": 1, "\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb": 3, "\u30a4\u30f3\u30e9\u30a4\u30f3": 1, "\u30aa\u30d7\u30b7\u30e7\u30f3": 1, "\u30ac\u30a4\u30c9": [2, 3, 4], "\u30b5\u30dd\u30fc\u30c8": [1, 4], "\u30bd\u30fc\u30b9": 1, "\u30bf\u30d6": 1, "\u30bf\u30fc\u30b2\u30c3\u30c8": 1, "\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6": 1, "\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8": 1, "\u30c9\u30c3\u30b0\u30d5\u30fc\u30c7\u30a3\u30f3\u30b0": 1, "\u30cf\u30a4\u30d1\u30fc\u30ea\u30f3\u30af": 1, "\u30cf\u30a4\u30d1\u30fc\u30ea\u30f3\u30af\u30bf\u30fc\u30b2\u30c3\u30c8": 1, "\u30d3\u30eb\u30c9": [1, 4], "\u30d5\u30a1\u30a4\u30eb": 4, "\u30d6\u30e9\u30a6\u30b6": 1, "\u30d7\u30ed\u30b8\u30a7\u30af\u30c8": 1, "\u30da\u30fc\u30b8": 3, "\u30e2\u30b8\u30e5\u30fc\u30eb": 3, "\u30ea\u30f3\u30af": 3, "\u4f7f\u3044": [2, 3], "\u4f7f\u3044\u65b9": 3, "\u516c\u958b\u7248": [1, 4], "\u518d\u5ea6": 1, "\u533f\u540d": 1, "\u53c2\u7167": 1, "\u53ef\u80fd": [1, 4], "\u542b\u3093": 1, "\u57cb\u3081\u8fbc\u307f": 1, "\u5916\u90e8": [1, 4], "\u5b9a\u7fa9": 1, "\u5bfe\u5fdc": 3, "\u62e1\u5f35": 1, "\u6307\u5b9a": 1, "\u65b0\u3057\u3044": 1, "\u65e5\u672c": 2, "\u66f8\u3044": 1, "\u6709\u52b9": 1, "\u691c\u7d22": 3, "\u6a5f\u80fd": 4, "\u76f4\u63a5": 1, "\u793a\u3057": 1, "\u7d22\u5f15": 3, "\u81ea\u52d5": 1, "\u8a18\u6cd5": 3, "\u8a2d\u5b9a": 1, "\u8a9e\u7248": 2, "\u958b\u304b": 1, "\u958b\u304d": 1, "\u958b\u304f": 1, "\uff01\ud83d\udc36": 1, "\uff08\u300c": 1, "\uff09`": 1, "\ud83d\udc36)": 2}, "titles": ["API", "sphinx-new-tab-link \u4f7f\u3044\u65b9\u30ac\u30a4\u30c9", "Guide of sphinx-new-tab-link", "Welcome to sphinx-new-tab-link documentation's documentation!", "Markdown example / Markdown\u306e\u4f8b"], "titleterms": {"'s": 3, "-link": [1, 2, 3], "-new": [1, 2, 3], "-tab": [1, 2, 3], "and": 3, "api": 0, "developers": 3, "documentation": 3, "example": 4, "for": 3, "guide": 2, "how": [2, 4], "indices": 3, "installation": [2, 4], "library": 3, "links": [2, 4], "markdown": 4, "notations": [2, 4], "of": 2, "sphinx": [1, 2, 3], "supported": [2, 4], "tables": 3, "to": [2, 3, 4], "use": [2, 4], "users": 3, "welcome": 3, "\u3044\u308b": [1, 4], "\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb": [1, 4], "\u30ac\u30a4\u30c9": 1, "\u30ea\u30f3\u30af": [1, 4], "\u4f7f\u3044": 1, "\u4f7f\u3044\u65b9": [1, 4], "\u5bfe\u5fdc": [1, 4], "\u8a18\u6cd5": [1, 4]}}) \ No newline at end of file