From 516605ea89f9fcc1683842c659781cc5d22a0141 Mon Sep 17 00:00:00 2001 From: rdobuilder Date: Jan 22 2024 08:19:11 +0000 Subject: Update to 10.1.0 Related-to: https://review.rdoproject.org/r/q/I410bfdce6d39d53e24ca56866835ea0d648f8d77 --- diff --git a/.python-pillow.metadata b/.python-pillow.metadata index 34d63e5..d8f6d45 100644 --- a/.python-pillow.metadata +++ b/.python-pillow.metadata @@ -1 +1 @@ -2120f1bbf8d39cb0f1a5a50fb79b993e8b75851c SOURCES/Pillow-5.1.1.tar.gz +a1a8f5d4b6c03c03e7f188d90cfc0c5082a73362 SOURCES/Pillow-10.1.0.tar.gz diff --git a/SOURCES/pillow_mingw.patch b/SOURCES/pillow_mingw.patch new file mode 100644 index 0000000..dd04d4a --- /dev/null +++ b/SOURCES/pillow_mingw.patch @@ -0,0 +1,78 @@ +diff -rupN --no-dereference Pillow-10.1.0/setup.py Pillow-10.1.0-new/setup.py +--- Pillow-10.1.0/setup.py 2023-10-15 10:59:17.000000000 +0200 ++++ Pillow-10.1.0-new/setup.py 2023-10-15 17:05:40.196995053 +0200 +@@ -136,7 +136,7 @@ class RequiredDependencyException(Except + pass + + +-PLATFORM_MINGW = os.name == "nt" and "GCC" in sys.version ++PLATFORM_MINGW = "mingw32" in os.getenv("CC", "") + + + def _dbg(s, tp=None): +@@ -509,7 +509,7 @@ class pil_build_ext(build_ext): + # + # add platform directories + +- if self.disable_platform_guessing: ++ if self.disable_platform_guessing or PLATFORM_MINGW: + pass + + elif sys.platform == "cygwin": +@@ -600,7 +600,7 @@ class pil_build_ext(build_ext): + # FIXME: check /opt/stuff directories here? + + # standard locations +- if not self.disable_platform_guessing: ++ if not self.disable_platform_guessing and not PLATFORM_MINGW: + _add_directory(library_dirs, "/usr/local/lib") + _add_directory(include_dirs, "/usr/local/include") + +@@ -842,7 +842,7 @@ class pil_build_ext(build_ext): + if feature.xcb: + libs.append(feature.xcb) + defs.append(("HAVE_XCB", None)) +- if sys.platform == "win32": ++ if sys.platform == "win32" or PLATFORM_MINGW: + libs.extend(["kernel32", "user32", "gdi32"]) + if struct.unpack("h", b"\0\1")[0] == 1: + defs.append(("WORDS_BIGENDIAN", None)) +@@ -857,6 +857,8 @@ class pil_build_ext(build_ext): + if feature.freetype: + srcs = [] + libs = ["freetype"] ++ if sys.platform == "win32" or PLATFORM_MINGW: ++ libs.extend(["dl"]) + defs = [] + if feature.raqm: + if not feature.want_vendor("raqm"): # using system Raqm +@@ -879,7 +881,7 @@ class pil_build_ext(build_ext): + + if feature.lcms: + extra = [] +- if sys.platform == "win32": ++ if sys.platform == "win32" or PLATFORM_MINGW: + extra.extend(["user32", "gdi32"]) + self._update_extension("PIL._imagingcms", [feature.lcms] + extra) + else: +@@ -898,7 +900,7 @@ class pil_build_ext(build_ext): + else: + self._remove_extension("PIL._webp") + +- tk_libs = ["psapi"] if sys.platform in ("win32", "cygwin") else [] ++ tk_libs = ["psapi"] if sys.platform in ("win32", "cygwin") or PLATFORM_MINGW else [] + self._update_extension("PIL._imagingtk", tk_libs) + + build_ext.build_extensions(self) +diff -rupN --no-dereference Pillow-10.1.0/src/libImaging/ImPlatform.h Pillow-10.1.0-new/src/libImaging/ImPlatform.h +--- Pillow-10.1.0/src/libImaging/ImPlatform.h 2023-10-15 10:59:17.000000000 +0200 ++++ Pillow-10.1.0-new/src/libImaging/ImPlatform.h 2023-10-15 17:05:40.196995053 +0200 +@@ -28,7 +28,7 @@ + #if defined(_WIN32) || defined(__CYGWIN__) /* WIN */ + + #define WIN32_LEAN_AND_MEAN +-#include ++#include + + #ifdef __CYGWIN__ + #undef _WIN64 diff --git a/SOURCES/python-pillow-revert-furo-theme.patch b/SOURCES/python-pillow-revert-furo-theme.patch new file mode 100644 index 0000000..79dc257 --- /dev/null +++ b/SOURCES/python-pillow-revert-furo-theme.patch @@ -0,0 +1,2164 @@ +diff -rupN --no-dereference Pillow-9.2.0/docs/conf.py Pillow-9.2.0-new/docs/conf.py +--- Pillow-9.2.0/docs/conf.py 2022-07-20 16:40:23.799366371 +0200 ++++ Pillow-9.2.0-new/docs/conf.py 2022-07-20 16:40:23.992366376 +0200 +@@ -16,6 +16,8 @@ + # documentation root, use os.path.abspath to make it absolute, like shown here. + # sys.path.insert(0, os.path.abspath('.')) + ++import sphinx_rtd_theme ++ + import PIL + + # -- General configuration ------------------------------------------------ +@@ -122,7 +124,8 @@ nitpicky = True + # The theme to use for HTML and HTML Help pages. See the documentation for + # a list of builtin themes. + +-html_theme = "furo" ++html_theme = "sphinx_rtd_theme" ++html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] + + # Theme options are theme-specific and customize the look and feel of a theme + # further. For a list of options available for each theme, see the +@@ -309,7 +312,10 @@ texinfo_documents = [ + + + def setup(app): ++ app.add_js_file("js/script.js") ++ app.add_css_file("css/styles.css") + app.add_css_file("css/dark.css") ++ app.add_css_file("css/light.css") + + + # GitHub repo for sphinx-issues +diff -rupN --no-dereference Pillow-9.2.0/docs/Makefile Pillow-9.2.0-new/docs/Makefile +--- Pillow-9.2.0/docs/Makefile 2022-07-20 16:40:23.620366367 +0200 ++++ Pillow-9.2.0-new/docs/Makefile 2022-07-20 16:40:23.996366376 +0200 +@@ -43,7 +43,6 @@ clean: + + install-sphinx: + python3 -c "import sphinx" > /dev/null 2>&1 || python3 -m pip install sphinx +- python3 -c "import furo" > /dev/null 2>&1 || python3 -m pip install furo + + html: + $(MAKE) install-sphinx +diff -rupN --no-dereference Pillow-9.2.0/docs/resources/css/dark.css Pillow-9.2.0-new/docs/resources/css/dark.css +--- Pillow-9.2.0/docs/resources/css/dark.css 2022-07-01 15:19:51.000000000 +0200 ++++ Pillow-9.2.0-new/docs/resources/css/dark.css 2022-07-20 16:40:23.993366376 +0200 +@@ -1,9 +1,1996 @@ +-/* For black-on-white/transparent images at handbook/text-anchors.html */ +-body[data-theme="dark"] #text-anchors img { +- filter: invert(1) brightness(0.85) hue-rotate(-60deg); +-} + @media (prefers-color-scheme: dark) { +- body[data-theme="auto"] #text-anchors img { ++ html { ++ background-color: #181a1b !important; ++ } ++ ++ html, body, input, textarea, select, button { ++ background-color: #181a1b; ++ } ++ ++ html, body, input, textarea, select, button { ++ border-color: #736b5e; ++ color: #e8e6e3; ++ } ++ ++ a { ++ color: #3391ff; ++ } ++ ++ table { ++ border-color: #545b5e; ++ } ++ ++ ::placeholder { ++ color: #b2aba1; ++ } ++ ++ input:-webkit-autofill, ++ textarea:-webkit-autofill, ++ select:-webkit-autofill { ++ background-color: #555b00 !important; ++ color: #e8e6e3 !important; ++ } ++ ++ ::selection { ++ background-color: #004daa !important; ++ color: #e8e6e3 !important; ++ } ++ ++ ::-moz-selection { ++ background-color: #004daa !important; ++ color: #e8e6e3 !important; ++ } ++ ++ /* Invert Style */ ++ .jfk-bubble.gtx-bubble, embed[type="application/pdf"] { ++ filter: invert(100%) hue-rotate(180deg) contrast(90%) !important; ++ } ++ ++ /* Override Style */ ++ .vimvixen-hint { ++ background-color: #7b5300 !important; ++ border-color: #d8b013 !important; ++ color: #f3e8c8 !important; ++ } ++ ++ ::placeholder { ++ opacity: 0.5 !important; ++ } ++ ++ /* Variables Style */ ++ :root { ++ --darkreader-neutral-background: #181a1b; ++ --darkreader-neutral-text: #e8e6e3; ++ --darkreader-selection-background: #004daa; ++ --darkreader-selection-text: #e8e6e3; ++ } ++ ++ /* Modified CSS */ ++ a:hover, ++ a:active { ++ outline-color: initial; ++ } ++ ++ abbr[title] { ++ border-bottom-color: initial; ++ } ++ ++ ins { ++ background-image: initial; ++ background-color: rgb(112, 112, 0); ++ color: rgb(232, 230, 227); ++ text-decoration-color: initial; ++ } ++ ++ mark { ++ background-image: initial; ++ background-color: rgb(204, 204, 0); ++ color: rgb(232, 230, 227); ++ } ++ ++ ul, ++ ol, ++ dl { ++ list-style-image: none; ++ } ++ ++ li { ++ list-style-image: initial; ++ } ++ ++ img { ++ border-color: initial; ++ } ++ ++ fieldset { ++ border-color: initial; ++ } ++ ++ legend { ++ border-color: initial; ++ } ++ ++ .chromeframe { ++ background-image: initial; ++ background-color: rgb(53, 57, 59); ++ color: rgb(232, 230, 227); ++ } ++ ++ .ir { ++ border-color: initial; ++ background-color: transparent; ++ } ++ ++ .visuallyhidden { ++ border-color: initial; ++ } ++ ++ .fa-border { ++ border-color: rgb(53, 57, 59); ++ } ++ ++ .fa-inverse { ++ color: rgb(232, 230, 227); ++ } ++ ++ .sr-only { ++ border-color: initial; ++ } ++ ++ .fa::before, ++ .wy-menu-vertical li span.toctree-expand::before, ++ .wy-menu-vertical li.on a span.toctree-expand::before, ++ .wy-menu-vertical li.current > a span.toctree-expand::before, ++ .rst-content .admonition-title::before, ++ .rst-content h1 .headerlink::before, ++ .rst-content h2 .headerlink::before, ++ .rst-content h3 .headerlink::before, ++ .rst-content h4 .headerlink::before, ++ .rst-content h5 .headerlink::before, ++ .rst-content h6 .headerlink::before, ++ .rst-content dl dt .headerlink::before, ++ .rst-content p.caption .headerlink::before, ++ .rst-content table > caption .headerlink::before, ++ .rst-content .code-block-caption .headerlink::before, ++ .rst-content tt.download span:first-child::before, ++ .rst-content code.download span:first-child::before, ++ .icon::before, ++ .wy-dropdown .caret::before, ++ .wy-inline-validate.wy-inline-validate-success .wy-input-context::before, ++ .wy-inline-validate.wy-inline-validate-danger .wy-input-context::before, ++ .wy-inline-validate.wy-inline-validate-warning .wy-input-context::before, ++ .wy-inline-validate.wy-inline-validate-info .wy-input-context::before { ++ text-decoration-color: inherit; ++ } ++ ++ a .fa, ++ a .wy-menu-vertical li span.toctree-expand, ++ .wy-menu-vertical li a span.toctree-expand, ++ .wy-menu-vertical li.on a span.toctree-expand, ++ .wy-menu-vertical li.current > a span.toctree-expand, ++ a .rst-content .admonition-title, ++ .rst-content a .admonition-title, ++ a .rst-content h1 .headerlink, ++ .rst-content h1 a .headerlink, ++ a .rst-content h2 .headerlink, ++ .rst-content h2 a .headerlink, ++ a .rst-content h3 .headerlink, ++ .rst-content h3 a .headerlink, ++ a .rst-content h4 .headerlink, ++ .rst-content h4 a .headerlink, ++ a .rst-content h5 .headerlink, ++ .rst-content h5 a .headerlink, ++ a .rst-content h6 .headerlink, ++ .rst-content h6 a .headerlink, ++ a .rst-content dl dt .headerlink, ++ .rst-content dl dt a .headerlink, ++ a .rst-content p.caption .headerlink, ++ .rst-content p.caption a .headerlink, ++ a .rst-content table > caption .headerlink, ++ .rst-content table > caption a .headerlink, ++ a .rst-content .code-block-caption .headerlink, ++ .rst-content .code-block-caption a .headerlink, ++ a .rst-content tt.download span:first-child, ++ .rst-content tt.download a span:first-child, ++ a .rst-content code.download span:first-child, ++ .rst-content code.download a span:first-child, ++ a .icon { ++ text-decoration-color: inherit; ++ } ++ ++ .wy-alert, ++ .rst-content .note, ++ .rst-content .attention, ++ .rst-content .caution, ++ .rst-content .danger, ++ .rst-content .error, ++ .rst-content .hint, ++ .rst-content .important, ++ .rst-content .tip, ++ .rst-content .warning, ++ .rst-content .seealso, ++ .rst-content .admonition-todo, ++ .rst-content .admonition { ++ background-image: initial; ++ background-color: rgb(32, 35, 36); ++ } ++ ++ .wy-alert-title, ++ .rst-content .admonition-title { ++ color: rgb(232, 230, 227); ++ background-image: initial; ++ background-color: rgb(29, 91, 131); ++ } ++ ++ .wy-alert.wy-alert-danger, ++ .rst-content .wy-alert-danger.note, ++ .rst-content .wy-alert-danger.attention, ++ .rst-content .wy-alert-danger.caution, ++ .rst-content .danger, ++ .rst-content .error, ++ .rst-content .wy-alert-danger.hint, ++ .rst-content .wy-alert-danger.important, ++ .rst-content .wy-alert-danger.tip, ++ .rst-content .wy-alert-danger.warning, ++ .rst-content .wy-alert-danger.seealso, ++ .rst-content .wy-alert-danger.admonition-todo, ++ .rst-content .wy-alert-danger.admonition { ++ background-image: initial; ++ background-color: rgb(52, 12, 8); ++ } ++ ++ .wy-alert.wy-alert-danger .wy-alert-title, ++ .rst-content .wy-alert-danger.note .wy-alert-title, ++ .rst-content .wy-alert-danger.attention .wy-alert-title, ++ .rst-content .wy-alert-danger.caution .wy-alert-title, ++ .rst-content .danger .wy-alert-title, ++ .rst-content .error .wy-alert-title, ++ .rst-content .wy-alert-danger.hint .wy-alert-title, ++ .rst-content .wy-alert-danger.important .wy-alert-title, ++ .rst-content .wy-alert-danger.tip .wy-alert-title, ++ .rst-content .wy-alert-danger.warning .wy-alert-title, ++ .rst-content .wy-alert-danger.seealso .wy-alert-title, ++ .rst-content .wy-alert-danger.admonition-todo .wy-alert-title, ++ .rst-content .wy-alert-danger.admonition .wy-alert-title, ++ .wy-alert.wy-alert-danger .rst-content .admonition-title, ++ .rst-content .wy-alert.wy-alert-danger .admonition-title, ++ .rst-content .wy-alert-danger.note .admonition-title, ++ .rst-content .wy-alert-danger.attention .admonition-title, ++ .rst-content .wy-alert-danger.caution .admonition-title, ++ .rst-content .danger .admonition-title, ++ .rst-content .error .admonition-title, ++ .rst-content .wy-alert-danger.hint .admonition-title, ++ .rst-content .wy-alert-danger.important .admonition-title, ++ .rst-content .wy-alert-danger.tip .admonition-title, ++ .rst-content .wy-alert-danger.warning .admonition-title, ++ .rst-content .wy-alert-danger.seealso .admonition-title, ++ .rst-content .wy-alert-danger.admonition-todo .admonition-title, ++ .rst-content .wy-alert-danger.admonition .admonition-title { ++ background-image: initial; ++ background-color: rgb(108, 22, 13); ++ } ++ ++ .wy-alert.wy-alert-warning, ++ .rst-content .wy-alert-warning.note, ++ .rst-content .attention, ++ .rst-content .caution, ++ .rst-content .wy-alert-warning.danger, ++ .rst-content .wy-alert-warning.error, ++ .rst-content .wy-alert-warning.hint, ++ .rst-content .wy-alert-warning.important, ++ .rst-content .wy-alert-warning.tip, ++ .rst-content .warning, ++ .rst-content .wy-alert-warning.seealso, ++ .rst-content .admonition-todo, ++ .rst-content .wy-alert-warning.admonition { ++ background-image: initial; ++ background-color: rgb(82, 53, 0); ++ } ++ ++ .wy-alert.wy-alert-warning .wy-alert-title, ++ .rst-content .wy-alert-warning.note .wy-alert-title, ++ .rst-content .attention .wy-alert-title, ++ .rst-content .caution .wy-alert-title, ++ .rst-content .wy-alert-warning.danger .wy-alert-title, ++ .rst-content .wy-alert-warning.error .wy-alert-title, ++ .rst-content .wy-alert-warning.hint .wy-alert-title, ++ .rst-content .wy-alert-warning.important .wy-alert-title, ++ .rst-content .wy-alert-warning.tip .wy-alert-title, ++ .rst-content .warning .wy-alert-title, ++ .rst-content .wy-alert-warning.seealso .wy-alert-title, ++ .rst-content .admonition-todo .wy-alert-title, ++ .rst-content .wy-alert-warning.admonition .wy-alert-title, ++ .wy-alert.wy-alert-warning .rst-content .admonition-title, ++ .rst-content .wy-alert.wy-alert-warning .admonition-title, ++ .rst-content .wy-alert-warning.note .admonition-title, ++ .rst-content .attention .admonition-title, ++ .rst-content .caution .admonition-title, ++ .rst-content .wy-alert-warning.danger .admonition-title, ++ .rst-content .wy-alert-warning.error .admonition-title, ++ .rst-content .wy-alert-warning.hint .admonition-title, ++ .rst-content .wy-alert-warning.important .admonition-title, ++ .rst-content .wy-alert-warning.tip .admonition-title, ++ .rst-content .warning .admonition-title, ++ .rst-content .wy-alert-warning.seealso .admonition-title, ++ .rst-content .admonition-todo .admonition-title, ++ .rst-content .wy-alert-warning.admonition .admonition-title { ++ background-image: initial; ++ background-color: rgb(123, 65, 14); ++ } ++ ++ .wy-alert.wy-alert-info, ++ .rst-content .note, ++ .rst-content .wy-alert-info.attention, ++ .rst-content .wy-alert-info.caution, ++ .rst-content .wy-alert-info.danger, ++ .rst-content .wy-alert-info.error, ++ .rst-content .wy-alert-info.hint, ++ .rst-content .wy-alert-info.important, ++ .rst-content .wy-alert-info.tip, ++ .rst-content .wy-alert-info.warning, ++ .rst-content .seealso, ++ .rst-content .wy-alert-info.admonition-todo, ++ .rst-content .wy-alert-info.admonition { ++ background-image: initial; ++ background-color: rgb(32, 35, 36); ++ } ++ ++ .wy-alert.wy-alert-info .wy-alert-title, ++ .rst-content .note .wy-alert-title, ++ .rst-content .wy-alert-info.attention .wy-alert-title, ++ .rst-content .wy-alert-info.caution .wy-alert-title, ++ .rst-content .wy-alert-info.danger .wy-alert-title, ++ .rst-content .wy-alert-info.error .wy-alert-title, ++ .rst-content .wy-alert-info.hint .wy-alert-title, ++ .rst-content .wy-alert-info.important .wy-alert-title, ++ .rst-content .wy-alert-info.tip .wy-alert-title, ++ .rst-content .wy-alert-info.warning .wy-alert-title, ++ .rst-content .seealso .wy-alert-title, ++ .rst-content .wy-alert-info.admonition-todo .wy-alert-title, ++ .rst-content .wy-alert-info.admonition .wy-alert-title, ++ .wy-alert.wy-alert-info .rst-content .admonition-title, ++ .rst-content .wy-alert.wy-alert-info .admonition-title, ++ .rst-content .note .admonition-title, ++ .rst-content .wy-alert-info.attention .admonition-title, ++ .rst-content .wy-alert-info.caution .admonition-title, ++ .rst-content .wy-alert-info.danger .admonition-title, ++ .rst-content .wy-alert-info.error .admonition-title, ++ .rst-content .wy-alert-info.hint .admonition-title, ++ .rst-content .wy-alert-info.important .admonition-title, ++ .rst-content .wy-alert-info.tip .admonition-title, ++ .rst-content .wy-alert-info.warning .admonition-title, ++ .rst-content .seealso .admonition-title, ++ .rst-content .wy-alert-info.admonition-todo .admonition-title, ++ .rst-content .wy-alert-info.admonition .admonition-title { ++ background-image: initial; ++ background-color: rgb(29, 91, 131); ++ } ++ ++ .wy-alert.wy-alert-success, ++ .rst-content .wy-alert-success.note, ++ .rst-content .wy-alert-success.attention, ++ .rst-content .wy-alert-success.caution, ++ .rst-content .wy-alert-success.danger, ++ .rst-content .wy-alert-success.error, ++ .rst-content .hint, ++ .rst-content .important, ++ .rst-content .tip, ++ .rst-content .wy-alert-success.warning, ++ .rst-content .wy-alert-success.seealso, ++ .rst-content .wy-alert-success.admonition-todo, ++ .rst-content .wy-alert-success.admonition { ++ background-image: initial; ++ background-color: rgb(9, 66, 58); ++ } ++ ++ .wy-alert.wy-alert-success .wy-alert-title, ++ .rst-content .wy-alert-success.note .wy-alert-title, ++ .rst-content .wy-alert-success.attention .wy-alert-title, ++ .rst-content .wy-alert-success.caution .wy-alert-title, ++ .rst-content .wy-alert-success.danger .wy-alert-title, ++ .rst-content .wy-alert-success.error .wy-alert-title, ++ .rst-content .hint .wy-alert-title, ++ .rst-content .important .wy-alert-title, ++ .rst-content .tip .wy-alert-title, ++ .rst-content .wy-alert-success.warning .wy-alert-title, ++ .rst-content .wy-alert-success.seealso .wy-alert-title, ++ .rst-content .wy-alert-success.admonition-todo .wy-alert-title, ++ .rst-content .wy-alert-success.admonition .wy-alert-title, ++ .wy-alert.wy-alert-success .rst-content .admonition-title, ++ .rst-content .wy-alert.wy-alert-success .admonition-title, ++ .rst-content .wy-alert-success.note .admonition-title, ++ .rst-content .wy-alert-success.attention .admonition-title, ++ .rst-content .wy-alert-success.caution .admonition-title, ++ .rst-content .wy-alert-success.danger .admonition-title, ++ .rst-content .wy-alert-success.error .admonition-title, ++ .rst-content .hint .admonition-title, ++ .rst-content .important .admonition-title, ++ .rst-content .tip .admonition-title, ++ .rst-content .wy-alert-success.warning .admonition-title, ++ .rst-content .wy-alert-success.seealso .admonition-title, ++ .rst-content .wy-alert-success.admonition-todo .admonition-title, ++ .rst-content .wy-alert-success.admonition .admonition-title { ++ background-image: initial; ++ background-color: rgb(21, 150, 125); ++ } ++ ++ .wy-alert.wy-alert-neutral, ++ .rst-content .wy-alert-neutral.note, ++ .rst-content .wy-alert-neutral.attention, ++ .rst-content .wy-alert-neutral.caution, ++ .rst-content .wy-alert-neutral.danger, ++ .rst-content .wy-alert-neutral.error, ++ .rst-content .wy-alert-neutral.hint, ++ .rst-content .wy-alert-neutral.important, ++ .rst-content .wy-alert-neutral.tip, ++ .rst-content .wy-alert-neutral.warning, ++ .rst-content .wy-alert-neutral.seealso, ++ .rst-content .wy-alert-neutral.admonition-todo, ++ .rst-content .wy-alert-neutral.admonition { ++ background-image: initial; ++ background-color: rgb(27, 36, 36); ++ } ++ ++ .wy-alert.wy-alert-neutral .wy-alert-title, ++ .rst-content .wy-alert-neutral.note .wy-alert-title, ++ .rst-content .wy-alert-neutral.attention .wy-alert-title, ++ .rst-content .wy-alert-neutral.caution .wy-alert-title, ++ .rst-content .wy-alert-neutral.danger .wy-alert-title, ++ .rst-content .wy-alert-neutral.error .wy-alert-title, ++ .rst-content .wy-alert-neutral.hint .wy-alert-title, ++ .rst-content .wy-alert-neutral.important .wy-alert-title, ++ .rst-content .wy-alert-neutral.tip .wy-alert-title, ++ .rst-content .wy-alert-neutral.warning .wy-alert-title, ++ .rst-content .wy-alert-neutral.seealso .wy-alert-title, ++ .rst-content .wy-alert-neutral.admonition-todo .wy-alert-title, ++ .rst-content .wy-alert-neutral.admonition .wy-alert-title, ++ .wy-alert.wy-alert-neutral .rst-content .admonition-title, ++ .rst-content .wy-alert.wy-alert-neutral .admonition-title, ++ .rst-content .wy-alert-neutral.note .admonition-title, ++ .rst-content .wy-alert-neutral.attention .admonition-title, ++ .rst-content .wy-alert-neutral.caution .admonition-title, ++ .rst-content .wy-alert-neutral.danger .admonition-title, ++ .rst-content .wy-alert-neutral.error .admonition-title, ++ .rst-content .wy-alert-neutral.hint .admonition-title, ++ .rst-content .wy-alert-neutral.important .admonition-title, ++ .rst-content .wy-alert-neutral.tip .admonition-title, ++ .rst-content .wy-alert-neutral.warning .admonition-title, ++ .rst-content .wy-alert-neutral.seealso .admonition-title, ++ .rst-content .wy-alert-neutral.admonition-todo .admonition-title, ++ .rst-content .wy-alert-neutral.admonition .admonition-title { ++ color: rgb(192, 186, 178); ++ background-image: initial; ++ background-color: rgb(40, 43, 45); ++ } ++ ++ .wy-alert.wy-alert-neutral a, ++ .rst-content .wy-alert-neutral.note a, ++ .rst-content .wy-alert-neutral.attention a, ++ .rst-content .wy-alert-neutral.caution a, ++ .rst-content .wy-alert-neutral.danger a, ++ .rst-content .wy-alert-neutral.error a, ++ .rst-content .wy-alert-neutral.hint a, ++ .rst-content .wy-alert-neutral.important a, ++ .rst-content .wy-alert-neutral.tip a, ++ .rst-content .wy-alert-neutral.warning a, ++ .rst-content .wy-alert-neutral.seealso a, ++ .rst-content .wy-alert-neutral.admonition-todo a, ++ .rst-content .wy-alert-neutral.admonition a { ++ color: rgb(84, 164, 217); ++ } ++ ++ .wy-tray-container li { ++ background-image: initial; ++ background-color: transparent; ++ color: rgb(232, 230, 227); ++ box-shadow: rgba(0, 0, 0, 0.1) 0px 5px 5px 0px; ++ } ++ ++ .wy-tray-container li.wy-tray-item-success { ++ background-image: initial; ++ background-color: rgb(31, 139, 77); ++ } ++ ++ .wy-tray-container li.wy-tray-item-info { ++ background-image: initial; ++ background-color: rgb(33, 102, 148); ++ } ++ ++ .wy-tray-container li.wy-tray-item-warning { ++ background-image: initial; ++ background-color: rgb(178, 94, 20); ++ } ++ ++ .wy-tray-container li.wy-tray-item-danger { ++ background-image: initial; ++ background-color: rgb(162, 33, 20); ++ } ++ ++ .btn { ++ color: rgb(232, 230, 227); ++ border-color: rgba(140, 130, 115, 0.1); ++ background-color: rgb(31, 139, 77); ++ text-decoration-color: initial; ++ box-shadow: rgba(24, 26, 27, 0.5) 0px 1px 2px -1px inset, ++ rgba(0, 0, 0, 0.1) 0px -2px 0px 0px inset; ++ } ++ ++ .btn-hover { ++ background-image: initial; ++ background-color: rgb(37, 114, 165); ++ color: rgb(232, 230, 227); ++ } ++ ++ .btn:hover { ++ background-image: initial; ++ background-color: rgb(35, 156, 86); ++ color: rgb(232, 230, 227); ++ } ++ ++ .btn:focus { ++ background-image: initial; ++ background-color: rgb(35, 156, 86); ++ outline-color: initial; ++ } ++ ++ .btn:active { ++ box-shadow: rgba(0, 0, 0, 0.05) 0px -1px 0px 0px inset, ++ rgba(0, 0, 0, 0.1) 0px 2px 0px 0px inset; ++ } ++ ++ .btn:visited { ++ color: rgb(232, 230, 227); ++ } ++ ++ .btn:disabled { ++ background-image: none; ++ box-shadow: none; ++ } ++ ++ .btn-disabled { ++ background-image: none; ++ box-shadow: none; ++ } ++ ++ .btn-disabled:hover, ++ .btn-disabled:focus, ++ .btn-disabled:active { ++ background-image: none; ++ box-shadow: none; ++ } ++ ++ .btn-info { ++ background-color: rgb(33, 102, 148) !important; ++ } ++ ++ .btn-info:hover { ++ background-color: rgb(37, 114, 165) !important; ++ } ++ ++ .btn-neutral { ++ background-color: rgb(27, 36, 36) !important; ++ color: rgb(192, 186, 178) !important; ++ } ++ ++ .btn-neutral:hover { ++ color: rgb(192, 186, 178); ++ background-color: rgb(34, 44, 44) !important; ++ } ++ ++ .btn-neutral:visited { ++ color: rgb(192, 186, 178) !important; ++ } ++ ++ .btn-success { ++ background-color: rgb(31, 139, 77) !important; ++ } ++ ++ .btn-success:hover { ++ background-color: rgb(27, 122, 68) !important; ++ } ++ ++ .btn-danger { ++ background-color: rgb(162, 33, 20) !important; ++ } ++ ++ .btn-danger:hover { ++ background-color: rgb(149, 30, 18) !important; ++ } ++ ++ .btn-warning { ++ background-color: rgb(178, 94, 20) !important; ++ } ++ ++ .btn-warning:hover { ++ background-color: rgb(165, 87, 18) !important; ++ } ++ ++ .btn-invert { ++ background-color: rgb(26, 28, 29); ++ } ++ ++ .btn-invert:hover { ++ background-color: rgb(35, 38, 40) !important; ++ } ++ ++ .btn-link { ++ color: rgb(84, 164, 217); ++ box-shadow: none; ++ background-color: transparent !important; ++ border-color: transparent !important; ++ } ++ ++ .btn-link:hover { ++ box-shadow: none; ++ background-color: transparent !important; ++ color: rgb(79, 162, 216) !important; ++ } ++ ++ .btn-link:active { ++ box-shadow: none; ++ background-color: transparent !important; ++ color: rgb(79, 162, 216) !important; ++ } ++ ++ .btn-link:visited { ++ color: rgb(164, 103, 188); ++ } ++ ++ .wy-dropdown-menu { ++ background-image: initial; ++ background-color: rgb(26, 28, 29); ++ border-color: rgb(60, 65, 67); ++ box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 2px 0px; ++ } ++ ++ .wy-dropdown-menu > dd > a { ++ color: rgb(192, 186, 178); ++ } ++ ++ .wy-dropdown-menu > dd > a:hover { ++ background-image: initial; ++ background-color: rgb(33, 102, 148); ++ color: rgb(232, 230, 227); ++ } ++ ++ .wy-dropdown-menu > dd.divider { ++ border-top-color: rgb(60, 65, 67); ++ } ++ ++ .wy-dropdown-menu > dd.call-to-action { ++ background-image: initial; ++ background-color: rgb(40, 43, 45); ++ } ++ ++ .wy-dropdown-menu > dd.call-to-action:hover { ++ background-image: initial; ++ background-color: rgb(40, 43, 45); ++ } ++ ++ .wy-dropdown-menu > dd.call-to-action .btn { ++ color: rgb(232, 230, 227); ++ } ++ ++ .wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu { ++ background-image: initial; ++ background-color: rgb(26, 28, 29); ++ } ++ ++ .wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover { ++ background-image: initial; ++ background-color: rgb(33, 102, 148); ++ color: rgb(232, 230, 227); ++ } ++ ++ .wy-dropdown-arrow::before { ++ border-bottom-color: rgb(51, 55, 57); ++ border-left-color: transparent; ++ border-right-color: transparent; ++ } ++ ++ fieldset { ++ border-color: initial; ++ } ++ ++ legend { ++ border-color: initial; ++ } ++ ++ label { ++ color: rgb(200, 195, 188); ++ } ++ ++ .wy-control-group.wy-control-group-required > label::after { ++ color: rgb(233, 88, 73); ++ } ++ ++ .wy-form-message-inline { ++ color: rgb(168, 160, 149); ++ } ++ ++ .wy-form-message { ++ color: rgb(168, 160, 149); ++ } ++ ++ input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="date"], input[type="month"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="week"], input[type="number"], input[type="search"], input[type="tel"], input[type="color"] { ++ border-color: rgb(62, 68, 70); ++ box-shadow: rgb(43, 47, 49) 0px 1px 3px inset; ++ } ++ ++ input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="week"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="color"]:focus { ++ outline-color: initial; ++ border-color: rgb(123, 114, 101); ++ } ++ ++ input.no-focus:focus { ++ border-color: rgb(62, 68, 70) !important; ++ } ++ ++ input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { ++ outline-color: rgb(13, 113, 167); ++ } ++ ++ input[type="text"][disabled], input[type="password"][disabled], input[type="email"][disabled], input[type="url"][disabled], input[type="date"][disabled], input[type="month"][disabled], input[type="time"][disabled], input[type="datetime"][disabled], input[type="datetime-local"][disabled], input[type="week"][disabled], input[type="number"][disabled], input[type="search"][disabled], input[type="tel"][disabled], input[type="color"][disabled] { ++ background-color: rgb(27, 29, 30); ++ } ++ ++ input:focus:invalid, ++ textarea:focus:invalid, ++ select:focus:invalid { ++ color: rgb(233, 88, 73); ++ border-color: rgb(149, 31, 18); ++ } ++ ++ input:focus:invalid:focus, ++ textarea:focus:invalid:focus, ++ select:focus:invalid:focus { ++ border-color: rgb(149, 31, 18); ++ } ++ ++ input[type="file"]:focus:invalid:focus, input[type="radio"]:focus:invalid:focus, input[type="checkbox"]:focus:invalid:focus { ++ outline-color: rgb(149, 31, 18); ++ } ++ ++ select, ++ textarea { ++ border-color: rgb(62, 68, 70); ++ box-shadow: rgb(43, 47, 49) 0px 1px 3px inset; ++ } ++ ++ select { ++ border-color: rgb(62, 68, 70); ++ background-color: rgb(24, 26, 27); ++ } ++ ++ select:focus, ++ textarea:focus { ++ outline-color: initial; ++ } ++ ++ select[disabled], ++ textarea[disabled], ++ input[readonly], ++ select[readonly], ++ textarea[readonly] { ++ background-color: rgb(27, 29, 30); ++ } ++ ++ .wy-checkbox, ++ .wy-radio { ++ color: rgb(192, 186, 178); ++ } ++ ++ .wy-input-prefix .wy-input-context, ++ .wy-input-suffix .wy-input-context { ++ background-color: rgb(27, 36, 36); ++ border-color: rgb(62, 68, 70); ++ color: rgb(168, 160, 149); ++ } ++ ++ .wy-input-suffix .wy-input-context { ++ border-left-color: initial; ++ } ++ ++ .wy-input-prefix .wy-input-context { ++ border-right-color: initial; ++ } ++ ++ .wy-switch::before { ++ background-image: initial; ++ background-color: rgb(53, 57, 59); ++ } ++ ++ .wy-switch::after { ++ background-image: initial; ++ background-color: rgb(82, 88, 92); ++ } ++ ++ .wy-switch span { ++ color: rgb(200, 195, 188); ++ } ++ ++ .wy-switch.active::before { ++ background-image: initial; ++ background-color: rgb(24, 106, 58); ++ } ++ ++ .wy-switch.active::after { ++ background-image: initial; ++ background-color: rgb(31, 139, 77); ++ } ++ ++ .wy-control-group.wy-control-group-error .wy-form-message, ++ .wy-control-group.wy-control-group-error > label { ++ color: rgb(233, 88, 73); ++ } ++ ++ .wy-control-group.wy-control-group-error input[type="text"], .wy-control-group.wy-control-group-error input[type="password"], .wy-control-group.wy-control-group-error input[type="email"], .wy-control-group.wy-control-group-error input[type="url"], .wy-control-group.wy-control-group-error input[type="date"], .wy-control-group.wy-control-group-error input[type="month"], .wy-control-group.wy-control-group-error input[type="time"], .wy-control-group.wy-control-group-error input[type="datetime"], .wy-control-group.wy-control-group-error input[type="datetime-local"], .wy-control-group.wy-control-group-error input[type="week"], .wy-control-group.wy-control-group-error input[type="number"], .wy-control-group.wy-control-group-error input[type="search"], .wy-control-group.wy-control-group-error input[type="tel"], .wy-control-group.wy-control-group-error input[type="color"] { ++ border-color: rgb(149, 31, 18); ++ } ++ ++ .wy-control-group.wy-control-group-error textarea { ++ border-color: rgb(149, 31, 18); ++ } ++ ++ .wy-inline-validate.wy-inline-validate-success .wy-input-context { ++ color: rgb(92, 218, 145); ++ } ++ ++ .wy-inline-validate.wy-inline-validate-danger .wy-input-context { ++ color: rgb(233, 88, 73); ++ } ++ ++ .wy-inline-validate.wy-inline-validate-warning .wy-input-context { ++ color: rgb(232, 138, 54); ++ } ++ ++ .wy-inline-validate.wy-inline-validate-info .wy-input-context { ++ color: rgb(84, 164, 217); ++ } ++ ++ .wy-table caption, ++ .rst-content table.docutils caption, ++ .rst-content table.field-list caption { ++ color: rgb(232, 230, 227); ++ } ++ ++ .wy-table thead, ++ .rst-content table.docutils thead, ++ .rst-content table.field-list thead { ++ color: rgb(232, 230, 227); ++ } ++ ++ .wy-table thead th, ++ .rst-content table.docutils thead th, ++ .rst-content table.field-list thead th { ++ border-bottom-color: rgb(56, 61, 63); ++ } ++ ++ .wy-table td, ++ .rst-content table.docutils td, ++ .rst-content table.field-list td { ++ background-color: transparent; ++ } ++ ++ .wy-table-secondary { ++ color: rgb(152, 143, 129); ++ } ++ ++ .wy-table-tertiary { ++ color: rgb(152, 143, 129); ++ } ++ ++ .wy-table-odd td, ++ .wy-table-striped tr:nth-child(2n-1) td, ++ .rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td { ++ background-color: rgb(27, 36, 36); ++ } ++ ++ .wy-table-backed { ++ background-color: rgb(27, 36, 36); ++ } ++ ++ .wy-table-bordered-all, ++ .rst-content table.docutils { ++ border-color: rgb(56, 61, 63); ++ } ++ ++ .wy-table-bordered-all td, ++ .rst-content table.docutils td { ++ border-bottom-color: rgb(56, 61, 63); ++ border-left-color: rgb(56, 61, 63); ++ } ++ ++ .wy-table-bordered { ++ border-color: rgb(56, 61, 63); ++ } ++ ++ .wy-table-bordered-rows td { ++ border-bottom-color: rgb(56, 61, 63); ++ } ++ ++ .wy-table-horizontal td, ++ .wy-table-horizontal th { ++ border-bottom-color: rgb(56, 61, 63); ++ } ++ ++ a { ++ color: rgb(84, 164, 217); ++ text-decoration-color: initial; ++ } ++ ++ a:hover { ++ color: rgb(68, 156, 214); ++ } ++ ++ a:visited { ++ color: rgb(164, 103, 188); ++ } ++ ++ body { ++ color: rgb(192, 186, 178); ++ background-image: initial; ++ background-color: rgb(33, 35, 37); ++ } ++ ++ .wy-text-strike { ++ text-decoration-color: initial; ++ } ++ ++ .wy-text-warning { ++ color: rgb(232, 138, 54) !important; ++ } ++ ++ a.wy-text-warning:hover { ++ color: rgb(236, 157, 87) !important; ++ } ++ ++ .wy-text-info { ++ color: rgb(84, 164, 217) !important; ++ } ++ ++ a.wy-text-info:hover { ++ color: rgb(79, 162, 216) !important; ++ } ++ ++ .wy-text-success { ++ color: rgb(92, 218, 145) !important; ++ } ++ ++ a.wy-text-success:hover { ++ color: rgb(73, 214, 133) !important; ++ } ++ ++ .wy-text-danger { ++ color: rgb(233, 88, 73) !important; ++ } ++ ++ a.wy-text-danger:hover { ++ color: rgb(237, 118, 104) !important; ++ } ++ ++ .wy-text-neutral { ++ color: rgb(192, 186, 178) !important; ++ } ++ ++ a.wy-text-neutral:hover { ++ color: rgb(176, 169, 159) !important; ++ } ++ ++ hr { ++ border-right-color: initial; ++ border-bottom-color: initial; ++ border-left-color: initial; ++ border-top-color: rgb(56, 61, 63); ++ } ++ ++ code, ++ .rst-content tt, ++ .rst-content code { ++ background-image: initial; ++ background-color: rgb(24, 26, 27); ++ border-color: rgb(56, 61, 63); ++ color: rgb(233, 88, 73); ++ } ++ ++ .wy-plain-list-disc, ++ .rst-content .section ul, ++ .rst-content .toctree-wrapper ul, ++ article ul { ++ list-style-image: initial; ++ } ++ ++ .wy-plain-list-disc li, ++ .rst-content .section ul li, ++ .rst-content .toctree-wrapper ul li, ++ article ul li { ++ list-style-image: initial; ++ } ++ ++ .wy-plain-list-disc li li, ++ .rst-content .section ul li li, ++ .rst-content .toctree-wrapper ul li li, ++ article ul li li { ++ list-style-image: initial; ++ } ++ ++ .wy-plain-list-disc li li li, ++ .rst-content .section ul li li li, ++ .rst-content .toctree-wrapper ul li li li, ++ article ul li li li { ++ list-style-image: initial; ++ } ++ ++ .wy-plain-list-disc li ol li, ++ .rst-content .section ul li ol li, ++ .rst-content .toctree-wrapper ul li ol li, ++ article ul li ol li { ++ list-style-image: initial; ++ } ++ ++ .wy-plain-list-decimal, ++ .rst-content .section ol, ++ .rst-content ol.arabic, ++ article ol { ++ list-style-image: initial; ++ } ++ ++ .wy-plain-list-decimal li, ++ .rst-content .section ol li, ++ .rst-content ol.arabic li, ++ article ol li { ++ list-style-image: initial; ++ } ++ ++ .wy-plain-list-decimal li ul li, ++ .rst-content .section ol li ul li, ++ .rst-content ol.arabic li ul li, ++ article ol li ul li { ++ list-style-image: initial; ++ } ++ ++ .wy-breadcrumbs li code, ++ .wy-breadcrumbs li .rst-content tt, ++ .rst-content .wy-breadcrumbs li tt { ++ border-color: initial; ++ background-image: none; ++ background-color: initial; ++ } ++ ++ .wy-breadcrumbs li code.literal, ++ .wy-breadcrumbs li .rst-content tt.literal, ++ .rst-content .wy-breadcrumbs li tt.literal { ++ color: rgb(192, 186, 178); ++ } ++ ++ .wy-breadcrumbs-extra { ++ color: rgb(184, 178, 169); ++ } ++ ++ .wy-menu a:hover { ++ text-decoration-color: initial; ++ } ++ ++ .wy-menu-horiz li:hover { ++ background-image: initial; ++ background-color: rgba(24, 26, 27, 0.1); ++ } ++ ++ .wy-menu-horiz li.divide-left { ++ border-left-color: rgb(119, 110, 98); ++ } ++ ++ .wy-menu-horiz li.divide-right { ++ border-right-color: rgb(119, 110, 98); ++ } ++ ++ .wy-menu-vertical header, ++ .wy-menu-vertical p.caption { ++ color: rgb(99, 161, 201); ++ } ++ ++ .wy-menu-vertical li.divide-top { ++ border-top-color: rgb(119, 110, 98); ++ } ++ ++ .wy-menu-vertical li.divide-bottom { ++ border-bottom-color: rgb(119, 110, 98); ++ } ++ ++ .wy-menu-vertical li.current { ++ background-image: initial; ++ background-color: rgb(40, 43, 45); ++ } ++ ++ .wy-menu-vertical li.current a { ++ color: rgb(152, 143, 129); ++ border-right-color: rgb(63, 69, 71); ++ } ++ ++ .wy-menu-vertical li.current a:hover { ++ background-image: initial; ++ background-color: rgb(47, 51, 53); ++ } ++ ++ .wy-menu-vertical li code, ++ .wy-menu-vertical li .rst-content tt, ++ .rst-content .wy-menu-vertical li tt { ++ border-color: initial; ++ background-image: inherit; ++ background-color: inherit; ++ color: inherit; ++ } ++ ++ .wy-menu-vertical li span.toctree-expand { ++ color: rgb(183, 177, 168); ++ } ++ ++ .wy-menu-vertical li.on a, ++ .wy-menu-vertical li.current > a { ++ color: rgb(192, 186, 178); ++ background-image: initial; ++ background-color: rgb(26, 28, 29); ++ border-color: initial; ++ } ++ ++ .wy-menu-vertical li.on a:hover, ++ .wy-menu-vertical li.current > a:hover { ++ background-image: initial; ++ background-color: rgb(26, 28, 29); ++ } ++ ++ .wy-menu-vertical li.on a:hover span.toctree-expand, ++ .wy-menu-vertical li.current > a:hover span.toctree-expand { ++ color: rgb(152, 143, 129); ++ } ++ ++ .wy-menu-vertical li.on a span.toctree-expand, ++ .wy-menu-vertical li.current > a span.toctree-expand { ++ color: rgb(200, 195, 188); ++ } ++ ++ .wy-menu-vertical li.toctree-l1.current > a { ++ border-bottom-color: rgb(63, 69, 71); ++ border-top-color: rgb(63, 69, 71); ++ } ++ ++ .wy-menu-vertical li.toctree-l2 a, ++ .wy-menu-vertical li.toctree-l3 a, ++ .wy-menu-vertical li.toctree-l4 a { ++ color: rgb(192, 186, 178); ++ } ++ ++ .wy-menu-vertical li.toctree-l2.current > a { ++ background-image: initial; ++ background-color: rgb(54, 59, 61); ++ } ++ ++ .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a { ++ background-image: initial; ++ background-color: rgb(54, 59, 61); ++ } ++ ++ .wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand { ++ color: rgb(152, 143, 129); ++ } ++ ++ .wy-menu-vertical li.toctree-l2 span.toctree-expand { ++ color: rgb(174, 167, 156); ++ } ++ ++ .wy-menu-vertical li.toctree-l3.current > a { ++ background-image: initial; ++ background-color: rgb(61, 66, 69); ++ } ++ ++ .wy-menu-vertical li.toctree-l3.current li.toctree-l4 > a { ++ background-image: initial; ++ background-color: rgb(61, 66, 69); ++ } ++ ++ .wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand { ++ color: rgb(152, 143, 129); ++ } ++ ++ .wy-menu-vertical li.toctree-l3 span.toctree-expand { ++ color: rgb(166, 158, 146); ++ } ++ ++ .wy-menu-vertical li.toctree-l2.current a, ++ .wy-menu-vertical li.toctree-l3.current a { ++ background-color: #363636; ++ } ++ ++ .wy-menu-vertical li ul li a { ++ color: rgb(208, 204, 198); ++ } ++ ++ .wy-menu-vertical a { ++ color: rgb(208, 204, 198); ++ } ++ ++ .wy-menu-vertical a:hover { ++ background-color: rgb(57, 62, 64); ++ } ++ ++ .wy-menu-vertical a:hover span.toctree-expand { ++ color: rgb(208, 204, 198); ++ } ++ ++ .wy-menu-vertical a:active { ++ background-color: rgb(33, 102, 148); ++ color: rgb(232, 230, 227); ++ } ++ ++ .wy-menu-vertical a:active span.toctree-expand { ++ color: rgb(232, 230, 227); ++ } ++ ++ .wy-side-nav-search { ++ background-color: rgb(33, 102, 148); ++ color: rgb(230, 228, 225); ++ } ++ ++ .wy-side-nav-search input[type="text"] { ++ border-color: rgb(35, 111, 160); ++ } ++ ++ .wy-side-nav-search img { ++ background-color: rgb(33, 102, 148); ++ } ++ ++ .wy-side-nav-search > a, ++ .wy-side-nav-search .wy-dropdown > a { ++ color: rgb(230, 228, 225); ++ } ++ ++ .wy-side-nav-search > a:hover, ++ .wy-side-nav-search .wy-dropdown > a:hover { ++ background-image: initial; ++ background-color: rgba(24, 26, 27, 0.1); ++ } ++ ++ .wy-side-nav-search > a img.logo, ++ .wy-side-nav-search .wy-dropdown > a img.logo { ++ background-image: initial; ++ background-color: transparent; ++ } ++ ++ .wy-side-nav-search > div.version { ++ color: rgba(232, 230, 227, 0.3); ++ } ++ ++ .wy-nav .wy-menu-vertical header { ++ color: rgb(84, 164, 217); ++ } ++ ++ .wy-nav .wy-menu-vertical a { ++ color: rgb(184, 178, 169); ++ } ++ ++ .wy-nav .wy-menu-vertical a:hover { ++ background-color: rgb(33, 102, 148); ++ color: rgb(232, 230, 227); ++ } ++ ++ .wy-body-for-nav { ++ background-image: initial; ++ background-color: rgb(24, 26, 27); ++ } ++ ++ .wy-nav-side { ++ color: rgb(169, 161, 150); ++ background-image: initial; ++ background-color: rgb(38, 41, 43); ++ } ++ ++ .wy-nav-top { ++ background-image: initial; ++ background-color: rgb(33, 102, 148); ++ color: rgb(232, 230, 227); ++ } ++ ++ .wy-nav-top a { ++ color: rgb(232, 230, 227); ++ } ++ ++ .wy-nav-top img { ++ background-color: rgb(33, 102, 148); ++ } ++ ++ .wy-nav-content-wrap { ++ background-image: initial; ++ background-color: rgb(26, 28, 29); ++ } ++ ++ .wy-body-mask { ++ background-image: initial; ++ background-color: rgba(0, 0, 0, 0.2); ++ } ++ ++ footer { ++ color: rgb(152, 143, 129); ++ } ++ ++ footer span.commit code, ++ footer span.commit .rst-content tt, ++ .rst-content footer span.commit tt { ++ background-image: none; ++ background-color: initial; ++ border-color: initial; ++ color: rgb(152, 143, 129); ++ } ++ ++ #search-results .search li { ++ border-bottom-color: rgb(56, 61, 63); ++ } ++ ++ #search-results .search li:first-child { ++ border-top-color: rgb(56, 61, 63); ++ } ++ ++ #search-results .context { ++ color: rgb(152, 143, 129); ++ } ++ ++ @media screen and (min-width: 1100px) { ++ .wy-nav-content-wrap { ++ background-image: initial; ++ background-color: rgba(0, 0, 0, 0.05); ++ } ++ ++ .wy-nav-content { ++ background-image: initial; ++ background-color: rgb(26, 28, 29); ++ } ++ } ++ .rst-versions { ++ color: rgb(230, 228, 225); ++ background-image: initial; ++ background-color: rgb(23, 24, 25); ++ } ++ ++ .rst-versions a { ++ color: rgb(84, 164, 217); ++ text-decoration-color: initial; ++ } ++ ++ .rst-versions .rst-current-version { ++ background-color: rgb(29, 31, 32); ++ color: rgb(92, 218, 145); ++ } ++ ++ .rst-versions .rst-current-version .fa, ++ .rst-versions .rst-current-version .wy-menu-vertical li span.toctree-expand, ++ .wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand, ++ .rst-versions .rst-current-version .rst-content .admonition-title, ++ .rst-content .rst-versions .rst-current-version .admonition-title, ++ .rst-versions .rst-current-version .rst-content h1 .headerlink, ++ .rst-content h1 .rst-versions .rst-current-version .headerlink, ++ .rst-versions .rst-current-version .rst-content h2 .headerlink, ++ .rst-content h2 .rst-versions .rst-current-version .headerlink, ++ .rst-versions .rst-current-version .rst-content h3 .headerlink, ++ .rst-content h3 .rst-versions .rst-current-version .headerlink, ++ .rst-versions .rst-current-version .rst-content h4 .headerlink, ++ .rst-content h4 .rst-versions .rst-current-version .headerlink, ++ .rst-versions .rst-current-version .rst-content h5 .headerlink, ++ .rst-content h5 .rst-versions .rst-current-version .headerlink, ++ .rst-versions .rst-current-version .rst-content h6 .headerlink, ++ .rst-content h6 .rst-versions .rst-current-version .headerlink, ++ .rst-versions .rst-current-version .rst-content dl dt .headerlink, ++ .rst-content dl dt .rst-versions .rst-current-version .headerlink, ++ .rst-versions .rst-current-version .rst-content p.caption .headerlink, ++ .rst-content p.caption .rst-versions .rst-current-version .headerlink, ++ .rst-versions .rst-current-version .rst-content table > caption .headerlink, ++ .rst-content table > caption .rst-versions .rst-current-version .headerlink, ++ .rst-versions .rst-current-version .rst-content .code-block-caption .headerlink, ++ .rst-content .code-block-caption .rst-versions .rst-current-version .headerlink, ++ .rst-versions .rst-current-version .rst-content tt.download span:first-child, ++ .rst-content tt.download .rst-versions .rst-current-version span:first-child, ++ .rst-versions .rst-current-version .rst-content code.download span:first-child, ++ .rst-content code.download .rst-versions .rst-current-version span:first-child, ++ .rst-versions .rst-current-version .icon { ++ color: rgb(230, 228, 225); ++ } ++ ++ .rst-versions .rst-current-version.rst-out-of-date { ++ background-color: rgb(162, 33, 20); ++ color: rgb(232, 230, 227); ++ } ++ ++ .rst-versions .rst-current-version.rst-active-old-version { ++ background-color: rgb(192, 156, 11); ++ color: rgb(232, 230, 227); ++ } ++ ++ .rst-versions .rst-other-versions { ++ color: rgb(152, 143, 129); ++ } ++ ++ .rst-versions .rst-other-versions hr { ++ border-right-color: initial; ++ border-bottom-color: initial; ++ border-left-color: initial; ++ border-top-color: rgb(119, 111, 98); ++ } ++ ++ .rst-versions .rst-other-versions dd a { ++ color: rgb(230, 228, 225); ++ } ++ ++ .rst-versions.rst-badge { ++ border-color: initial; ++ } ++ ++ .rst-content abbr[title] { ++ text-decoration-color: initial; ++ } ++ ++ .rst-content.style-external-links a.reference.external::after { ++ color: rgb(184, 178, 169); ++ } ++ ++ .rst-content pre.literal-block, .rst-content div[class^="highlight"] { ++ border-color: rgb(56, 61, 63); ++ } ++ ++ .rst-content pre.literal-block div[class^="highlight"], .rst-content div[class^="highlight"] div[class^="highlight"] { ++ border-color: initial; ++ } ++ ++ .rst-content .linenodiv pre { ++ border-right-color: rgb(54, 59, 61); ++ } ++ ++ .rst-content .admonition table { ++ border-color: rgba(140, 130, 115, 0.1); ++ } ++ ++ .rst-content .admonition table td, ++ .rst-content .admonition table th { ++ background-image: initial !important; ++ background-color: transparent !important; ++ border-color: rgba(140, 130, 115, 0.1) !important; ++ } ++ ++ .rst-content .section ol.loweralpha, ++ .rst-content .section ol.loweralpha li { ++ list-style-image: initial; ++ } ++ ++ .rst-content .section ol.upperalpha, ++ .rst-content .section ol.upperalpha li { ++ list-style-image: initial; ++ } ++ ++ .rst-content .toc-backref { ++ color: rgb(192, 186, 178); ++ } ++ ++ .rst-content .sidebar { ++ background-image: initial; ++ background-color: rgb(27, 36, 36); ++ border-color: rgb(56, 61, 63); ++ } ++ ++ .rst-content .sidebar .sidebar-title { ++ background-image: initial; ++ background-color: rgb(40, 43, 45); ++ } ++ ++ .rst-content .highlighted { ++ background-image: initial; ++ background-color: rgb(192, 156, 11); ++ } ++ ++ .rst-content table.docutils.citation, ++ .rst-content table.docutils.footnote { ++ background-image: none; ++ background-color: initial; ++ border-color: initial; ++ color: rgb(152, 143, 129); ++ } ++ ++ .rst-content table.docutils.citation td, ++ .rst-content table.docutils.citation tr, ++ .rst-content table.docutils.footnote td, ++ .rst-content table.docutils.footnote tr { ++ border-color: initial; ++ background-color: transparent !important; ++ } ++ ++ .rst-content table.docutils.citation tt, ++ .rst-content table.docutils.citation code, ++ .rst-content table.docutils.footnote tt, ++ .rst-content table.docutils.footnote code { ++ color: rgb(178, 172, 162); ++ } ++ ++ .rst-content table.docutils th { ++ border-color: rgb(56, 61, 63); ++ } ++ ++ .rst-content table.field-list { ++ border-color: initial; ++ } ++ ++ .rst-content table.field-list td { ++ border-color: initial; ++ } ++ ++ .rst-content tt, ++ .rst-content tt, ++ .rst-content code { ++ color: rgb(232, 230, 227); ++ } ++ ++ .rst-content tt.literal, ++ .rst-content tt.literal, ++ .rst-content code.literal { ++ color: rgb(233, 88, 73); ++ } ++ ++ .rst-content tt.xref, ++ a .rst-content tt, ++ .rst-content tt.xref, ++ .rst-content code.xref, ++ a .rst-content tt, ++ a .rst-content code { ++ color: rgb(192, 186, 178); ++ } ++ ++ .rst-content a tt, ++ .rst-content a tt, ++ .rst-content a code { ++ color: rgb(84, 164, 217); ++ } ++ ++ .rst-content dl:not(.docutils) dt { ++ background-image: initial; ++ background-color: rgb(32, 35, 36); ++ color: rgb(84, 164, 217); ++ border-top-color: rgb(28, 89, 128); ++ } ++ ++ .rst-content dl:not(.docutils) dt::before { ++ color: rgb(109, 178, 223); ++ } ++ ++ .rst-content dl:not(.docutils) dt .headerlink { ++ color: rgb(192, 186, 178); ++ } ++ ++ .rst-content dl:not(.docutils) dl dt { ++ border-top-color: initial; ++ border-right-color: initial; ++ border-bottom-color: initial; ++ border-left-color: rgb(62, 68, 70); ++ background-image: initial; ++ background-color: rgb(32, 35, 37); ++ color: rgb(178, 172, 162); ++ } ++ ++ .rst-content dl:not(.docutils) dl dt .headerlink { ++ color: rgb(192, 186, 178); ++ } ++ ++ .rst-content dl:not(.docutils) tt.descname, ++ .rst-content dl:not(.docutils) tt.descclassname, ++ .rst-content dl:not(.docutils) tt.descname, ++ .rst-content dl:not(.docutils) code.descname, ++ .rst-content dl:not(.docutils) tt.descclassname, ++ .rst-content dl:not(.docutils) code.descclassname { ++ background-color: transparent; ++ border-color: initial; ++ } ++ ++ .rst-content dl:not(.docutils) .optional { ++ color: rgb(232, 230, 227); ++ } ++ ++ .rst-content .viewcode-link, ++ .rst-content .viewcode-back { ++ color: rgb(92, 218, 145); ++ } ++ ++ .rst-content tt.download, ++ .rst-content code.download { ++ background-image: inherit; ++ background-color: inherit; ++ color: inherit; ++ border-color: inherit; ++ } ++ ++ .rst-content .guilabel { ++ border-color: rgb(27, 84, 122); ++ background-image: initial; ++ background-color: rgb(32, 35, 36); ++ } ++ ++ span[id*="MathJax-Span"] { ++ color: rgb(192, 186, 178); ++ } ++ ++ .highlight .hll { ++ background-color: rgb(82, 82, 0); ++ } ++ ++ .highlight { ++ background-image: initial; ++ background-color: rgb(61, 82, 0); ++ } ++ ++ .highlight .c { ++ color: rgb(119, 179, 195); ++ } ++ ++ .highlight .err { ++ border-color: rgb(179, 0, 0); ++ } ++ ++ .highlight .k { ++ color: rgb(126, 255, 163); ++ } ++ ++ .highlight .o { ++ color: rgb(168, 160, 149); ++ } ++ ++ .highlight .ch { ++ color: rgb(119, 179, 195); ++ } ++ ++ .highlight .cm { ++ color: rgb(119, 179, 195); ++ } ++ ++ .highlight .cp { ++ color: rgb(126, 255, 163); ++ } ++ ++ .highlight .cpf { ++ color: rgb(119, 179, 195); ++ } ++ ++ .highlight .c1 { ++ color: rgb(119, 179, 195); ++ } ++ ++ .highlight .cs { ++ color: rgb(119, 179, 195); ++ background-color: rgb(60, 0, 0); ++ } ++ ++ .highlight .gd { ++ color: rgb(255, 92, 92); ++ } ++ ++ .highlight .gr { ++ color: rgb(255, 26, 26); ++ } ++ ++ .highlight .gh { ++ color: rgb(127, 174, 255); ++ } ++ ++ .highlight .gi { ++ color: rgb(92, 255, 92); ++ } ++ ++ .highlight .go { ++ color: rgb(200, 195, 188); ++ } ++ ++ .highlight .gp { ++ color: rgb(246, 147, 68); ++ } ++ ++ .highlight .gu { ++ color: rgb(255, 114, 255); ++ } ++ ++ .highlight .gt { ++ color: rgb(71, 160, 255); ++ } ++ ++ .highlight .kc { ++ color: rgb(126, 255, 163); ++ } ++ ++ .highlight .kd { ++ color: rgb(126, 255, 163); ++ } ++ ++ .highlight .kn { ++ color: rgb(126, 255, 163); ++ } ++ ++ .highlight .kp { ++ color: rgb(126, 255, 163); ++ } ++ ++ .highlight .kr { ++ color: rgb(126, 255, 163); ++ } ++ ++ .highlight .kt { ++ color: rgb(255, 137, 103); ++ } ++ ++ .highlight .m { ++ color: rgb(125, 222, 174); ++ } ++ ++ .highlight .s { ++ color: rgb(123, 166, 202); ++ } ++ ++ .highlight .na { ++ color: rgb(123, 166, 202); ++ } ++ ++ .highlight .nb { ++ color: rgb(126, 255, 163); ++ } ++ ++ .highlight .nc { ++ color: rgb(81, 194, 242); ++ } ++ ++ .highlight .no { ++ color: rgb(103, 177, 215); ++ } ++ ++ .highlight .nd { ++ color: rgb(178, 172, 162); ++ } ++ ++ .highlight .ni { ++ color: rgb(217, 100, 73); ++ } ++ ++ .highlight .ne { ++ color: rgb(126, 255, 163); ++ } ++ ++ .highlight .nf { ++ color: rgb(131, 186, 249); ++ } ++ ++ .highlight .nl { ++ color: rgb(137, 193, 255); ++ } ++ ++ .highlight .nn { ++ color: rgb(81, 194, 242); ++ } ++ ++ .highlight .nt { ++ color: rgb(138, 191, 249); ++ } ++ ++ .highlight .nv { ++ color: rgb(190, 103, 215); ++ } ++ ++ .highlight .ow { ++ color: rgb(126, 255, 163); ++ } ++ ++ .highlight .w { ++ color: rgb(189, 183, 175); ++ } ++ ++ .highlight .mb { ++ color: rgb(125, 222, 174); ++ } ++ ++ .highlight .mf { ++ color: rgb(125, 222, 174); ++ } ++ ++ .highlight .mh { ++ color: rgb(125, 222, 174); ++ } ++ ++ .highlight .mi { ++ color: rgb(125, 222, 174); ++ } ++ ++ .highlight .mo { ++ color: rgb(125, 222, 174); ++ } ++ ++ .highlight .sa { ++ color: rgb(123, 166, 202); ++ } ++ ++ .highlight .sb { ++ color: rgb(123, 166, 202); ++ } ++ ++ .highlight .sc { ++ color: rgb(123, 166, 202); ++ } ++ ++ .highlight .dl { ++ color: rgb(123, 166, 202); ++ } ++ ++ .highlight .sd { ++ color: rgb(123, 166, 202); ++ } ++ ++ .highlight .s2 { ++ color: rgb(123, 166, 202); ++ } ++ ++ .highlight .se { ++ color: rgb(123, 166, 202); ++ } ++ ++ .highlight .sh { ++ color: rgb(123, 166, 202); ++ } ++ ++ .highlight .si { ++ color: rgb(117, 168, 209); ++ } ++ ++ .highlight .sx { ++ color: rgb(246, 147, 68); ++ } ++ ++ .highlight .sr { ++ color: rgb(133, 182, 224); ++ } ++ ++ .highlight .s1 { ++ color: rgb(123, 166, 202); ++ } ++ ++ .highlight .ss { ++ color: rgb(188, 230, 128); ++ } ++ ++ .highlight .bp { ++ color: rgb(126, 255, 163); ++ } ++ ++ .highlight .fm { ++ color: rgb(131, 186, 249); ++ } ++ ++ .highlight .vc { ++ color: rgb(190, 103, 215); ++ } ++ ++ .highlight .vg { ++ color: rgb(190, 103, 215); ++ } ++ ++ .highlight .vi { ++ color: rgb(190, 103, 215); ++ } ++ ++ .highlight .vm { ++ color: rgb(190, 103, 215); ++ } ++ ++ .highlight .il { ++ color: rgb(125, 222, 174); ++ } ++ ++ .rst-other-versions a { ++ border-color: initial; ++ } ++ ++ .ethical-sidebar .ethical-image-link, ++ .ethical-footer .ethical-image-link { ++ border-color: initial; ++ } ++ ++ .ethical-sidebar, ++ .ethical-footer { ++ background-color: rgb(34, 36, 38); ++ border-color: rgb(62, 68, 70); ++ color: rgb(226, 223, 219); ++ } ++ ++ .ethical-sidebar ul { ++ list-style-image: initial; ++ } ++ ++ .ethical-sidebar ul li { ++ background-color: rgb(5, 77, 121); ++ color: rgb(232, 230, 227); ++ } ++ ++ .ethical-sidebar a, ++ .ethical-sidebar a:visited, ++ .ethical-sidebar a:hover, ++ .ethical-sidebar a:active, ++ .ethical-footer a, ++ .ethical-footer a:visited, ++ .ethical-footer a:hover, ++ .ethical-footer a:active { ++ color: rgb(226, 223, 219); ++ text-decoration-color: initial !important; ++ border-bottom-color: initial !important; ++ } ++ ++ .ethical-callout a { ++ color: rgb(161, 153, 141) !important; ++ text-decoration-color: initial !important; ++ } ++ ++ .ethical-fixedfooter { ++ background-color: rgb(34, 36, 38); ++ border-top-color: rgb(66, 72, 74); ++ color: rgb(192, 186, 178); ++ } ++ ++ .ethical-fixedfooter .ethical-text::before { ++ background-color: rgb(61, 140, 64); ++ color: rgb(232, 230, 227); ++ } ++ ++ .ethical-fixedfooter .ethical-callout { ++ color: rgb(168, 160, 149); ++ } ++ ++ .ethical-fixedfooter a, ++ .ethical-fixedfooter a:hover, ++ .ethical-fixedfooter a:active, ++ .ethical-fixedfooter a:visited { ++ color: rgb(192, 186, 178); ++ text-decoration-color: initial; ++ } ++ ++ .ethical-rtd .ethical-sidebar { ++ color: rgb(184, 178, 169); ++ } ++ ++ .ethical-alabaster a.ethical-image-link { ++ border-color: initial !important; ++ } ++ ++ .ethical-dark-theme .ethical-sidebar { ++ background-color: rgb(58, 62, 65); ++ border-color: rgb(75, 81, 84); ++ color: rgb(193, 188, 180) !important; ++ } ++ ++ .ethical-dark-theme a, ++ .ethical-dark-theme a:visited { ++ color: rgb(216, 213, 208) !important; ++ border-bottom-color: initial !important; ++ } ++ ++ .ethical-dark-theme .ethical-callout a { ++ color: rgb(184, 178, 169) !important; ++ } ++ ++ .keep-us-sustainable { ++ border-color: rgb(87, 133, 38); ++ } ++ ++ .keep-us-sustainable a, ++ .keep-us-sustainable a:hover, ++ .keep-us-sustainable a:visited { ++ text-decoration-color: initial; ++ } ++ ++ .wy-body-for-nav .keep-us-sustainable { ++ color: rgb(184, 178, 169); ++ } ++ ++ .wy-body-for-nav .keep-us-sustainable a { ++ color: rgb(222, 219, 215); ++ } ++ ++ /* For black-on-white/transparent images at handbook/text-anchors.html */ ++ #text-anchors img { + filter: invert(1) brightness(0.85) hue-rotate(-60deg); + } + } +diff -rupN --no-dereference Pillow-9.2.0/docs/resources/css/light.css Pillow-9.2.0-new/docs/resources/css/light.css +--- Pillow-9.2.0/docs/resources/css/light.css 1970-01-01 01:00:00.000000000 +0100 ++++ Pillow-9.2.0-new/docs/resources/css/light.css 2022-07-20 16:40:23.994366376 +0200 +@@ -0,0 +1,8 @@ ++@media (prefers-color-scheme: light) { ++ ++ .wy-menu-vertical li.toctree-l2.current a, ++ .wy-menu-vertical li.toctree-l3.current a { ++ background-color: #c9c9c9; ++ } ++ ++} +diff -rupN --no-dereference Pillow-9.2.0/docs/resources/css/styles.css Pillow-9.2.0-new/docs/resources/css/styles.css +--- Pillow-9.2.0/docs/resources/css/styles.css 1970-01-01 01:00:00.000000000 +0100 ++++ Pillow-9.2.0-new/docs/resources/css/styles.css 2022-07-20 16:40:23.994366376 +0200 +@@ -0,0 +1,8 @@ ++th p { ++ margin-bottom: 0; ++} ++ ++.rst-content tr .line-block { ++ font-size: 1rem; ++ margin-bottom: 0; ++} +diff -rupN --no-dereference Pillow-9.2.0/docs/resources/js/script.js Pillow-9.2.0-new/docs/resources/js/script.js +--- Pillow-9.2.0/docs/resources/js/script.js 1970-01-01 01:00:00.000000000 +0100 ++++ Pillow-9.2.0-new/docs/resources/js/script.js 2022-07-20 16:40:23.994366376 +0200 +@@ -0,0 +1,58 @@ ++jQuery(document).ready(function ($) { ++ setTimeout(function () { ++ var sectionID = 'base'; ++ var search = function ($section, $sidebarItem) { ++ $section.children('.section, .function, .method').each(function () { ++ if ($(this).hasClass('section')) { ++ sectionID = $(this).attr('id'); ++ search($(this), $sidebarItem.parent().find('[href="#'+sectionID+'"]')); ++ } else { ++ var $dt = $(this).children('dt'); ++ var id = $dt.attr('id'); ++ if (id === undefined) { ++ return; ++ } ++ ++ var $functionsUL = $sidebarItem.siblings('[data-sectionID='+sectionID+']'); ++ if (!$functionsUL.length) { ++ $functionsUL = $('