summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/lint.yml2
-rw-r--r--doc/conf.py1
-rw-r--r--doc/development/tutorials/examples/recipe.py3
-rw-r--r--setup.cfg3
-rw-r--r--setup.py7
-rw-r--r--sphinx/application.py14
-rw-r--r--sphinx/builders/__init__.py13
-rw-r--r--sphinx/builders/_epub_base.py5
-rw-r--r--sphinx/builders/applehelp.py8
-rw-r--r--sphinx/builders/changes.py4
-rw-r--r--sphinx/builders/devhelp.py1
-rw-r--r--sphinx/builders/epub3.py2
-rw-r--r--sphinx/builders/gettext.py15
-rw-r--r--sphinx/builders/html/__init__.py17
-rw-r--r--sphinx/builders/htmlhelp.py6
-rw-r--r--sphinx/builders/latex/__init__.py11
-rw-r--r--sphinx/builders/latex/constants.py1
-rw-r--r--sphinx/builders/latex/transforms.py8
-rw-r--r--sphinx/builders/linkcheck.py7
-rw-r--r--sphinx/builders/manpage.py6
-rw-r--r--sphinx/builders/qthelp.py1
-rw-r--r--sphinx/builders/singlehtml.py3
-rw-r--r--sphinx/builders/texinfo.py9
-rw-r--r--sphinx/builders/text.py2
-rw-r--r--sphinx/builders/xml.py2
-rw-r--r--sphinx/cmd/build.py4
-rw-r--r--sphinx/cmd/make_mode.py3
-rw-r--r--sphinx/cmd/quickstart.py5
-rw-r--r--sphinx/config.py7
-rw-r--r--sphinx/directives/__init__.py22
-rw-r--r--sphinx/directives/code.py3
-rw-r--r--sphinx/directives/other.py5
-rw-r--r--sphinx/directives/patches.py5
-rw-r--r--sphinx/domains/__init__.py4
-rw-r--r--sphinx/domains/c.py21
-rw-r--r--sphinx/domains/changeset.py4
-rw-r--r--sphinx/domains/citation.py3
-rw-r--r--sphinx/domains/cpp.py22
-rw-r--r--sphinx/domains/index.py3
-rw-r--r--sphinx/domains/javascript.py4
-rw-r--r--sphinx/domains/math.py3
-rw-r--r--sphinx/domains/python.py10
-rw-r--r--sphinx/domains/rst.py4
-rw-r--r--sphinx/domains/std.py6
-rw-r--r--sphinx/environment/__init__.py8
-rw-r--r--sphinx/environment/adapters/indexentries.py6
-rw-r--r--sphinx/environment/adapters/toctree.py5
-rw-r--r--sphinx/environment/collectors/asset.py1
-rw-r--r--sphinx/environment/collectors/indexentries.py3
-rw-r--r--sphinx/environment/collectors/metadata.py3
-rw-r--r--sphinx/environment/collectors/toctree.py5
-rw-r--r--sphinx/events.py1
-rw-r--r--sphinx/ext/autodoc/__init__.py22
-rw-r--r--sphinx/ext/autodoc/importer.py5
-rw-r--r--sphinx/ext/autodoc/type_comment.py6
-rw-r--r--sphinx/ext/autodoc/typehints.py3
-rw-r--r--sphinx/ext/autosectionlabel.py4
-rw-r--r--sphinx/ext/autosummary/__init__.py12
-rw-r--r--sphinx/ext/autosummary/generate.py23
-rw-r--r--sphinx/ext/coverage.py2
-rw-r--r--sphinx/ext/doctest.py3
-rw-r--r--sphinx/ext/duration.py3
-rw-r--r--sphinx/ext/graphviz.py2
-rw-r--r--sphinx/ext/imgconverter.py3
-rw-r--r--sphinx/ext/imgmath.py2
-rw-r--r--sphinx/ext/inheritance_diagram.py10
-rw-r--r--sphinx/ext/intersphinx.py5
-rw-r--r--sphinx/ext/jsmath.py7
-rw-r--r--sphinx/ext/mathjax.py3
-rw-r--r--sphinx/ext/napoleon/__init__.py2
-rw-r--r--sphinx/ext/todo.py3
-rw-r--r--sphinx/ext/viewcode.py1
-rw-r--r--sphinx/highlighting.py8
-rw-r--r--sphinx/io.py14
-rw-r--r--sphinx/jinja2glue.py2
-rw-r--r--sphinx/parsers.py4
-rw-r--r--sphinx/project.py4
-rw-r--r--sphinx/pycode/__init__.py2
-rw-r--r--sphinx/pycode/ast.py2
-rw-r--r--sphinx/pycode/parser.py3
-rw-r--r--sphinx/pygments_styles.py4
-rw-r--r--sphinx/registry.py1
-rw-r--r--sphinx/roles.py5
-rw-r--r--sphinx/search/__init__.py5
-rw-r--r--sphinx/search/da.py1
-rw-r--r--sphinx/search/de.py1
-rw-r--r--sphinx/search/es.py1
-rw-r--r--sphinx/search/fi.py1
-rw-r--r--sphinx/search/fr.py1
-rw-r--r--sphinx/search/hu.py1
-rw-r--r--sphinx/search/it.py1
-rw-r--r--sphinx/search/ja.py2
-rw-r--r--sphinx/search/nl.py1
-rw-r--r--sphinx/search/no.py1
-rw-r--r--sphinx/search/pt.py1
-rw-r--r--sphinx/search/ro.py1
-rw-r--r--sphinx/search/ru.py1
-rw-r--r--sphinx/search/sv.py1
-rw-r--r--sphinx/search/tr.py1
-rw-r--r--sphinx/setup_command.py4
-rw-r--r--sphinx/testing/fixtures.py1
-rw-r--r--sphinx/testing/path.py3
-rw-r--r--sphinx/testing/util.py3
-rw-r--r--sphinx/transforms/__init__.py8
-rw-r--r--sphinx/transforms/compact_bullet_list.py3
-rw-r--r--sphinx/transforms/i18n.py12
-rw-r--r--sphinx/transforms/post_transforms/__init__.py4
-rw-r--r--sphinx/transforms/post_transforms/code.py1
-rw-r--r--sphinx/transforms/post_transforms/images.py6
-rw-r--r--sphinx/util/__init__.py38
-rw-r--r--sphinx/util/cfamily.py4
-rw-r--r--sphinx/util/console.py2
-rw-r--r--sphinx/util/docfields.py6
-rw-r--r--sphinx/util/docstrings.py1
-rw-r--r--sphinx/util/docutils.py6
-rw-r--r--sphinx/util/inspect.py13
-rw-r--r--sphinx/util/inventory.py3
-rw-r--r--sphinx/util/jsdump.py2
-rw-r--r--sphinx/util/jsonimpl.py3
-rw-r--r--sphinx/util/logging.py3
-rw-r--r--sphinx/util/nodes.py4
-rw-r--r--sphinx/util/png.py1
-rw-r--r--sphinx/util/pycompat.py3
-rw-r--r--sphinx/util/rst.py6
-rw-r--r--sphinx/util/smartypants.py1
-rw-r--r--sphinx/util/texescape.py1
-rw-r--r--sphinx/util/typing.py1
-rw-r--r--sphinx/writers/html.py8
-rw-r--r--sphinx/writers/html5.py5
-rw-r--r--sphinx/writers/latex.py20
-rw-r--r--sphinx/writers/manpage.py12
-rw-r--r--sphinx/writers/texinfo.py8
-rw-r--r--sphinx/writers/text.py7
-rw-r--r--tests/conftest.py2
-rw-r--r--tests/roots/test-api-set-translator/conf.py1
-rwxr-xr-xtests/roots/test-apidoc-toc/mypackage/main.py1
-rw-r--r--tests/roots/test-ext-autodoc/autodoc_dummy_module.py2
-rw-r--r--tests/roots/test-ext-autodoc/target/__init__.py1
-rw-r--r--tests/roots/test-ext-autodoc/target/annotations.py2
-rw-r--r--tests/roots/test-ext-autodoc/target/generic_class.py3
-rw-r--r--tests/roots/test-ext-autodoc/target/genericalias.py2
-rw-r--r--tests/roots/test-ext-autodoc/target/name_conflict/__init__.py1
-rw-r--r--tests/roots/test-ext-autodoc/target/need_mocks.py16
-rw-r--r--tests/roots/test-ext-autodoc/target/singledispatch.py2
-rw-r--r--tests/roots/test-ext-autosummary-imported_members/conf.py1
-rw-r--r--tests/roots/test-ext-autosummary-mock_imports/conf.py1
-rw-r--r--tests/roots/test-ext-autosummary/autosummary_dummy_module.py1
-rw-r--r--tests/roots/test-ext-viewcode-find/not_a_package/__init__.py2
-rw-r--r--tests/roots/test-ext-viewcode/spam/__init__.py4
-rw-r--r--tests/roots/test-ext-viewcode/spam/mod3.py1
-rw-r--r--tests/roots/test-prolog/conf.py1
-rw-r--r--tests/roots/test-pycode-egg/src/setup.py1
-rw-r--r--tests/roots/test-root/autodoc_target.py1
-rw-r--r--tests/roots/test-root/conf.py1
-rw-r--r--tests/roots/test-theming/setup.py2
-rw-r--r--tests/roots/test-warnings/conf.py1
-rw-r--r--tests/test_build_epub.py2
-rw-r--r--tests/test_build_gettext.py2
-rw-r--r--tests/test_build_html.py3
-rw-r--r--tests/test_build_latex.py3
-rw-r--r--tests/test_build_linkcheck.py1
-rw-r--r--tests/test_build_texinfo.py3
-rw-r--r--tests/test_build_text.py2
-rw-r--r--tests/test_config.py4
-rw-r--r--tests/test_domain_c.py7
-rw-r--r--tests/test_domain_cpp.py4
-rw-r--r--tests/test_domain_js.py6
-rw-r--r--tests/test_domain_py.py14
-rw-r--r--tests/test_domain_rst.py5
-rw-r--r--tests/test_domain_std.py10
-rw-r--r--tests/test_environment.py3
-rw-r--r--tests/test_environment_toctree.py2
-rw-r--r--tests/test_ext_autodoc.py2
-rw-r--r--tests/test_ext_autodoc_autoclass.py1
-rw-r--r--tests/test_ext_autodoc_autofunction.py1
-rw-r--r--tests/test_ext_autodoc_configs.py3
-rw-r--r--tests/test_ext_autodoc_events.py2
-rw-r--r--tests/test_ext_autodoc_private_members.py1
-rw-r--r--tests/test_ext_autosummary.py12
-rw-r--r--tests/test_ext_doctest.py2
-rw-r--r--tests/test_ext_duration.py1
-rw-r--r--tests/test_ext_inheritance_diagram.py7
-rw-r--r--tests/test_ext_intersphinx.py8
-rw-r--r--tests/test_ext_napoleon.py2
-rw-r--r--tests/test_ext_napoleon_docstring.py10
-rw-r--r--tests/test_ext_napoleon_iterators.py2
-rw-r--r--tests/test_highlighting.py2
-rw-r--r--tests/test_intl.py9
-rw-r--r--tests/test_markup.py9
-rw-r--r--tests/test_pycode.py3
-rw-r--r--tests/test_quickstart.py3
-rw-r--r--tests/test_search.py2
-rw-r--r--tests/test_theming.py2
-rw-r--r--tests/test_util.py8
-rw-r--r--tests/test_util_docstrings.py4
-rw-r--r--tests/test_util_docutils.py5
-rw-r--r--tests/test_util_images.py5
-rw-r--r--tests/test_util_inspect.py16
-rw-r--r--tests/test_util_matching.py2
-rw-r--r--tests/test_util_nodes.py8
-rw-r--r--tests/test_util_rst.py4
-rw-r--r--tests/test_util_typing.py5
-rw-r--r--tests/test_versioning.py3
-rw-r--r--tests/typing_test_data.py2
-rw-r--r--tox.ini11
-rw-r--r--utils/doclinter.py1
206 files changed, 408 insertions, 586 deletions
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index fea1f17a2..913abcedd 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -8,7 +8,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- tool: [docslint, flake8, mypy, twine]
+ tool: [docslint, flake8, isort, mypy, twine]
steps:
- uses: actions/checkout@v2
diff --git a/doc/conf.py b/doc/conf.py
index 8b242dc7e..80ee2b01c 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -4,7 +4,6 @@ import re
import sphinx
-
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.todo',
'sphinx.ext.autosummary', 'sphinx.ext.extlinks',
'sphinx.ext.intersphinx',
diff --git a/doc/development/tutorials/examples/recipe.py b/doc/development/tutorials/examples/recipe.py
index 2464302da..c7317578b 100644
--- a/doc/development/tutorials/examples/recipe.py
+++ b/doc/development/tutorials/examples/recipe.py
@@ -4,8 +4,7 @@ from docutils.parsers.rst import directives
from sphinx import addnodes
from sphinx.directives import ObjectDescription
-from sphinx.domains import Domain
-from sphinx.domains import Index
+from sphinx.domains import Domain, Index
from sphinx.roles import XRefRole
from sphinx.util.nodes import make_refnode
diff --git a/setup.cfg b/setup.cfg
index abda98124..56d19663b 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -39,6 +39,9 @@ extension =
paths =
.
+[isort]
+line_length = 95
+
[mypy]
python_version = 3.5
disallow_incomplete_defs = True
diff --git a/setup.py b/setup.py
index 27bbb3ae0..ca08a6d4a 100644
--- a/setup.py
+++ b/setup.py
@@ -43,7 +43,7 @@ extras_require = {
],
'lint': [
'flake8>=3.5.0',
- 'flake8-import-order',
+ 'isort',
'mypy>=0.790',
'docutils-stubs',
],
@@ -76,9 +76,10 @@ class Tee:
try:
- from babel.messages.pofile import read_po
- from babel.messages.frontend import compile_catalog
from json import dump
+
+ from babel.messages.frontend import compile_catalog
+ from babel.messages.pofile import read_po
except ImportError:
pass
else:
diff --git a/sphinx/application.py b/sphinx/application.py
index 59ac04b20..a382b701b 100644
--- a/sphinx/application.py
+++ b/sphinx/application.py
@@ -18,7 +18,7 @@ import warnings
from collections import deque
from io import StringIO
from os import path
-from typing import Any, Callable, Dict, IO, List, Optional, Tuple, Union
+from typing import IO, Any, Callable, Dict, List, Optional, Tuple, Union
from docutils import nodes
from docutils.nodes import Element, TextElement
@@ -28,7 +28,7 @@ from docutils.transforms import Transform
from pygments.lexer import Lexer
import sphinx
-from sphinx import package_dir, locale
+from sphinx import locale, package_dir
from sphinx.config import Config
from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.domains import Domain, Index
@@ -43,9 +43,7 @@ from sphinx.project import Project
from sphinx.registry import SphinxComponentRegistry
from sphinx.roles import XRefRole
from sphinx.theming import Theme
-from sphinx.util import docutils
-from sphinx.util import logging
-from sphinx.util import progress_message
+from sphinx.util import docutils, logging, progress_message
from sphinx.util.build_phase import BuildPhase
from sphinx.util.console import bold # type: ignore
from sphinx.util.i18n import CatalogRepository
@@ -56,8 +54,10 @@ from sphinx.util.typing import RoleFunction, TitleGetter
if False:
# For type annotation
- from docutils.nodes import Node # NOQA
from typing import Type # for python3.5.1
+
+ from docutils.nodes import Node # NOQA
+
from sphinx.builders import Builder
@@ -1103,7 +1103,7 @@ class Sphinx:
.. versionadded:: 1.1
"""
logger.debug('[app] adding search language: %r', cls)
- from sphinx.search import languages, SearchLanguage
+ from sphinx.search import SearchLanguage, languages
assert issubclass(cls, SearchLanguage)
languages[cls.lang] = cls
diff --git a/sphinx/builders/__init__.py b/sphinx/builders/__init__.py
index 93c246c69..b2cae7f47 100644
--- a/sphinx/builders/__init__.py
+++ b/sphinx/builders/__init__.py
@@ -17,26 +17,24 @@ from docutils import nodes
from docutils.nodes import Node
from sphinx.config import Config
-from sphinx.environment import BuildEnvironment, CONFIG_OK, CONFIG_CHANGED_REASON
+from sphinx.environment import CONFIG_CHANGED_REASON, CONFIG_OK, BuildEnvironment
from sphinx.environment.adapters.asset import ImageAdapter
from sphinx.errors import SphinxError
from sphinx.events import EventManager
from sphinx.io import read_doc
from sphinx.locale import __
-from sphinx.util import import_object, logging, rst, progress_message, status_iterator
+from sphinx.util import import_object, logging, progress_message, rst, status_iterator
from sphinx.util.build_phase import BuildPhase
from sphinx.util.console import bold # type: ignore
from sphinx.util.docutils import sphinx_domains
from sphinx.util.i18n import CatalogInfo, CatalogRepository, docname_to_domain
from sphinx.util.osutil import SEP, ensuredir, relative_uri, relpath
-from sphinx.util.parallel import ParallelTasks, SerialTasks, make_chunks, \
- parallel_available
+from sphinx.util.parallel import ParallelTasks, SerialTasks, make_chunks, parallel_available
from sphinx.util.tags import Tags
# side effect: registers roles and directives
-from sphinx import roles # noqa
-from sphinx import directives # noqa
-
+from sphinx import directives # NOQA isort:skip
+from sphinx import roles # NOQA isort:skip
try:
import multiprocessing
except ImportError:
@@ -45,6 +43,7 @@ except ImportError:
if False:
# For type annotation
from typing import Type # for python3.5.1
+
from sphinx.application import Sphinx
diff --git a/sphinx/builders/_epub_base.py b/sphinx/builders/_epub_base.py
index b126182e9..9751fae80 100644
--- a/sphinx/builders/_epub_base.py
+++ b/sphinx/builders/_epub_base.py
@@ -25,11 +25,10 @@ from sphinx import addnodes
from sphinx.builders.html import BuildInfo, StandaloneHTMLBuilder
from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.locale import __
-from sphinx.util import logging
-from sphinx.util import status_iterator
+from sphinx.util import logging, status_iterator
from sphinx.util.fileutil import copy_asset_file
from sphinx.util.i18n import format_date
-from sphinx.util.osutil import ensuredir, copyfile
+from sphinx.util.osutil import copyfile, ensuredir
try:
from PIL import Image
diff --git a/sphinx/builders/applehelp.py b/sphinx/builders/applehelp.py
index 82a74f4b6..08669a8af 100644
--- a/sphinx/builders/applehelp.py
+++ b/sphinx/builders/applehelp.py
@@ -11,16 +11,12 @@
import warnings
from typing import Any, Dict
-from sphinxcontrib.applehelp import (
- AppleHelpCodeSigningFailed,
- AppleHelpIndexerFailed,
- AppleHelpBuilder,
-)
+from sphinxcontrib.applehelp import (AppleHelpBuilder, AppleHelpCodeSigningFailed,
+ AppleHelpIndexerFailed)
from sphinx.application import Sphinx
from sphinx.deprecation import RemovedInSphinx40Warning, deprecated_alias
-
deprecated_alias('sphinx.builders.applehelp',
{
'AppleHelpCodeSigningFailed': AppleHelpCodeSigningFailed,
diff --git a/sphinx/builders/changes.py b/sphinx/builders/changes.py
index 7cf9d098b..ea3a778fc 100644
--- a/sphinx/builders/changes.py
+++ b/sphinx/builders/changes.py
@@ -10,8 +10,7 @@
import html
from os import path
-from typing import Any, Dict, List, Tuple
-from typing import cast
+from typing import Any, Dict, List, Tuple, cast
from sphinx import package_dir
from sphinx.application import Sphinx
@@ -24,7 +23,6 @@ from sphinx.util.console import bold # type: ignore
from sphinx.util.fileutil import copy_asset_file
from sphinx.util.osutil import ensuredir, os_path
-
logger = logging.getLogger(__name__)
diff --git a/sphinx/builders/devhelp.py b/sphinx/builders/devhelp.py
index 3e402690a..f14e3a2da 100644
--- a/sphinx/builders/devhelp.py
+++ b/sphinx/builders/devhelp.py
@@ -18,7 +18,6 @@ from sphinxcontrib.devhelp import DevhelpBuilder
from sphinx.application import Sphinx
from sphinx.deprecation import RemovedInSphinx40Warning, deprecated_alias
-
deprecated_alias('sphinx.builders.devhelp',
{
'DevhelpBuilder': DevhelpBuilder,
diff --git a/sphinx/builders/epub3.py b/sphinx/builders/epub3.py
index cf795f3ba..cb2f2dbd6 100644
--- a/sphinx/builders/epub3.py
+++ b/sphinx/builders/epub3.py
@@ -18,7 +18,7 @@ from typing import Any, Dict, List, Set, Tuple
from sphinx import package_dir
from sphinx.application import Sphinx
from sphinx.builders import _epub_base
-from sphinx.config import Config, ENUM
+from sphinx.config import ENUM, Config
from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.locale import __
from sphinx.util import logging, xmlname_checker
diff --git a/sphinx/builders/gettext.py b/sphinx/builders/gettext.py
index f8a19c57a..cbc6fc444 100644
--- a/sphinx/builders/gettext.py
+++ b/sphinx/builders/gettext.py
@@ -9,28 +9,27 @@
"""
from codecs import open
-from collections import defaultdict, OrderedDict
-from datetime import datetime, tzinfo, timedelta
-from os import path, walk, getenv
+from collections import OrderedDict, defaultdict
+from datetime import datetime, timedelta, tzinfo
+from os import getenv, path, walk
from time import time
-from typing import Any, Dict, Iterable, Generator, List, Set, Tuple, Union
+from typing import Any, Dict, Generator, Iterable, List, Set, Tuple, Union
from uuid import uuid4
from docutils import nodes
from docutils.nodes import Element
-from sphinx import addnodes
-from sphinx import package_dir
+from sphinx import addnodes, package_dir
from sphinx.application import Sphinx
from sphinx.builders import Builder
from sphinx.domains.python import pairindextypes
from sphinx.errors import ThemeError
from sphinx.locale import __
-from sphinx.util import split_index_msg, logging, status_iterator
+from sphinx.util import logging, split_index_msg, status_iterator
from sphinx.util.console import bold # type: ignore
from sphinx.util.i18n import CatalogInfo, docname_to_domain
from sphinx.util.nodes import extract_messages, traverse_translatable_index
-from sphinx.util.osutil import ensuredir, canon_path, relpath
+from sphinx.util.osutil import canon_path, ensuredir, relpath
from sphinx.util.tags import Tags
from sphinx.util.template import SphinxRenderer
diff --git a/sphinx/builders/html/__init__.py b/sphinx/builders/html/__init__.py
index beb650991..d7986e7dc 100644
--- a/sphinx/builders/html/__init__.py
+++ b/sphinx/builders/html/__init__.py
@@ -14,7 +14,7 @@ import re
import sys
import warnings
from os import path
-from typing import Any, Dict, IO, Iterable, Iterator, List, Set, Tuple
+from typing import IO, Any, Dict, Iterable, Iterator, List, Set, Tuple
from urllib.parse import quote
from docutils import nodes
@@ -24,10 +24,10 @@ from docutils.io import DocTreeInput, StringOutput
from docutils.nodes import Node
from docutils.utils import relative_path
-from sphinx import package_dir, __display_version__
+from sphinx import __display_version__, package_dir
from sphinx.application import Sphinx
from sphinx.builders import Builder
-from sphinx.config import Config, ENUM
+from sphinx.config import ENUM, Config
from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.domains import Domain, Index, IndexEntry
from sphinx.environment.adapters.asset import ImageAdapter
@@ -38,15 +38,15 @@ from sphinx.highlighting import PygmentsBridge
from sphinx.locale import _, __
from sphinx.search import js_index
from sphinx.theming import HTMLThemeFactory
-from sphinx.util import logging, progress_message, status_iterator, md5
+from sphinx.util import logging, md5, progress_message, status_iterator
from sphinx.util.docutils import is_html5_writer_available, new_document
from sphinx.util.fileutil import copy_asset
from sphinx.util.i18n import format_date
from sphinx.util.inventory import InventoryFile
-from sphinx.util.matching import patmatch, Matcher, DOTFILES
-from sphinx.util.osutil import os_path, relative_uri, ensuredir, movefile, copyfile
+from sphinx.util.matching import DOTFILES, Matcher, patmatch
+from sphinx.util.osutil import copyfile, ensuredir, movefile, os_path, relative_uri
from sphinx.util.tags import Tags
-from sphinx.writers.html import HTMLWriter, HTMLTranslator
+from sphinx.writers.html import HTMLTranslator, HTMLWriter
if False:
# For type annotation
@@ -1190,9 +1190,10 @@ def validate_html_favicon(app: Sphinx, config: Config) -> None:
# for compatibility
+import sphinxcontrib.serializinghtml # NOQA
+
import sphinx.builders.dirhtml # NOQA
import sphinx.builders.singlehtml # NOQA
-import sphinxcontrib.serializinghtml # NOQA
def setup(app: Sphinx) -> Dict[str, Any]:
diff --git a/sphinx/builders/htmlhelp.py b/sphinx/builders/htmlhelp.py
index d30f9805a..642ae7da6 100644
--- a/sphinx/builders/htmlhelp.py
+++ b/sphinx/builders/htmlhelp.py
@@ -12,14 +12,12 @@
import warnings
from typing import Any, Dict
-from sphinxcontrib.htmlhelp import (
- chm_locales, chm_htmlescape, HTMLHelpBuilder, default_htmlhelp_basename
-)
+from sphinxcontrib.htmlhelp import (HTMLHelpBuilder, chm_htmlescape, chm_locales,
+ default_htmlhelp_basename)
from sphinx.application import Sphinx
from sphinx.deprecation import RemovedInSphinx40Warning, deprecated_alias
-
deprecated_alias('sphinx.builders.htmlhelp',
{
'chm_locales': chm_locales,
diff --git a/sphinx/builders/latex/__init__.py b/sphinx/builders/latex/__init__.py
index 8fd1c077d..77825f0ea 100644
--- a/sphinx/builders/latex/__init__.py
+++ b/sphinx/builders/latex/__init__.py
@@ -17,18 +17,18 @@ from docutils.frontend import OptionParser
from docutils.nodes import Node
import sphinx.builders.latex.nodes # NOQA # Workaround: import this before writer to avoid ImportError
-from sphinx import package_dir, addnodes, highlighting
+from sphinx import addnodes, highlighting, package_dir
from sphinx.application import Sphinx
from sphinx.builders import Builder
from sphinx.builders.latex.constants import ADDITIONAL_SETTINGS, DEFAULT_SETTINGS, SHORTHANDOFF
from sphinx.builders.latex.theming import Theme, ThemeFactory
from sphinx.builders.latex.util import ExtBabel
-from sphinx.config import Config, ENUM
+from sphinx.config import ENUM, Config
from sphinx.deprecation import RemovedInSphinx40Warning, RemovedInSphinx50Warning
from sphinx.environment.adapters.asset import ImageAdapter
from sphinx.errors import NoUri, SphinxError
from sphinx.locale import _, __
-from sphinx.util import texescape, logging, progress_message, status_iterator
+from sphinx.util import logging, progress_message, status_iterator, texescape
from sphinx.util.console import bold, darkgreen # type: ignore
from sphinx.util.docutils import SphinxFileOutput, new_document
from sphinx.util.fileutil import copy_asset_file
@@ -36,11 +36,10 @@ from sphinx.util.i18n import format_date
from sphinx.util.nodes import inline_all_toctrees
from sphinx.util.osutil import SEP, make_filename_from_project
from sphinx.util.template import LaTeXRenderer
-from sphinx.writers.latex import LaTeXWriter, LaTeXTranslator
+from sphinx.writers.latex import LaTeXTranslator, LaTeXWriter
# load docutils.nodes after loading sphinx.builders.latex.nodes
-from docutils import nodes # NOQA
-
+from docutils import nodes # isort:skip
XINDY_LANG_OPTIONS = {
# language codes from docutils.writers.latex2e.Babel
diff --git a/sphinx/builders/latex/constants.py b/sphinx/builders/latex/constants.py
index 7146079ff..aab64c679 100644
--- a/sphinx/builders/latex/constants.py
+++ b/sphinx/builders/latex/constants.py
@@ -10,7 +10,6 @@
from typing import Any, Dict
-
PDFLATEX_DEFAULT_FONTPKG = r'''
\usepackage{times}
\expandafter\ifx\csname T@LGR\endcsname\relax
diff --git a/sphinx/builders/latex/transforms.py b/sphinx/builders/latex/transforms.py
index 174483be6..5b8370d6c 100644
--- a/sphinx/builders/latex/transforms.py
+++ b/sphinx/builders/latex/transforms.py
@@ -8,8 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-from typing import Any, Dict, List, Set, Tuple
-from typing import cast
+from typing import Any, Dict, List, Set, Tuple, cast
from docutils import nodes
from docutils.nodes import Element, Node
@@ -17,9 +16,8 @@ from docutils.transforms.references import Substitutions
from sphinx import addnodes
from sphinx.application import Sphinx
-from sphinx.builders.latex.nodes import (
- captioned_literal_block, footnotemark, footnotetext, math_reference, thebibliography
-)
+from sphinx.builders.latex.nodes import (captioned_literal_block, footnotemark, footnotetext,
+ math_reference, thebibliography)
from sphinx.domains.citation import CitationDomain
from sphinx.transforms import SphinxTransform
from sphinx.transforms.post_transforms import SphinxPostTransform
diff --git a/sphinx/builders/linkcheck.py b/sphinx/builders/linkcheck.py
index cb99de9e1..40e54a8d7 100644
--- a/sphinx/builders/linkcheck.py
+++ b/sphinx/builders/linkcheck.py
@@ -25,14 +25,11 @@ from requests.exceptions import HTTPError
from sphinx.application import Sphinx
from sphinx.builders import Builder
from sphinx.locale import __
-from sphinx.util import encode_uri, requests, logging
-from sphinx.util.console import ( # type: ignore
- purple, red, darkgreen, darkgray, turquoise
-)
+from sphinx.util import encode_uri, logging, requests
+from sphinx.util.console import darkgray, darkgreen, purple, red, turquoise # type: ignore
from sphinx.util.nodes import get_node_line
from sphinx.util.requests import is_ssl_error
-
logger = logging.getLogger(__name__)
uri_re = re.compile('([a-z]+:)?//') # matches to foo:// and // (a protocol relative URL)
diff --git a/sphinx/builders/manpage.py b/sphinx/builders/manpage.py
index 2a10ba62f..b5e8c77cb 100644
--- a/sphinx/builders/manpage.py
+++ b/sphinx/builders/manpage.py
@@ -20,13 +20,11 @@ from sphinx.builders import Builder
from sphinx.config import Config
from sphinx.errors import NoUri
from sphinx.locale import __
-from sphinx.util import logging
-from sphinx.util import progress_message
+from sphinx.util import logging, progress_message
from sphinx.util.console import darkgreen # type: ignore
from sphinx.util.nodes import inline_all_toctrees
from sphinx.util.osutil import ensuredir, make_filename_from_project
-from sphinx.writers.manpage import ManualPageWriter, ManualPageTranslator
-
+from sphinx.writers.manpage import ManualPageTranslator, ManualPageWriter
logger = logging.getLogger(__name__)
diff --git a/sphinx/builders/qthelp.py b/sphinx/builders/qthelp.py
index cec4d338e..a1fe44666 100644
--- a/sphinx/builders/qthelp.py
+++ b/sphinx/builders/qthelp.py
@@ -17,7 +17,6 @@ import sphinx
from sphinx.application import Sphinx
from sphinx.deprecation import RemovedInSphinx40Warning, deprecated_alias
-
deprecated_alias('sphinx.builders.qthelp',
{
'render_file': render_file,
diff --git a/sphinx/builders/singlehtml.py b/sphinx/builders/singlehtml.py
index df90b4c73..d8ab978ed 100644
--- a/sphinx/builders/singlehtml.py
+++ b/sphinx/builders/singlehtml.py
@@ -19,8 +19,7 @@ from sphinx.builders.html import StandaloneHTMLBuilder
from sphinx.deprecation import RemovedInSphinx40Warning, deprecated_alias
from sphinx.environment.adapters.toctree import TocTree
from sphinx.locale import __
-from sphinx.util import logging
-from sphinx.util import progress_message
+from sphinx.util import logging, progress_message
from sphinx.util.console import darkgreen # type: ignore
from sphinx.util.nodes import inline_all_toctrees
diff --git a/sphinx/builders/texinfo.py b/sphinx/builders/texinfo.py
index 5e2e6e240..345934bd4 100644
--- a/sphinx/builders/texinfo.py
+++ b/sphinx/builders/texinfo.py
@@ -16,23 +16,20 @@ from docutils import nodes
from docutils.frontend import OptionParser
from docutils.io import FileOutput
-from sphinx import addnodes
-from sphinx import package_dir
+from sphinx import addnodes, package_dir
from sphinx.application import Sphinx
from sphinx.builders import Builder
from sphinx.config import Config
from sphinx.environment.adapters.asset import ImageAdapter
from sphinx.errors import NoUri
from sphinx.locale import _, __
-from sphinx.util import logging
-from sphinx.util import progress_message, status_iterator
+from sphinx.util import logging, progress_message, status_iterator
from sphinx.util.console import darkgreen # type: ignore
from sphinx.util.docutils import new_document
from sphinx.util.fileutil import copy_asset_file
from sphinx.util.nodes import inline_all_toctrees
from sphinx.util.osutil import SEP, ensuredir, make_filename_from_project
-from sphinx.writers.texinfo import TexinfoWriter, TexinfoTranslator
-
+from sphinx.writers.texinfo import TexinfoTranslator, TexinfoWriter
logger = logging.getLogger(__name__)
template_dir = os.path.join(package_dir, 'templates', 'texinfo')
diff --git a/sphinx/builders/text.py b/sphinx/builders/text.py
index 89b041abd..463f4bc55 100644
--- a/sphinx/builders/text.py
+++ b/sphinx/builders/text.py
@@ -19,7 +19,7 @@ from sphinx.builders import Builder
from sphinx.locale import __
from sphinx.util import logging
from sphinx.util.osutil import ensuredir, os_path
-from sphinx.writers.text import TextWriter, TextTranslator
+from sphinx.writers.text import TextTranslator, TextWriter
logger = logging.getLogger(__name__)
diff --git a/sphinx/builders/xml.py b/sphinx/builders/xml.py
index 81d729def..c31c6d799 100644
--- a/sphinx/builders/xml.py
+++ b/sphinx/builders/xml.py
@@ -21,7 +21,7 @@ from sphinx.builders import Builder
from sphinx.locale import __
from sphinx.util import logging
from sphinx.util.osutil import ensuredir, os_path
-from sphinx.writers.xml import XMLWriter, PseudoXMLWriter
+from sphinx.writers.xml import PseudoXMLWriter, XMLWriter
if False:
# For type annotation
diff --git a/sphinx/cmd/build.py b/sphinx/cmd/build.py
index c4cf11cc4..f75b13fc8 100644
--- a/sphinx/cmd/build.py
+++ b/sphinx/cmd/build.py
@@ -16,7 +16,7 @@ import os
import pdb
import sys
import traceback
-from typing import Any, IO, List
+from typing import IO, Any, List
from docutils.utils import SystemMessage
@@ -26,7 +26,7 @@ from sphinx.application import Sphinx
from sphinx.errors import SphinxError
from sphinx.locale import __
from sphinx.util import Tee, format_exception_cut_frames, save_traceback
-from sphinx.util.console import red, nocolor, color_terminal, terminal_safe # type: ignore
+from sphinx.util.console import color_terminal, nocolor, red, terminal_safe # type: ignore
from sphinx.util.docutils import docutils_namespace, patch_docutils
diff --git a/sphinx/cmd/make_mode.py b/sphinx/cmd/make_mode.py
index aff2ea7f5..9043868e1 100644
--- a/sphinx/cmd/make_mode.py
+++ b/sphinx/cmd/make_mode.py
@@ -22,10 +22,9 @@ from typing import List
import sphinx
from sphinx.cmd.build import build_main
-from sphinx.util.console import color_terminal, nocolor, bold, blue # type: ignore
+from sphinx.util.console import blue, bold, color_terminal, nocolor # type: ignore
from sphinx.util.osutil import cd, rmtree
-
BUILDERS = [
("", "html", "to make standalone HTML files"),
("", "dirhtml", "to make HTML files named index.html in directories"),
diff --git a/sphinx/cmd/quickstart.py b/sphinx/cmd/quickstart.py
index 2363f9fe4..f9def2656 100644
--- a/sphinx/cmd/quickstart.py
+++ b/sphinx/cmd/quickstart.py
@@ -37,9 +37,8 @@ import sphinx.locale
from sphinx import __display_version__, package_dir
from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.locale import __
-from sphinx.util.console import ( # type: ignore
- colorize, bold, red, turquoise, nocolor, color_terminal
-)
+from sphinx.util.console import (bold, color_terminal, colorize, nocolor, red, # type: ignore
+ turquoise)
from sphinx.util.osutil import ensuredir
from sphinx.util.template import SphinxRenderer
diff --git a/sphinx/config.py b/sphinx/config.py
index 353268e38..b3cd1dc6d 100644
--- a/sphinx/config.py
+++ b/sphinx/config.py
@@ -13,10 +13,9 @@ import traceback
import types
import warnings
from collections import OrderedDict
-from os import path, getenv
-from typing import (
- Any, Callable, Dict, Generator, Iterator, List, NamedTuple, Set, Tuple, Union
-)
+from os import getenv, path
+from typing import (Any, Callable, Dict, Generator, Iterator, List, NamedTuple, Set, Tuple,
+ Union)
from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.errors import ConfigError, ExtensionError
diff --git a/sphinx/directives/__init__.py b/sphinx/directives/__init__.py
index e6313ddab..ecfbbd69d 100644
--- a/sphinx/directives/__init__.py
+++ b/sphinx/directives/__init__.py
@@ -9,8 +9,7 @@
"""
import re
-from typing import Any, Dict, List, Tuple
-from typing import cast
+from typing import Any, Dict, List, Tuple, cast
from docutils import nodes
from docutils.nodes import Node
@@ -18,9 +17,8 @@ from docutils.parsers.rst import directives, roles
from sphinx import addnodes
from sphinx.addnodes import desc_signature
-from sphinx.deprecation import (
- RemovedInSphinx40Warning, RemovedInSphinx50Warning, deprecated_alias
-)
+from sphinx.deprecation import (RemovedInSphinx40Warning, RemovedInSphinx50Warning,
+ deprecated_alias)
from sphinx.util import docutils
from sphinx.util.docfields import DocFieldTransformer, Field, TypedField
from sphinx.util.docutils import SphinxDirective
@@ -266,16 +264,10 @@ class DefaultDomain(SphinxDirective):
self.env.temp_data['default_domain'] = self.env.domains.get(domain_name)
return []
-from sphinx.directives.code import ( # noqa
- Highlight, CodeBlock, LiteralInclude
-)
-from sphinx.directives.other import ( # noqa
- TocTree, Author, VersionChange, SeeAlso,
- TabularColumns, Centered, Acks, HList, Only, Include, Class
-)
-from sphinx.directives.patches import ( # noqa
- Figure, Meta
-)
+from sphinx.directives.code import CodeBlock, Highlight, LiteralInclude # noqa
+from sphinx.directives.other import (Acks, Author, Centered, Class, HList, Include, # noqa
+ Only, SeeAlso, TabularColumns, TocTree, VersionChange)
+from sphinx.directives.patches import Figure, Meta # noqa
from sphinx.domains.index import IndexDirective # noqa
deprecated_alias('sphinx.directives',
diff --git a/sphinx/directives/code.py b/sphinx/directives/code.py
index 4ca849cf0..df193017d 100644
--- a/sphinx/directives/code.py
+++ b/sphinx/directives/code.py
@@ -20,8 +20,7 @@ from sphinx import addnodes
from sphinx.config import Config
from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.locale import __
-from sphinx.util import logging
-from sphinx.util import parselinenos
+from sphinx.util import logging, parselinenos
from sphinx.util.docutils import SphinxDirective
if False:
diff --git a/sphinx/directives/other.py b/sphinx/directives/other.py
index f55f95219..8158f56a8 100644
--- a/sphinx/directives/other.py
+++ b/sphinx/directives/other.py
@@ -7,8 +7,7 @@
"""
import re
-from typing import Any, Dict, List
-from typing import cast
+from typing import Any, Dict, List, cast
from docutils import nodes
from docutils.nodes import Element, Node
@@ -21,7 +20,7 @@ from sphinx import addnodes
from sphinx.deprecation import RemovedInSphinx40Warning, deprecated_alias
from sphinx.domains.changeset import VersionChange # NOQA # for compatibility
from sphinx.locale import _
-from sphinx.util import url_re, docname_join
+from sphinx.util import docname_join, url_re
from sphinx.util.docutils import SphinxDirective
from sphinx.util.matching import Matcher, patfilter
from sphinx.util.nodes import explicit_title_re
diff --git a/sphinx/directives/patches.py b/sphinx/directives/patches.py
index 4b73a7955..acb79f636 100644
--- a/sphinx/directives/patches.py
+++ b/sphinx/directives/patches.py
@@ -6,13 +6,12 @@
:license: BSD, see LICENSE for details.
"""
-from typing import Any, Dict, List, Tuple
-from typing import cast
+from typing import Any, Dict, List, Tuple, cast
from docutils import nodes
from docutils.nodes import Node, make_id, system_message
from docutils.parsers.rst import directives
-from docutils.parsers.rst.directives import images, html, tables
+from docutils.parsers.rst.directives import html, images, tables
from sphinx import addnodes
from sphinx.directives import optional_int
diff --git a/sphinx/domains/__init__.py b/sphinx/domains/__init__.py
index 11b3a4604..c351a30c2 100644
--- a/sphinx/domains/__init__.py
+++ b/sphinx/domains/__init__.py
@@ -10,8 +10,7 @@
"""
import copy
-from typing import Any, Callable, Dict, Iterable, List, NamedTuple, Tuple, Union
-from typing import cast
+from typing import Any, Callable, Dict, Iterable, List, NamedTuple, Tuple, Union, cast
from docutils import nodes
from docutils.nodes import Element, Node, system_message
@@ -26,6 +25,7 @@ from sphinx.util.typing import RoleFunction
if False:
# For type annotation
from typing import Type # for python3.5.1
+
from sphinx.builders import Builder
from sphinx.environment import BuildEnvironment
diff --git a/sphinx/domains/c.py b/sphinx/domains/c.py
index e3570b593..ad38682d8 100644
--- a/sphinx/domains/c.py
+++ b/sphinx/domains/c.py
@@ -9,9 +9,8 @@
"""
import re
-from typing import (
- Any, Callable, cast, Dict, Generator, Iterator, List, Type, TypeVar, Tuple, Union
-)
+from typing import (Any, Callable, Dict, Generator, Iterator, List, Tuple, Type, TypeVar,
+ Union, cast)
from docutils import nodes
from docutils.nodes import Element, Node, TextElement, system_message
@@ -30,15 +29,13 @@ from sphinx.roles import SphinxRole, XRefRole
from sphinx.transforms import SphinxTransform
from sphinx.transforms.post_transforms import ReferencesResolver
from sphinx.util import logging
-from sphinx.util.cfamily import (
- NoOldIdError, ASTBaseBase, ASTAttribute, ASTBaseParenExprList,
- verify_description_mode, StringifyTransform,
- BaseParser, DefinitionError, UnsupportedMultiCharacterCharLiteral,
- identifier_re, anon_identifier_re, integer_literal_re, octal_literal_re,
- hex_literal_re, binary_literal_re, integers_literal_suffix_re,
- float_literal_re, float_literal_suffix_re,
- char_literal_re
-)
+from sphinx.util.cfamily import (ASTAttribute, ASTBaseBase, ASTBaseParenExprList, BaseParser,
+ DefinitionError, NoOldIdError, StringifyTransform,
+ UnsupportedMultiCharacterCharLiteral, anon_identifier_re,
+ binary_literal_re, char_literal_re, float_literal_re,
+ float_literal_suffix_re, hex_literal_re, identifier_re,
+ integer_literal_re, integers_literal_suffix_re,
+ octal_literal_re, verify_description_mode)
from sphinx.util.docfields import Field, TypedField
from sphinx.util.docutils import SphinxDirective
from sphinx.util.nodes import make_refnode
diff --git a/sphinx/domains/changeset.py b/sphinx/domains/changeset.py
index a07944db8..d51e2f1a1 100644
--- a/sphinx/domains/changeset.py
+++ b/sphinx/domains/changeset.py
@@ -9,8 +9,7 @@
"""
from collections import namedtuple
-from typing import Any, Dict, List
-from typing import cast
+from typing import Any, Dict, List, cast
from docutils import nodes
from docutils.nodes import Node
@@ -20,7 +19,6 @@ from sphinx.domains import Domain
from sphinx.locale import _
from sphinx.util.docutils import SphinxDirective
-
if False:
# For type annotation
from sphinx.application import Sphinx
diff --git a/sphinx/domains/citation.py b/sphinx/domains/citation.py
index 38901867a..9546211d5 100644
--- a/sphinx/domains/citation.py
+++ b/sphinx/domains/citation.py
@@ -8,8 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-from typing import Any, Dict, List, Set, Tuple
-from typing import cast
+from typing import Any, Dict, List, Set, Tuple, cast
from docutils import nodes
from docutils.nodes import Element
diff --git a/sphinx/domains/cpp.py b/sphinx/domains/cpp.py
index 72d425035..35df74027 100644
--- a/sphinx/domains/cpp.py
+++ b/sphinx/domains/cpp.py
@@ -9,9 +9,8 @@
"""
import re
-from typing import (
- Any, Callable, Dict, Generator, Iterator, List, Tuple, Type, TypeVar, Union, Optional
-)
+from typing import (Any, Callable, Dict, Generator, Iterator, List, Optional, Tuple, Type,
+ TypeVar, Union)
from docutils import nodes
from docutils.nodes import Element, Node, TextElement, system_message
@@ -30,20 +29,17 @@ from sphinx.roles import SphinxRole, XRefRole
from sphinx.transforms import SphinxTransform
from sphinx.transforms.post_transforms import ReferencesResolver
from sphinx.util import logging
-from sphinx.util.cfamily import (
- NoOldIdError, ASTBaseBase, ASTAttribute, ASTBaseParenExprList,
- verify_description_mode, StringifyTransform,
- BaseParser, DefinitionError, UnsupportedMultiCharacterCharLiteral,
- identifier_re, anon_identifier_re, integer_literal_re, octal_literal_re,
- hex_literal_re, binary_literal_re, integers_literal_suffix_re,
- float_literal_re, float_literal_suffix_re,
- char_literal_re
-)
+from sphinx.util.cfamily import (ASTAttribute, ASTBaseBase, ASTBaseParenExprList, BaseParser,
+ DefinitionError, NoOldIdError, StringifyTransform,
+ UnsupportedMultiCharacterCharLiteral, anon_identifier_re,
+ binary_literal_re, char_literal_re, float_literal_re,
+ float_literal_suffix_re, hex_literal_re, identifier_re,
+ integer_literal_re, integers_literal_suffix_re,
+ octal_literal_re, verify_description_mode)
from sphinx.util.docfields import Field, GroupedField
from sphinx.util.docutils import SphinxDirective
from sphinx.util.nodes import make_refnode
-
logger = logging.getLogger(__name__)
T = TypeVar('T')
diff --git a/sphinx/domains/index.py b/sphinx/domains/index.py
index 18a256bac..552b46cf9 100644
--- a/sphinx/domains/index.py
+++ b/sphinx/domains/index.py
@@ -17,8 +17,7 @@ from docutils.parsers.rst import directives
from sphinx import addnodes
from sphinx.domains import Domain
from sphinx.environment import BuildEnvironment
-from sphinx.util import logging
-from sphinx.util import split_index_msg
+from sphinx.util import logging, split_index_msg
from sphinx.util.docutils import ReferenceRole, SphinxDirective
from sphinx.util.nodes import process_index_entry
diff --git a/sphinx/domains/javascript.py b/sphinx/domains/javascript.py
index dc7d610c2..6a431540c 100644
--- a/sphinx/domains/javascript.py
+++ b/sphinx/domains/javascript.py
@@ -8,8 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-from typing import Any, Dict, Iterator, List, Tuple
-from typing import cast
+from typing import Any, Dict, Iterator, List, Tuple, cast
from docutils import nodes
from docutils.nodes import Element, Node
@@ -30,7 +29,6 @@ from sphinx.util.docfields import Field, GroupedField, TypedField
from sphinx.util.docutils import SphinxDirective
from sphinx.util.nodes import make_id, make_refnode
-
logger = logging.getLogger(__name__)
diff --git a/sphinx/domains/math.py b/sphinx/domains/math.py
index e77bd0ed7..a2f4bd964 100644
--- a/sphinx/domains/math.py
+++ b/sphinx/domains/math.py
@@ -12,8 +12,7 @@ import warnings
from typing import Any, Dict, Iterable, List, Tuple
from docutils import nodes
-from docutils.nodes import Element, Node, system_message
-from docutils.nodes import make_id
+from docutils.nodes import Element, Node, make_id, system_message
from sphinx.addnodes import pending_xref
from sphinx.deprecation import RemovedInSphinx40Warning
diff --git a/sphinx/domains/python.py b/sphinx/domains/python.py
index f4bc58b69..79d7e4f46 100644
--- a/sphinx/domains/python.py
+++ b/sphinx/domains/python.py
@@ -15,23 +15,23 @@ import sys
import typing
import warnings
from inspect import Parameter
-from typing import Any, Dict, Iterable, Iterator, List, NamedTuple, Tuple
-from typing import cast
+from typing import Any, Dict, Iterable, Iterator, List, NamedTuple, Tuple, cast
from docutils import nodes
from docutils.nodes import Element, Node
from docutils.parsers.rst import directives
from sphinx import addnodes
-from sphinx.addnodes import pending_xref, desc_signature
+from sphinx.addnodes import desc_signature, pending_xref
from sphinx.application import Sphinx
from sphinx.builders import Builder
from sphinx.deprecation import RemovedInSphinx40Warning, RemovedInSphinx50Warning
from sphinx.directives import ObjectDescription
-from sphinx.domains import Domain, ObjType, Index, IndexEntry
+from sphinx.domains import Domain, Index, IndexEntry, ObjType
from sphinx.environment import BuildEnvironment
from sphinx.locale import _, __
-from sphinx.pycode.ast import ast, parse as ast_parse
+from sphinx.pycode.ast import ast
+from sphinx.pycode.ast import parse as ast_parse
from sphinx.roles import XRefRole
from sphinx.util import logging
from sphinx.util.docfields import Field, GroupedField, TypedField
diff --git a/sphinx/domains/rst.py b/sphinx/domains/rst.py
index e25b31936..bc9ffda07 100644
--- a/sphinx/domains/rst.py
+++ b/sphinx/domains/rst.py
@@ -9,8 +9,7 @@
"""
import re
-from typing import Any, Dict, Iterator, List, Tuple
-from typing import cast
+from typing import Any, Dict, Iterator, List, Tuple, cast
from docutils.nodes import Element
from docutils.parsers.rst import directives
@@ -27,7 +26,6 @@ from sphinx.roles import XRefRole
from sphinx.util import logging
from sphinx.util.nodes import make_id, make_refnode
-
logger = logging.getLogger(__name__)
dir_sig_re = re.compile(r'\.\. (.+?)::(.*)$')
diff --git a/sphinx/domains/std.py b/sphinx/domains/std.py
index 7ea468404..4bde57930 100644
--- a/sphinx/domains/std.py
+++ b/sphinx/domains/std.py
@@ -12,8 +12,7 @@ import re
import unicodedata
import warnings
from copy import copy
-from typing import Any, Callable, Dict, Iterable, Iterator, List, Optional, Tuple, Union
-from typing import cast
+from typing import Any, Callable, Dict, Iterable, Iterator, List, Optional, Tuple, Union, cast
from docutils import nodes
from docutils.nodes import Element, Node, system_message
@@ -27,7 +26,7 @@ from sphinx.directives import ObjectDescription
from sphinx.domains import Domain, ObjType
from sphinx.locale import _, __
from sphinx.roles import XRefRole
-from sphinx.util import ws_re, logging, docname_join
+from sphinx.util import docname_join, logging, ws_re
from sphinx.util.docutils import SphinxDirective
from sphinx.util.nodes import clean_astext, make_id, make_refnode
from sphinx.util.typing import RoleFunction
@@ -35,6 +34,7 @@ from sphinx.util.typing import RoleFunction
if False:
# For type annotation
from typing import Type # for python3.5.1
+
from sphinx.application import Sphinx
from sphinx.builders import Builder
from sphinx.environment import BuildEnvironment
diff --git a/sphinx/environment/__init__.py b/sphinx/environment/__init__.py
index 8ce9fa365..d52e895be 100644
--- a/sphinx/environment/__init__.py
+++ b/sphinx/environment/__init__.py
@@ -14,8 +14,7 @@ import warnings
from collections import defaultdict
from copy import copy
from os import path
-from typing import Any, Callable, Dict, Generator, Iterator, List, Set, Tuple, Union
-from typing import cast
+from typing import Any, Callable, Dict, Generator, Iterator, List, Set, Tuple, Union, cast
from docutils import nodes
from docutils.nodes import Node
@@ -25,13 +24,12 @@ from sphinx.config import Config
from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.domains import Domain
from sphinx.environment.adapters.toctree import TocTree
-from sphinx.errors import SphinxError, BuildEnvironmentError, DocumentError, ExtensionError
+from sphinx.errors import BuildEnvironmentError, DocumentError, ExtensionError, SphinxError
from sphinx.events import EventManager
from sphinx.locale import __
from sphinx.project import Project
from sphinx.transforms import SphinxTransformer
-from sphinx.util import DownloadFiles, FilenameUniqDict
-from sphinx.util import logging
+from sphinx.util import DownloadFiles, FilenameUniqDict, logging
from sphinx.util.docutils import LoggingReporter
from sphinx.util.i18n import CatalogRepository, docname_to_domain
from sphinx.util.nodes import is_translatable
diff --git a/sphinx/environment/adapters/indexentries.py b/sphinx/environment/adapters/indexentries.py
index b13ac97c3..427024a00 100644
--- a/sphinx/environment/adapters/indexentries.py
+++ b/sphinx/environment/adapters/indexentries.py
@@ -11,16 +11,14 @@
import re
import unicodedata
from itertools import groupby
-from typing import Any, Dict, Pattern, List, Tuple
-from typing import cast
+from typing import Any, Dict, List, Pattern, Tuple, cast
from sphinx.builders import Builder
from sphinx.domains.index import IndexDomain
from sphinx.environment import BuildEnvironment
from sphinx.errors import NoUri
from sphinx.locale import _, __
-from sphinx.util import split_into, logging
-
+from sphinx.util import logging, split_into
logger = logging.getLogger(__name__)
diff --git a/sphinx/environment/adapters/toctree.py b/sphinx/environment/adapters/toctree.py
index 9a1ef73d4..c49da5637 100644
--- a/sphinx/environment/adapters/toctree.py
+++ b/sphinx/environment/adapters/toctree.py
@@ -8,15 +8,14 @@
:license: BSD, see LICENSE for details.
"""
-from typing import Any, Iterable, List
-from typing import cast
+from typing import Any, Iterable, List, cast
from docutils import nodes
from docutils.nodes import Element, Node
from sphinx import addnodes
from sphinx.locale import __
-from sphinx.util import url_re, logging
+from sphinx.util import logging, url_re
from sphinx.util.matching import Matcher
from sphinx.util.nodes import clean_astext, process_only_nodes
diff --git a/sphinx/environment/collectors/asset.py b/sphinx/environment/collectors/asset.py
index 3da2a6e4b..7f913ebbc 100644
--- a/sphinx/environment/collectors/asset.py
+++ b/sphinx/environment/collectors/asset.py
@@ -26,7 +26,6 @@ from sphinx.util import logging
from sphinx.util.i18n import get_image_filename_for_language, search_image_for_language
from sphinx.util.images import guess_mimetype
-
logger = logging.getLogger(__name__)
diff --git a/sphinx/environment/collectors/indexentries.py b/sphinx/environment/collectors/indexentries.py
index a4c0450d2..8c60fa985 100644
--- a/sphinx/environment/collectors/indexentries.py
+++ b/sphinx/environment/collectors/indexentries.py
@@ -18,8 +18,7 @@ from sphinx.application import Sphinx
from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.environment import BuildEnvironment
from sphinx.environment.collectors import EnvironmentCollector
-from sphinx.util import split_index_msg, logging
-
+from sphinx.util import logging, split_index_msg
logger = logging.getLogger(__name__)
diff --git a/sphinx/environment/collectors/metadata.py b/sphinx/environment/collectors/metadata.py
index bcff1f273..ef872759b 100644
--- a/sphinx/environment/collectors/metadata.py
+++ b/sphinx/environment/collectors/metadata.py
@@ -8,8 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-from typing import Any, Dict, List, Set
-from typing import cast
+from typing import Any, Dict, List, Set, cast
from docutils import nodes
diff --git a/sphinx/environment/collectors/toctree.py b/sphinx/environment/collectors/toctree.py
index d6cdc8354..14ff4ed74 100644
--- a/sphinx/environment/collectors/toctree.py
+++ b/sphinx/environment/collectors/toctree.py
@@ -8,8 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-from typing import Any, Dict, List, Set, Tuple, TypeVar
-from typing import cast
+from typing import Any, Dict, List, Set, Tuple, TypeVar, cast
from docutils import nodes
from docutils.nodes import Element, Node
@@ -21,7 +20,7 @@ from sphinx.environment.adapters.toctree import TocTree
from sphinx.environment.collectors import EnvironmentCollector
from sphinx.locale import __
from sphinx.transforms import SphinxContentsFilter
-from sphinx.util import url_re, logging
+from sphinx.util import logging, url_re
if False:
# For type annotation
diff --git a/sphinx/events.py b/sphinx/events.py
index 214654706..c8d07eb61 100644
--- a/sphinx/events.py
+++ b/sphinx/events.py
@@ -23,6 +23,7 @@ from sphinx.util import logging
if False:
# For type annotation
from typing import Type # for python3.5.1
+
from sphinx.application import Sphinx
diff --git a/sphinx/ext/autodoc/__init__.py b/sphinx/ext/autodoc/__init__.py
index 3c9d9cead..8414ce348 100644
--- a/sphinx/ext/autodoc/__init__.py
+++ b/sphinx/ext/autodoc/__init__.py
@@ -15,33 +15,31 @@ import re
import warnings
from inspect import Parameter, Signature
from types import ModuleType
-from typing import (
- Any, Callable, Dict, Iterator, List, Optional, Sequence, Set, Tuple, Type, TypeVar, Union
-)
-from typing import get_type_hints
+from typing import (Any, Callable, Dict, Iterator, List, Optional, Sequence, Set, Tuple, Type,
+ TypeVar, Union, get_type_hints)
from docutils.statemachine import StringList
import sphinx
from sphinx.application import Sphinx
-from sphinx.config import Config, ENUM
+from sphinx.config import ENUM, Config
from sphinx.deprecation import RemovedInSphinx40Warning, RemovedInSphinx50Warning
from sphinx.environment import BuildEnvironment
-from sphinx.ext.autodoc.importer import import_object, get_module_members, get_object_members
+from sphinx.ext.autodoc.importer import get_module_members, get_object_members, import_object
from sphinx.ext.autodoc.mock import mock
from sphinx.locale import _, __
from sphinx.pycode import ModuleAnalyzer, PycodeError
-from sphinx.util import inspect
-from sphinx.util import logging
+from sphinx.util import inspect, logging
from sphinx.util.docstrings import extract_metadata, prepare_docstring
-from sphinx.util.inspect import (
- evaluate_signature, getdoc, object_description, safe_getattr, stringify_signature
-)
-from sphinx.util.typing import restify, stringify as stringify_typehint
+from sphinx.util.inspect import (evaluate_signature, getdoc, object_description, safe_getattr,
+ stringify_signature)
+from sphinx.util.typing import restify
+from sphinx.util.typing import stringify as stringify_typehint
if False:
# For type annotation
from typing import Type # NOQA # for python3.5.1
+
from sphinx.ext.autodoc.directive import DocumenterBridge
diff --git a/sphinx/ext/autodoc/importer.py b/sphinx/ext/autodoc/importer.py
index 52b07639a..29c56c54b 100644
--- a/sphinx/ext/autodoc/importer.py
+++ b/sphinx/ext/autodoc/importer.py
@@ -240,9 +240,8 @@ def get_object_members(subject: Any, objpath: List[str], attrgetter: Callable,
return members
-from sphinx.ext.autodoc.mock import ( # NOQA
- _MockModule, _MockObject, MockFinder, MockLoader, mock
-)
+from sphinx.ext.autodoc.mock import (MockFinder, MockLoader, _MockModule, _MockObject, # NOQA
+ mock)
deprecated_alias('sphinx.ext.autodoc.importer',
{
diff --git a/sphinx/ext/autodoc/type_comment.py b/sphinx/ext/autodoc/type_comment.py
index 7f11e3d12..debbc1442 100644
--- a/sphinx/ext/autodoc/type_comment.py
+++ b/sphinx/ext/autodoc/type_comment.py
@@ -9,8 +9,7 @@
"""
from inspect import Parameter, Signature, getsource
-from typing import Any, Dict, List
-from typing import cast
+from typing import Any, Dict, List, cast
import sphinx
from sphinx.application import Sphinx
@@ -18,8 +17,7 @@ from sphinx.locale import __
from sphinx.pycode.ast import ast
from sphinx.pycode.ast import parse as ast_parse
from sphinx.pycode.ast import unparse as ast_unparse
-from sphinx.util import inspect
-from sphinx.util import logging
+from sphinx.util import inspect, logging
logger = logging.getLogger(__name__)
diff --git a/sphinx/ext/autodoc/typehints.py b/sphinx/ext/autodoc/typehints.py
index 4f81a6eae..70cbc3ba1 100644
--- a/sphinx/ext/autodoc/typehints.py
+++ b/sphinx/ext/autodoc/typehints.py
@@ -10,8 +10,7 @@
import re
from collections import OrderedDict
-from typing import Any, Dict, Iterable
-from typing import cast
+from typing import Any, Dict, Iterable, cast
from docutils import nodes
from docutils.nodes import Element
diff --git a/sphinx/ext/autosectionlabel.py b/sphinx/ext/autosectionlabel.py
index 4bb401791..73a460117 100644
--- a/sphinx/ext/autosectionlabel.py
+++ b/sphinx/ext/autosectionlabel.py
@@ -8,8 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-from typing import Any, Dict
-from typing import cast
+from typing import Any, Dict, cast
from docutils import nodes
from docutils.nodes import Node
@@ -20,7 +19,6 @@ from sphinx.locale import __
from sphinx.util import logging
from sphinx.util.nodes import clean_astext
-
logger = logging.getLogger(__name__)
diff --git a/sphinx/ext/autosummary/__init__.py b/sphinx/ext/autosummary/__init__.py
index 0fb7c9fc5..d107750be 100644
--- a/sphinx/ext/autosummary/__init__.py
+++ b/sphinx/ext/autosummary/__init__.py
@@ -60,8 +60,7 @@ import sys
import warnings
from os import path
from types import ModuleType
-from typing import Any, Dict, List, Tuple
-from typing import cast
+from typing import Any, Dict, List, Tuple, cast
from docutils import nodes
from docutils.nodes import Element, Node, system_message
@@ -76,16 +75,15 @@ from sphinx.config import Config
from sphinx.deprecation import RemovedInSphinx40Warning, RemovedInSphinx50Warning
from sphinx.environment import BuildEnvironment
from sphinx.environment.adapters.toctree import TocTree
-from sphinx.ext.autodoc import Documenter, INSTANCEATTR
+from sphinx.ext.autodoc import INSTANCEATTR, Documenter
from sphinx.ext.autodoc.directive import DocumenterBridge, Options
from sphinx.ext.autodoc.importer import import_module
from sphinx.ext.autodoc.mock import mock
from sphinx.locale import __
from sphinx.pycode import ModuleAnalyzer, PycodeError
-from sphinx.util import rst, logging
-from sphinx.util.docutils import (
- NullReporter, SphinxDirective, SphinxRole, new_document, switch_source_input
-)
+from sphinx.util import logging, rst
+from sphinx.util.docutils import (NullReporter, SphinxDirective, SphinxRole, new_document,
+ switch_source_input)
from sphinx.util.matching import Matcher
from sphinx.writers.html import HTMLTranslator
diff --git a/sphinx/ext/autosummary/generate.py b/sphinx/ext/autosummary/generate.py
index 7580285aa..7e187e36a 100644
--- a/sphinx/ext/autosummary/generate.py
+++ b/sphinx/ext/autosummary/generate.py
@@ -34,20 +34,17 @@ from jinja2 import TemplateNotFound
from jinja2.sandbox import SandboxedEnvironment
import sphinx.locale
-from sphinx import __display_version__
-from sphinx import package_dir
+from sphinx import __display_version__, package_dir
from sphinx.application import Sphinx
from sphinx.builders import Builder
from sphinx.config import Config
from sphinx.deprecation import RemovedInSphinx40Warning, RemovedInSphinx50Warning
from sphinx.ext.autodoc import Documenter
-from sphinx.ext.autosummary import import_by_name, import_ivar_by_name, get_documenter
+from sphinx.ext.autosummary import get_documenter, import_by_name, import_ivar_by_name
from sphinx.locale import __
from sphinx.pycode import ModuleAnalyzer, PycodeError
from sphinx.registry import SphinxComponentRegistry
-from sphinx.util import logging
-from sphinx.util import rst
-from sphinx.util import split_full_qualified_name
+from sphinx.util import logging, rst, split_full_qualified_name
from sphinx.util.inspect import safe_getattr
from sphinx.util.osutil import ensuredir
from sphinx.util.template import SphinxTemplateLoader
@@ -88,13 +85,13 @@ AutosummaryEntry = NamedTuple('AutosummaryEntry', [('name', str),
def setup_documenters(app: Any) -> None:
- from sphinx.ext.autodoc import (
- ModuleDocumenter, ClassDocumenter, ExceptionDocumenter, DataDocumenter,
- FunctionDocumenter, MethodDocumenter, AttributeDocumenter,
- InstanceAttributeDocumenter, DecoratorDocumenter, PropertyDocumenter,
- SlotsAttributeDocumenter, DataDeclarationDocumenter, GenericAliasDocumenter,
- SingledispatchFunctionDocumenter,
- )
+ from sphinx.ext.autodoc import (AttributeDocumenter, ClassDocumenter,
+ DataDeclarationDocumenter, DataDocumenter,
+ DecoratorDocumenter, ExceptionDocumenter,
+ FunctionDocumenter, GenericAliasDocumenter,
+ InstanceAttributeDocumenter, MethodDocumenter,
+ ModuleDocumenter, PropertyDocumenter,
+ SingledispatchFunctionDocumenter, SlotsAttributeDocumenter)
documenters = [
ModuleDocumenter, ClassDocumenter, ExceptionDocumenter, DataDocumenter,
FunctionDocumenter, MethodDocumenter, AttributeDocumenter,
diff --git a/sphinx/ext/coverage.py b/sphinx/ext/coverage.py
index 536b3b9d2..b971b5f25 100644
--- a/sphinx/ext/coverage.py
+++ b/sphinx/ext/coverage.py
@@ -15,7 +15,7 @@ import pickle
import re
from importlib import import_module
from os import path
-from typing import Any, Dict, IO, List, Pattern, Set, Tuple
+from typing import IO, Any, Dict, List, Pattern, Set, Tuple
import sphinx
from sphinx.application import Sphinx
diff --git a/sphinx/ext/doctest.py b/sphinx/ext/doctest.py
index 7cd89ad32..aeeb7f5ec 100644
--- a/sphinx/ext/doctest.py
+++ b/sphinx/ext/doctest.py
@@ -21,7 +21,7 @@ from typing import Any, Callable, Dict, Iterable, List, Sequence, Set, Tuple
from docutils import nodes
from docutils.nodes import Element, Node, TextElement
from docutils.parsers.rst import directives
-from packaging.specifiers import SpecifierSet, InvalidSpecifier
+from packaging.specifiers import InvalidSpecifier, SpecifierSet
from packaging.version import Version
import sphinx
@@ -36,6 +36,7 @@ from sphinx.util.osutil import relpath
if False:
# For type annotation
from typing import Type # for python3.5.1
+
from sphinx.application import Sphinx
diff --git a/sphinx/ext/duration.py b/sphinx/ext/duration.py
index 669baf2f1..7073f7769 100644
--- a/sphinx/ext/duration.py
+++ b/sphinx/ext/duration.py
@@ -11,8 +11,7 @@
from datetime import datetime, timedelta
from itertools import islice
from operator import itemgetter
-from typing import Any, Dict, List
-from typing import cast
+from typing import Any, Dict, List, cast
from docutils import nodes
diff --git a/sphinx/ext/graphviz.py b/sphinx/ext/graphviz.py
index d97a7505e..62375f95b 100644
--- a/sphinx/ext/graphviz.py
+++ b/sphinx/ext/graphviz.py
@@ -13,7 +13,7 @@ import posixpath
import re
import subprocess
from os import path
-from subprocess import CalledProcessError, PIPE
+from subprocess import PIPE, CalledProcessError
from typing import Any, Dict, List, Tuple
from docutils import nodes
diff --git a/sphinx/ext/imgconverter.py b/sphinx/ext/imgconverter.py
index dd13a9879..a82b35a5e 100644
--- a/sphinx/ext/imgconverter.py
+++ b/sphinx/ext/imgconverter.py
@@ -10,7 +10,7 @@
import subprocess
import sys
-from subprocess import CalledProcessError, PIPE
+from subprocess import PIPE, CalledProcessError
from typing import Any, Dict
from sphinx.application import Sphinx
@@ -19,7 +19,6 @@ from sphinx.locale import __
from sphinx.transforms.post_transforms.images import ImageConverter
from sphinx.util import logging
-
logger = logging.getLogger(__name__)
diff --git a/sphinx/ext/imgmath.py b/sphinx/ext/imgmath.py
index d11c5d7c5..9e124749e 100644
--- a/sphinx/ext/imgmath.py
+++ b/sphinx/ext/imgmath.py
@@ -15,7 +15,7 @@ import subprocess
import sys
import tempfile
from os import path
-from subprocess import CalledProcessError, PIPE
+from subprocess import PIPE, CalledProcessError
from typing import Any, Dict, List, Tuple
from docutils import nodes
diff --git a/sphinx/ext/inheritance_diagram.py b/sphinx/ext/inheritance_diagram.py
index 71a123b15..9e38041df 100644
--- a/sphinx/ext/inheritance_diagram.py
+++ b/sphinx/ext/inheritance_diagram.py
@@ -39,8 +39,7 @@ import builtins
import inspect
import re
from importlib import import_module
-from typing import Any, Dict, Iterable, List, Tuple
-from typing import cast
+from typing import Any, Dict, Iterable, List, Tuple, cast
from docutils import nodes
from docutils.nodes import Node
@@ -50,17 +49,14 @@ import sphinx
from sphinx import addnodes
from sphinx.application import Sphinx
from sphinx.environment import BuildEnvironment
-from sphinx.ext.graphviz import (
- graphviz, figure_wrapper,
- render_dot_html, render_dot_latex, render_dot_texinfo
-)
+from sphinx.ext.graphviz import (figure_wrapper, graphviz, render_dot_html, render_dot_latex,
+ render_dot_texinfo)
from sphinx.util import md5
from sphinx.util.docutils import SphinxDirective
from sphinx.writers.html import HTMLTranslator
from sphinx.writers.latex import LaTeXTranslator
from sphinx.writers.texinfo import TexinfoTranslator
-
module_sig_re = re.compile(r'''^(?:([\w.]*)\.)? # module names
(\w+) \s* $ # class/final module name
''', re.VERBOSE)
diff --git a/sphinx/ext/intersphinx.py b/sphinx/ext/intersphinx.py
index a6c4ef694..52ba11782 100644
--- a/sphinx/ext/intersphinx.py
+++ b/sphinx/ext/intersphinx.py
@@ -29,7 +29,7 @@ import posixpath
import sys
import time
from os import path
-from typing import Any, Dict, IO, List, Tuple
+from typing import IO, Any, Dict, List, Tuple
from urllib.parse import urlsplit, urlunsplit
from docutils import nodes
@@ -42,11 +42,10 @@ from sphinx.builders.html import INVENTORY_FILENAME
from sphinx.config import Config
from sphinx.environment import BuildEnvironment
from sphinx.locale import _, __
-from sphinx.util import requests, logging
+from sphinx.util import logging, requests
from sphinx.util.inventory import InventoryFile
from sphinx.util.typing import Inventory
-
logger = logging.getLogger(__name__)
diff --git a/sphinx/ext/jsmath.py b/sphinx/ext/jsmath.py
index 75369a5ca..1d4eb4826 100644
--- a/sphinx/ext/jsmath.py
+++ b/sphinx/ext/jsmath.py
@@ -12,11 +12,8 @@
import warnings
from typing import Any, Dict
-from sphinxcontrib.jsmath import ( # NOQA
- html_visit_math,
- html_visit_displaymath,
- install_jsmath,
-)
+from sphinxcontrib.jsmath import (html_visit_displaymath, html_visit_math, # NOQA
+ install_jsmath)
import sphinx
from sphinx.application import Sphinx
diff --git a/sphinx/ext/mathjax.py b/sphinx/ext/mathjax.py
index cc3cd4ba3..6317a1315 100644
--- a/sphinx/ext/mathjax.py
+++ b/sphinx/ext/mathjax.py
@@ -11,8 +11,7 @@
"""
import json
-from typing import Any, Dict
-from typing import cast
+from typing import Any, Dict, cast
from docutils import nodes
diff --git a/sphinx/ext/napoleon/__init__.py b/sphinx/ext/napoleon/__init__.py
index e62ef7152..e2ff5439d 100644
--- a/sphinx/ext/napoleon/__init__.py
+++ b/sphinx/ext/napoleon/__init__.py
@@ -443,8 +443,8 @@ def _skip_member(app: Sphinx, what: str, name: str, obj: Any,
if cls_path:
try:
if '.' in cls_path:
- import importlib
import functools
+ import importlib
mod = importlib.import_module(obj.__module__)
mod_path = cls_path.split('.')
diff --git a/sphinx/ext/todo.py b/sphinx/ext/todo.py
index bfb46903f..273cf3f73 100644
--- a/sphinx/ext/todo.py
+++ b/sphinx/ext/todo.py
@@ -12,8 +12,7 @@
"""
import warnings
-from typing import Any, Dict, Iterable, List, Tuple
-from typing import cast
+from typing import Any, Dict, Iterable, List, Tuple, cast
from docutils import nodes
from docutils.nodes import Element, Node
diff --git a/sphinx/ext/viewcode.py b/sphinx/ext/viewcode.py
index dc24a1993..812b3d6a2 100644
--- a/sphinx/ext/viewcode.py
+++ b/sphinx/ext/viewcode.py
@@ -23,7 +23,6 @@ from sphinx.pycode import ModuleAnalyzer
from sphinx.util import get_full_modname, logging, status_iterator
from sphinx.util.nodes import make_refnode
-
logger = logging.getLogger(__name__)
diff --git a/sphinx/highlighting.py b/sphinx/highlighting.py
index 4dc9ce543..a341212cf 100644
--- a/sphinx/highlighting.py
+++ b/sphinx/highlighting.py
@@ -17,18 +17,16 @@ from pygments.filters import ErrorToken
from pygments.formatter import Formatter
from pygments.formatters import HtmlFormatter, LatexFormatter
from pygments.lexer import Lexer
-from pygments.lexers import get_lexer_by_name, guess_lexer
-from pygments.lexers import PythonLexer, Python3Lexer, PythonConsoleLexer, \
- CLexer, TextLexer, RstLexer
+from pygments.lexers import (CLexer, Python3Lexer, PythonConsoleLexer, PythonLexer, RstLexer,
+ TextLexer, get_lexer_by_name, guess_lexer)
from pygments.style import Style
from pygments.styles import get_style_by_name
from pygments.util import ClassNotFound
from sphinx.locale import __
-from sphinx.pygments_styles import SphinxStyle, NoneStyle
+from sphinx.pygments_styles import NoneStyle, SphinxStyle
from sphinx.util import logging, texescape
-
logger = logging.getLogger(__name__)
lexers = {} # type: Dict[str, Lexer]
diff --git a/sphinx/io.py b/sphinx/io.py
index fd30b86a9..e4c2e00b0 100644
--- a/sphinx/io.py
+++ b/sphinx/io.py
@@ -26,21 +26,19 @@ from sphinx import addnodes
from sphinx.deprecation import RemovedInSphinx40Warning, deprecated_alias
from sphinx.environment import BuildEnvironment
from sphinx.errors import FiletypeNotFoundError
-from sphinx.transforms import (
- AutoIndexUpgrader, DoctreeReadEvent, FigureAligner, SphinxTransformer
-)
-from sphinx.transforms.i18n import (
- PreserveTranslatableMessages, Locale, RemoveTranslatableInline,
-)
+from sphinx.transforms import (AutoIndexUpgrader, DoctreeReadEvent, FigureAligner,
+ SphinxTransformer)
+from sphinx.transforms.i18n import (Locale, PreserveTranslatableMessages,
+ RemoveTranslatableInline)
from sphinx.transforms.references import SphinxDomains
-from sphinx.util import logging, get_filetype
-from sphinx.util import UnicodeDecodeErrorHandler
+from sphinx.util import UnicodeDecodeErrorHandler, get_filetype, logging
from sphinx.util.docutils import LoggingReporter
from sphinx.versioning import UIDTransform
if False:
# For type annotation
from typing import Type # for python3.5.1
+
from sphinx.application import Sphinx
diff --git a/sphinx/jinja2glue.py b/sphinx/jinja2glue.py
index 52d0257e5..0a26fc982 100644
--- a/sphinx/jinja2glue.py
+++ b/sphinx/jinja2glue.py
@@ -12,7 +12,7 @@ from os import path
from pprint import pformat
from typing import Any, Callable, Dict, Iterator, List, Tuple, Union
-from jinja2 import FileSystemLoader, BaseLoader, TemplateNotFound, contextfunction
+from jinja2 import BaseLoader, FileSystemLoader, TemplateNotFound, contextfunction
from jinja2.environment import Environment
from jinja2.sandbox import SandboxedEnvironment
from jinja2.utils import open_if_exists
diff --git a/sphinx/parsers.py b/sphinx/parsers.py
index 6a07d1801..19f726b0d 100644
--- a/sphinx/parsers.py
+++ b/sphinx/parsers.py
@@ -23,8 +23,10 @@ from sphinx.util.rst import append_epilog, prepend_prolog
if False:
# For type annotation
- from docutils.transforms import Transform # NOQA
from typing import Type # NOQA # for python3.5.1
+
+ from docutils.transforms import Transform # NOQA
+
from sphinx.application import Sphinx
diff --git a/sphinx/project.py b/sphinx/project.py
index f4afdadad..e5f05c9d3 100644
--- a/sphinx/project.py
+++ b/sphinx/project.py
@@ -12,9 +12,7 @@ import os
from glob import glob
from sphinx.locale import __
-from sphinx.util import get_matching_files
-from sphinx.util import logging
-from sphinx.util import path_stabilize
+from sphinx.util import get_matching_files, logging, path_stabilize
from sphinx.util.matching import compile_matchers
from sphinx.util.osutil import SEP, relpath
diff --git a/sphinx/pycode/__init__.py b/sphinx/pycode/__init__.py
index 4fef4a394..471ee675a 100644
--- a/sphinx/pycode/__init__.py
+++ b/sphinx/pycode/__init__.py
@@ -16,7 +16,7 @@ from importlib import import_module
from inspect import Signature
from io import StringIO
from os import path
-from typing import Any, Dict, IO, List, Tuple, Optional
+from typing import IO, Any, Dict, List, Optional, Tuple
from zipfile import ZipFile
from sphinx.deprecation import RemovedInSphinx40Warning
diff --git a/sphinx/pycode/ast.py b/sphinx/pycode/ast.py
index 17d78f4eb..e8b0832ea 100644
--- a/sphinx/pycode/ast.py
+++ b/sphinx/pycode/ast.py
@@ -9,7 +9,7 @@
"""
import sys
-from typing import Dict, List, Type, Optional
+from typing import Dict, List, Optional, Type
if sys.version_info > (3, 8):
import ast
diff --git a/sphinx/pycode/parser.py b/sphinx/pycode/parser.py
index be9bfc96d..d24012111 100644
--- a/sphinx/pycode/parser.py
+++ b/sphinx/pycode/parser.py
@@ -14,14 +14,13 @@ import sys
import tokenize
from collections import OrderedDict
from inspect import Signature
-from token import NAME, NEWLINE, INDENT, DEDENT, NUMBER, OP, STRING
+from token import DEDENT, INDENT, NAME, NEWLINE, NUMBER, OP, STRING
from tokenize import COMMENT, NL
from typing import Any, Dict, List, Optional, Tuple
from sphinx.pycode.ast import ast # for py37 or older
from sphinx.pycode.ast import parse, unparse
-
comment_re = re.compile('^\\s*#: ?(.*)\r?\n?$')
indent_re = re.compile('^\\s*$')
emptyline_re = re.compile('^\\s*(#.*)?$')
diff --git a/sphinx/pygments_styles.py b/sphinx/pygments_styles.py
index c5b07e75f..248ae536e 100644
--- a/sphinx/pygments_styles.py
+++ b/sphinx/pygments_styles.py
@@ -10,8 +10,8 @@
from pygments.style import Style
from pygments.styles.friendly import FriendlyStyle
-from pygments.token import Generic, Comment, Number, Whitespace, Keyword, \
- Operator, Name, String, Error
+from pygments.token import (Comment, Error, Generic, Keyword, Name, Number, Operator, String,
+ Whitespace)
class NoneStyle(Style):
diff --git a/sphinx/registry.py b/sphinx/registry.py
index d0c00b85f..0e3b95436 100644
--- a/sphinx/registry.py
+++ b/sphinx/registry.py
@@ -38,6 +38,7 @@ from sphinx.util.typing import RoleFunction, TitleGetter
if False:
# For type annotation
from typing import Type # for python3.5.1
+
from sphinx.application import Sphinx
from sphinx.ext.autodoc import Documenter
diff --git a/sphinx/roles.py b/sphinx/roles.py
index 2ff66d07b..2d3042f8f 100644
--- a/sphinx/roles.py
+++ b/sphinx/roles.py
@@ -21,14 +21,13 @@ from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.locale import _
from sphinx.util import ws_re
from sphinx.util.docutils import ReferenceRole, SphinxRole
-from sphinx.util.nodes import (
- split_explicit_title, process_index_entry, set_role_source_info
-)
+from sphinx.util.nodes import process_index_entry, set_role_source_info, split_explicit_title
from sphinx.util.typing import RoleFunction
if False:
# For type annotation
from typing import Type # for python3.5.1
+
from sphinx.application import Sphinx
from sphinx.environment import BuildEnvironment
diff --git a/sphinx/search/__init__.py b/sphinx/search/__init__.py
index 048b333d5..2b7f16099 100644
--- a/sphinx/search/__init__.py
+++ b/sphinx/search/__init__.py
@@ -13,13 +13,12 @@ import re
import warnings
from importlib import import_module
from os import path
-from typing import Any, Dict, IO, Iterable, List, Tuple, Set
+from typing import IO, Any, Dict, Iterable, List, Set, Tuple
from docutils import nodes
from docutils.nodes import Node
-from sphinx import addnodes
-from sphinx import package_dir
+from sphinx import addnodes, package_dir
from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.environment import BuildEnvironment
from sphinx.search.jssplitter import splitter_code
diff --git a/sphinx/search/da.py b/sphinx/search/da.py
index b04679e10..57af4a7be 100644
--- a/sphinx/search/da.py
+++ b/sphinx/search/da.py
@@ -14,7 +14,6 @@ import snowballstemmer
from sphinx.search import SearchLanguage, parse_stop_word
-
danish_stopwords = parse_stop_word('''
| source: http://snowball.tartarus.org/algorithms/danish/stop.txt
og | and
diff --git a/sphinx/search/de.py b/sphinx/search/de.py
index ae1827bf9..6c84d463a 100644
--- a/sphinx/search/de.py
+++ b/sphinx/search/de.py
@@ -14,7 +14,6 @@ import snowballstemmer
from sphinx.search import SearchLanguage, parse_stop_word
-
german_stopwords = parse_stop_word('''
|source: http://snowball.tartarus.org/algorithms/german/stop.txt
aber | but
diff --git a/sphinx/search/es.py b/sphinx/search/es.py
index 1009961c8..1e8a21085 100644
--- a/sphinx/search/es.py
+++ b/sphinx/search/es.py
@@ -14,7 +14,6 @@ import snowballstemmer
from sphinx.search import SearchLanguage, parse_stop_word
-
spanish_stopwords = parse_stop_word('''
|source: http://snowball.tartarus.org/algorithms/spanish/stop.txt
de | from, of
diff --git a/sphinx/search/fi.py b/sphinx/search/fi.py
index 67bee89fe..e98ef9805 100644
--- a/sphinx/search/fi.py
+++ b/sphinx/search/fi.py
@@ -14,7 +14,6 @@ import snowballstemmer
from sphinx.search import SearchLanguage, parse_stop_word
-
finnish_stopwords = parse_stop_word('''
| source: http://snowball.tartarus.org/algorithms/finnish/stop.txt
| forms of BE
diff --git a/sphinx/search/fr.py b/sphinx/search/fr.py
index b15271888..7cc35e2c8 100644
--- a/sphinx/search/fr.py
+++ b/sphinx/search/fr.py
@@ -14,7 +14,6 @@ import snowballstemmer
from sphinx.search import SearchLanguage, parse_stop_word
-
french_stopwords = parse_stop_word('''
| source: http://snowball.tartarus.org/algorithms/french/stop.txt
au | a + le
diff --git a/sphinx/search/hu.py b/sphinx/search/hu.py
index 085773383..01ade35b7 100644
--- a/sphinx/search/hu.py
+++ b/sphinx/search/hu.py
@@ -14,7 +14,6 @@ import snowballstemmer
from sphinx.search import SearchLanguage, parse_stop_word
-
hungarian_stopwords = parse_stop_word('''
| source: http://snowball.tartarus.org/algorithms/hungarian/stop.txt
| prepared by Anna Tordai
diff --git a/sphinx/search/it.py b/sphinx/search/it.py
index e76cd99dd..fa81260fb 100644
--- a/sphinx/search/it.py
+++ b/sphinx/search/it.py
@@ -14,7 +14,6 @@ import snowballstemmer
from sphinx.search import SearchLanguage, parse_stop_word
-
italian_stopwords = parse_stop_word('''
| source: http://snowball.tartarus.org/algorithms/italian/stop.txt
ad | a (to) before vowel
diff --git a/sphinx/search/ja.py b/sphinx/search/ja.py
index c1e72b8f8..b248eb281 100644
--- a/sphinx/search/ja.py
+++ b/sphinx/search/ja.py
@@ -33,7 +33,7 @@ try:
except ImportError:
janome_module = False
-from sphinx.errors import SphinxError, ExtensionError
+from sphinx.errors import ExtensionError, SphinxError
from sphinx.search import SearchLanguage
from sphinx.util import import_object
diff --git a/sphinx/search/nl.py b/sphinx/search/nl.py
index 0e2e2ef23..f30ee690a 100644
--- a/sphinx/search/nl.py
+++ b/sphinx/search/nl.py
@@ -14,7 +14,6 @@ import snowballstemmer
from sphinx.search import SearchLanguage, parse_stop_word
-
dutch_stopwords = parse_stop_word('''
| source: http://snowball.tartarus.org/algorithms/dutch/stop.txt
de | the
diff --git a/sphinx/search/no.py b/sphinx/search/no.py
index 68c1ac207..324264bde 100644
--- a/sphinx/search/no.py
+++ b/sphinx/search/no.py
@@ -14,7 +14,6 @@ import snowballstemmer
from sphinx.search import SearchLanguage, parse_stop_word
-
norwegian_stopwords = parse_stop_word('''
| source: http://snowball.tartarus.org/algorithms/norwegian/stop.txt
og | and
diff --git a/sphinx/search/pt.py b/sphinx/search/pt.py
index 2538511f7..7783f65c0 100644
--- a/sphinx/search/pt.py
+++ b/sphinx/search/pt.py
@@ -14,7 +14,6 @@ import snowballstemmer
from sphinx.search import SearchLanguage, parse_stop_word
-
portuguese_stopwords = parse_stop_word('''
| source: http://snowball.tartarus.org/algorithms/portuguese/stop.txt
de | of, from
diff --git a/sphinx/search/ro.py b/sphinx/search/ro.py
index cfae772c9..ddb008b64 100644
--- a/sphinx/search/ro.py
+++ b/sphinx/search/ro.py
@@ -14,7 +14,6 @@ import snowballstemmer
from sphinx.search import SearchLanguage
-
js_stemmer = """
var JSX={};(function(j){function l(b,e){var a=function(){};a.prototype=e.prototype;var c=new a;for(var d in b){b[d].prototype=c}}function L(c,b){for(var a in b.prototype)if(b.prototype.hasOwnProperty(a))c.prototype[a]=b.prototype[a]}function h(a,b,d){function c(a,b,c){delete a[b];a[b]=c;return c}Object.defineProperty(a,b,{get:function(){return c(a,b,d())},set:function(d){c(a,b,d)},enumerable:true,configurable:true})}function M(a,b,c){return a[b]=a[b]/c|0}var E=parseInt;var C=parseFloat;function N(a){return a!==a}var A=isFinite;var z=encodeURIComponent;var y=decodeURIComponent;var x=encodeURI;var w=decodeURI;var u=Object.prototype.toString;var D=Object.prototype.hasOwnProperty;function k(){}j.require=function(b){var a=r[b];return a!==undefined?a:null};j.profilerIsRunning=function(){return k.getResults!=null};j.getProfileResults=function(){return(k.getResults||function(){return{}})()};j.postProfileResults=function(a,b){if(k.postResults==null)throw new Error('profiler has not been turned on');return k.postResults(a,b)};j.resetProfileResults=function(){if(k.resetResults==null)throw new Error('profiler has not been turned on');return k.resetResults()};j.DEBUG=false;function t(){};l([t],Error);function a(a,b,c){this.F=a.length;this.K=a;this.L=b;this.I=c;this.H=null;this.P=null};l([a],Object);function n(){};l([n],Object);function g(){var a;var b;var c;this.G={};a=this.E='';b=this._=0;c=this.A=a.length;this.D=0;this.B=b;this.C=c};l([g],n);function v(a,b){a.E=b.E;a._=b._;a.A=b.A;a.D=b.D;a.B=b.B;a.C=b.C};function d(b,d,c,e){var a;if(b._>=b.A){return false}a=b.E.charCodeAt(b._);if(a>e||a<c){return false}a-=c;if((d[a>>>3]&1<<(a&7))===0){return false}b._++;return true};function e(a,d,c,e){var b;if(a._>=a.A){return false}b=a.E.charCodeAt(a._);if(b>e||b<c){a._++;return true}b-=c;if((d[b>>>3]&1<<(b&7))===0){a._++;return true}return false};function p(a,d,c,e){var b;if(a._<=a.D){return false}b=a.E.charCodeAt(a._-1);if(b>e||b<c){a._--;return true}b-=c;if((d[b>>>3]&1<<(b&7))===0){a._--;return true}return false};function m(a,b,d){var c;if(a.A-a._<b){return false}if(a.E.slice(c=a._,c+b)!==d){return false}a._+=b;return true};function i(a,b,d){var c;if(a._-a.D<b){return false}if(a.E.slice((c=a._)-b,c)!==d){return false}a._-=b;return true};function q(f,m,p){var b;var d;var e;var n;var g;var k;var l;var i;var h;var c;var a;var j;var o;b=0;d=p;e=f._;n=f.A;g=0;k=0;l=false;while(true){i=b+(d-b>>>1);h=0;c=g<k?g:k;a=m[i];for(j=c;j<a.F;j++){if(e+c===n){h=-1;break}h=f.E.charCodeAt(e+c)-a.K.charCodeAt(j);if(h!==0){break}c++}if(h<0){d=i;k=c}else{b=i;g=c}if(d-b<=1){if(b>0){break}if(d===b){break}if(l){break}l=true}}while(true){a=m[b];if(g>=a.F){f._=e+a.F|0;if(a.H==null){return a.I}o=a.H(a.P);f._=e+a.F|0;if(o){return a.I}}b=a.L;if(b<0){return 0}}return-1};function f(d,m,p){var b;var g;var e;var n;var f;var k;var l;var i;var h;var c;var a;var j;var o;b=0;g=p;e=d._;n=d.D;f=0;k=0;l=false;while(true){i=b+(g-b>>1);h=0;c=f<k?f:k;a=m[i];for(j=a.F-1-c;j>=0;j--){if(e-c===n){h=-1;break}h=d.E.charCodeAt(e-1-c)-a.K.charCodeAt(j);if(h!==0){break}c++}if(h<0){g=i;k=c}else{b=i;f=c}if(g-b<=1){if(b>0){break}if(g===b){break}if(l){break}l=true}}while(true){a=m[b];if(f>=a.F){d._=e-a.F|0;if(a.H==null){return a.I}o=a.H(d);d._=e-a.F|0;if(o){return a.I}}b=a.L;if(b<0){return 0}}return-1};function s(a,b,d,e){var c;c=e.length-(d-b);a.E=a.E.slice(0,b)+e+a.E.slice(d);a.A+=c|0;if(a._>=d){a._+=c|0}else if(a._>b){a._=b}return c|0};function c(a,f){var b;var c;var d;var e;b=false;if((c=a.B)<0||c>(d=a.C)||d>(e=a.A)||e>a.E.length?false:true){s(a,a.B,a.C,f);b=true}return b};g.prototype.J=function(){return false};g.prototype.b=function(b){var a;var c;var d;var e;a=this.G['.'+b];if(a==null){c=this.E=b;d=this._=0;e=this.A=c.length;this.D=0;this.B=d;this.C=e;this.J();a=this.E;this.G['.'+b]=a}return a};g.prototype.stemWord=g.prototype.b;g.prototype.c=function(e){var d;var b;var c;var a;var f;var g;var h;d=[];for(b=0;b<e.length;b++){c=e[b];a=this.G['.'+c];if(a==null){f=this.E=c;g=this._=0;h=this.A=f.length;this.D=0;this.B=g;this.C=h;this.J();a=this.E;this.G['.'+c]=a}d.push(a)}return d};g.prototype.stemWords=g.prototype.c;function b(){g.call(this);this.B_standard_suffix_removed=false;this.I_p2=0;this.I_p1=0;this.I_pV=0};l([b],g);b.prototype.M=function(a){this.B_standard_suffix_removed=a.B_standard_suffix_removed;this.I_p2=a.I_p2;this.I_p1=a.I_p1;this.I_pV=a.I_pV;v(this,a)};b.prototype.copy_from=b.prototype.M;b.prototype.W=function(){var i;var a;var j;var e;var f;var g;var h;var k;b:while(true){i=this._;e=true;d:while(e===true){e=false;e:while(true){a=this._;f=true;a:while(f===true){f=false;if(!d(this,b.g_v,97,259)){break a}this.B=this._;g=true;f:while(g===true){g=false;j=this._;h=true;c:while(h===true){h=false;if(!m(this,1,'u')){break c}this.C=this._;if(!d(this,b.g_v,97,259)){break c}if(!c(this,'U')){return false}break f}this._=j;if(!m(this,1,'i')){break a}this.C=this._;if(!d(this,b.g_v,97,259)){break a}if(!c(this,'I')){return false}}this._=a;break e}k=this._=a;if(k>=this.A){break d}this._++}continue b}this._=i;break b}return true};b.prototype.r_prelude=b.prototype.W;function G(a){var j;var e;var k;var f;var g;var h;var i;var l;b:while(true){j=a._;f=true;d:while(f===true){f=false;e:while(true){e=a._;g=true;a:while(g===true){g=false;if(!d(a,b.g_v,97,259)){break a}a.B=a._;h=true;f:while(h===true){h=false;k=a._;i=true;c:while(i===true){i=false;if(!m(a,1,'u')){break c}a.C=a._;if(!d(a,b.g_v,97,259)){break c}if(!c(a,'U')){return false}break f}a._=k;if(!m(a,1,'i')){break a}a.C=a._;if(!d(a,b.g_v,97,259)){break a}if(!c(a,'I')){return false}}a._=e;break e}l=a._=e;if(l>=a.A){break d}a._++}continue b}a._=j;break b}return true};b.prototype.U=function(){var u;var w;var x;var y;var t;var l;var f;var g;var h;var i;var c;var j;var k;var a;var m;var n;var o;var p;var q;var r;var s;var v;this.I_pV=s=this.A;this.I_p1=s;this.I_p2=s;u=this._;l=true;a:while(l===true){l=false;f=true;g:while(f===true){f=false;w=this._;g=true;b:while(g===true){g=false;if(!d(this,b.g_v,97,259)){break b}h=true;f:while(h===true){h=false;x=this._;i=true;c:while(i===true){i=false;if(!e(this,b.g_v,97,259)){break c}d:while(true){c=true;e:while(c===true){c=false;if(!d(this,b.g_v,97,259)){break e}break d}if(this._>=this.A){break c}this._++}break f}this._=x;if(!d(this,b.g_v,97,259)){break b}c:while(true){j=true;d:while(j===true){j=false;if(!e(this,b.g_v,97,259)){break d}break c}if(this._>=this.A){break b}this._++}}break g}this._=w;if(!e(this,b.g_v,97,259)){break a}k=true;c:while(k===true){k=false;y=this._;a=true;b:while(a===true){a=false;if(!e(this,b.g_v,97,259)){break b}e:while(true){m=true;d:while(m===true){m=false;if(!d(this,b.g_v,97,259)){break d}break e}if(this._>=this.A){break b}this._++}break c}this._=y;if(!d(this,b.g_v,97,259)){break a}if(this._>=this.A){break a}this._++}}this.I_pV=this._}v=this._=u;t=v;n=true;a:while(n===true){n=false;b:while(true){o=true;c:while(o===true){o=false;if(!d(this,b.g_v,97,259)){break c}break b}if(this._>=this.A){break a}this._++}b:while(true){p=true;c:while(p===true){p=false;if(!e(this,b.g_v,97,259)){break c}break b}if(this._>=this.A){break a}this._++}this.I_p1=this._;b:while(true){q=true;c:while(q===true){q=false;if(!d(this,b.g_v,97,259)){break c}break b}if(this._>=this.A){break a}this._++}c:while(true){r=true;b:while(r===true){r=false;if(!e(this,b.g_v,97,259)){break b}break c}if(this._>=this.A){break a}this._++}this.I_p2=this._}this._=t;return true};b.prototype.r_mark_regions=b.prototype.U;function H(a){var x;var y;var z;var u;var v;var l;var f;var g;var h;var i;var j;var k;var c;var m;var n;var o;var p;var q;var r;var s;var t;var w;a.I_pV=t=a.A;a.I_p1=t;a.I_p2=t;x=a._;l=true;a:while(l===true){l=false;f=true;g:while(f===true){f=false;y=a._;g=true;b:while(g===true){g=false;if(!d(a,b.g_v,97,259)){break b}h=true;f:while(h===true){h=false;z=a._;i=true;c:while(i===true){i=false;if(!e(a,b.g_v,97,259)){break c}d:while(true){j=true;e:while(j===true){j=false;if(!d(a,b.g_v,97,259)){break e}break d}if(a._>=a.A){break c}a._++}break f}a._=z;if(!d(a,b.g_v,97,259)){break b}c:while(true){k=true;d:while(k===true){k=false;if(!e(a,b.g_v,97,259)){break d}break c}if(a._>=a.A){break b}a._++}}break g}a._=y;if(!e(a,b.g_v,97,259)){break a}c=true;c:while(c===true){c=false;u=a._;m=true;b:while(m===true){m=false;if(!e(a,b.g_v,97,259)){break b}e:while(true){n=true;d:while(n===true){n=false;if(!d(a,b.g_v,97,259)){break d}break e}if(a._>=a.A){break b}a._++}break c}a._=u;if(!d(a,b.g_v,97,259)){break a}if(a._>=a.A){break a}a._++}}a.I_pV=a._}w=a._=x;v=w;o=true;a:while(o===true){o=false;b:while(true){p=true;c:while(p===true){p=false;if(!d(a,b.g_v,97,259)){break c}break b}if(a._>=a.A){break a}a._++}b:while(true){q=true;c:while(q===true){q=false;if(!e(a,b.g_v,97,259)){break c}break b}if(a._>=a.A){break a}a._++}a.I_p1=a._;b:while(true){r=true;c:while(r===true){r=false;if(!d(a,b.g_v,97,259)){break c}break b}if(a._>=a.A){break a}a._++}c:while(true){s=true;b:while(s===true){s=false;if(!e(a,b.g_v,97,259)){break b}break c}if(a._>=a.A){break a}a._++}a.I_p2=a._}a._=v;return true};b.prototype.V=function(){var a;var e;var d;b:while(true){e=this._;d=true;a:while(d===true){d=false;this.B=this._;a=q(this,b.a_0,3);if(a===0){break a}this.C=this._;switch(a){case 0:break a;case 1:if(!c(this,'i')){return false}break;case 2:if(!c(this,'u')){return false}break;case 3:if(this._>=this.A){break a}this._++;break}continue b}this._=e;break b}return true};b.prototype.r_postlude=b.prototype.V;function I(a){var d;var f;var e;b:while(true){f=a._;e=true;a:while(e===true){e=false;a.B=a._;d=q(a,b.a_0,3);if(d===0){break a}a.C=a._;switch(d){case 0:break a;case 1:if(!c(a,'i')){return false}break;case 2:if(!c(a,'u')){return false}break;case 3:if(a._>=a.A){break a}a._++;break}continue b}a._=f;break b}return true};b.prototype.S=function(){return!(this.I_pV<=this._)?false:true};b.prototype.r_RV=b.prototype.S;b.prototype.Q=function(){return!(this.I_p1<=this._)?false:true};b.prototype.r_R1=b.prototype.Q;b.prototype.R=function(){return!(this.I_p2<=this._)?false:true};b.prototype.r_R2=b.prototype.R;b.prototype.Y=function(){var a;var e;var d;var g;this.C=this._;a=f(this,b.a_1,16);if(a===0){return false}this.B=g=this._;if(!(!(this.I_p1<=g)?false:true)){return false}switch(a){case 0:return false;case 1:if(!c(this,'')){return false}break;case 2:if(!c(this,'a')){return false}break;case 3:if(!c(this,'e')){return false}break;case 4:if(!c(this,'i')){return false}break;case 5:e=this.A-this._;d=true;a:while(d===true){d=false;if(!i(this,2,'ab')){break a}return false}this._=this.A-e;if(!c(this,'i')){return false}break;case 6:if(!c(this,'at')){return false}break;case 7:if(!c(this,'aţi')){return false}break}return true};b.prototype.r_step_0=b.prototype.Y;function J(a){var d;var g;var e;var h;a.C=a._;d=f(a,b.a_1,16);if(d===0){return false}a.B=h=a._;if(!(!(a.I_p1<=h)?false:true)){return false}switch(d){case 0:return false;case 1:if(!c(a,'')){return false}break;case 2:if(!c(a,'a')){return false}break;case 3:if(!c(a,'e')){return false}break;case 4:if(!c(a,'i')){return false}break;case 5:g=a.A-a._;e=true;a:while(e===true){e=false;if(!i(a,2,'ab')){break a}return false}a._=a.A-g;if(!c(a,'i')){return false}break;case 6:if(!c(a,'at')){return false}break;case 7:if(!c(a,'aţi')){return false}break}return true};b.prototype.T=function(){var a;var d;var e;var g;d=this.A-(e=this._);this.C=e;a=f(this,b.a_2,46);if(a===0){return false}this.B=g=this._;if(!(!(this.I_p1<=g)?false:true)){return false}switch(a){case 0:return false;case 1:if(!c(this,'abil')){return false}break;case 2:if(!c(this,'ibil')){return false}break;case 3:if(!c(this,'iv')){return false}break;case 4:if(!c(this,'ic')){return false}break;case 5:if(!c(this,'at')){return false}break;case 6:if(!c(this,'it')){return false}break}this.B_standard_suffix_removed=true;this._=this.A-d;return true};b.prototype.r_combo_suffix=b.prototype.T;function o(a){var d;var e;var g;var h;e=a.A-(g=a._);a.C=g;d=f(a,b.a_2,46);if(d===0){return false}a.B=h=a._;if(!(!(a.I_p1<=h)?false:true)){return false}switch(d){case 0:return false;case 1:if(!c(a,'abil')){return false}break;case 2:if(!c(a,'ibil')){return false}break;case 3:if(!c(a,'iv')){return false}break;case 4:if(!c(a,'ic')){return false}break;case 5:if(!c(a,'at')){return false}break;case 6:if(!c(a,'it')){return false}break}a.B_standard_suffix_removed=true;a._=a.A-e;return true};b.prototype.X=function(){var a;var e;var d;var g;this.B_standard_suffix_removed=false;a:while(true){e=this.A-this._;d=true;b:while(d===true){d=false;if(!o(this)){break b}continue a}this._=this.A-e;break a}this.C=this._;a=f(this,b.a_3,62);if(a===0){return false}this.B=g=this._;if(!(!(this.I_p2<=g)?false:true)){return false}switch(a){case 0:return false;case 1:if(!c(this,'')){return false}break;case 2:if(!i(this,1,'ţ')){return false}this.B=this._;if(!c(this,'t')){return false}break;case 3:if(!c(this,'ist')){return false}break}this.B_standard_suffix_removed=true;return true};b.prototype.r_standard_suffix=b.prototype.X;function K(a){var d;var g;var e;var h;a.B_standard_suffix_removed=false;a:while(true){g=a.A-a._;e=true;b:while(e===true){e=false;if(!o(a)){break b}continue a}a._=a.A-g;break a}a.C=a._;d=f(a,b.a_3,62);if(d===0){return false}a.B=h=a._;if(!(!(a.I_p2<=h)?false:true)){return false}switch(d){case 0:return false;case 1:if(!c(a,'')){return false}break;case 2:if(!i(a,1,'ţ')){return false}a.B=a._;if(!c(a,'t')){return false}break;case 3:if(!c(a,'ist')){return false}break}a.B_standard_suffix_removed=true;return true};b.prototype.Z=function(){var d;var h;var a;var j;var e;var g;var k;var l;var m;h=this.A-(k=this._);if(k<this.I_pV){return false}l=this._=this.I_pV;a=this.D;this.D=l;m=this._=this.A-h;this.C=m;d=f(this,b.a_4,94);if(d===0){this.D=a;return false}this.B=this._;switch(d){case 0:this.D=a;return false;case 1:e=true;a:while(e===true){e=false;j=this.A-this._;g=true;b:while(g===true){g=false;if(!p(this,b.g_v,97,259)){break b}break a}this._=this.A-j;if(!i(this,1,'u')){this.D=a;return false}}if(!c(this,'')){return false}break;case 2:if(!c(this,'')){return false}break}this.D=a;return true};b.prototype.r_verb_suffix=b.prototype.Z;function F(a){var e;var l;var d;var j;var g;var h;var m;var n;var k;l=a.A-(m=a._);if(m<a.I_pV){return false}n=a._=a.I_pV;d=a.D;a.D=n;k=a._=a.A-l;a.C=k;e=f(a,b.a_4,94);if(e===0){a.D=d;return false}a.B=a._;switch(e){case 0:a.D=d;return false;case 1:g=true;a:while(g===true){g=false;j=a.A-a._;h=true;b:while(h===true){h=false;if(!p(a,b.g_v,97,259)){break b}break a}a._=a.A-j;if(!i(a,1,'u')){a.D=d;return false}}if(!c(a,'')){return false}break;case 2:if(!c(a,'')){return false}break}a.D=d;return true};b.prototype.a=function(){var a;var d;this.C=this._;a=f(this,b.a_5,5);if(a===0){return false}this.B=d=this._;if(!(!(this.I_pV<=d)?false:true)){return false}switch(a){case 0:return false;case 1:if(!c(this,'')){return false}break}return true};b.prototype.r_vowel_suffix=b.prototype.a;function B(a){var d;var e;a.C=a._;d=f(a,b.a_5,5);if(d===0){return false}a.B=e=a._;if(!(!(a.I_pV<=e)?false:true)){return false}switch(d){case 0:return false;case 1:if(!c(a,'')){return false}break}return true};b.prototype.J=function(){var n;var j;var k;var l;var m;var o;var p;var b;var c;var d;var e;var f;var a;var g;var h;var i;var r;var s;var t;var u;var v;var w;var x;var y;var q;n=this._;b=true;a:while(b===true){b=false;if(!G(this)){break a}}r=this._=n;j=r;c=true;a:while(c===true){c=false;if(!H(this)){break a}}s=this._=j;this.D=s;u=this._=t=this.A;k=t-u;d=true;a:while(d===true){d=false;if(!J(this)){break a}}w=this._=(v=this.A)-k;l=v-w;e=true;a:while(e===true){e=false;if(!K(this)){break a}}y=this._=(x=this.A)-l;m=x-y;f=true;a:while(f===true){f=false;a=true;b:while(a===true){a=false;o=this.A-this._;g=true;c:while(g===true){g=false;if(!this.B_standard_suffix_removed){break c}break b}this._=this.A-o;if(!F(this)){break a}}}this._=this.A-m;h=true;a:while(h===true){h=false;if(!B(this)){break a}}q=this._=this.D;p=q;i=true;a:while(i===true){i=false;if(!I(this)){break a}}this._=p;return true};b.prototype.stem=b.prototype.J;b.prototype.N=function(a){return a instanceof b};b.prototype.equals=b.prototype.N;b.prototype.O=function(){var c;var a;var b;var d;c='RomanianStemmer';a=0;for(b=0;b<c.length;b++){d=c.charCodeAt(b);a=(a<<5)-a+d;a=a&a}return a|0};b.prototype.hashCode=b.prototype.O;b.serialVersionUID=1;h(b,'methodObject',function(){return new b});h(b,'a_0',function(){return[new a('',-1,3),new a('I',0,1),new a('U',0,2)]});h(b,'a_1',function(){return[new a('ea',-1,3),new a('aţia',-1,7),new a('aua',-1,2),new a('iua',-1,4),new a('aţie',-1,7),new a('ele',-1,3),new a('ile',-1,5),new a('iile',6,4),new a('iei',-1,4),new a('atei',-1,6),new a('ii',-1,4),new a('ului',-1,1),new a('ul',-1,1),new a('elor',-1,3),new a('ilor',-1,4),new a('iilor',14,4)]});h(b,'a_2',function(){return[new a('icala',-1,4),new a('iciva',-1,4),new a('ativa',-1,5),new a('itiva',-1,6),new a('icale',-1,4),new a('aţiune',-1,5),new a('iţiune',-1,6),new a('atoare',-1,5),new a('itoare',-1,6),new a('ătoare',-1,5),new a('icitate',-1,4),new a('abilitate',-1,1),new a('ibilitate',-1,2),new a('ivitate',-1,3),new a('icive',-1,4),new a('ative',-1,5),new a('itive',-1,6),new a('icali',-1,4),new a('atori',-1,5),new a('icatori',18,4),new a('itori',-1,6),new a('ători',-1,5),new a('icitati',-1,4),new a('abilitati',-1,1),new a('ivitati',-1,3),new a('icivi',-1,4),new a('ativi',-1,5),new a('itivi',-1,6),new a('icităi',-1,4),new a('abilităi',-1,1),new a('ivităi',-1,3),new a('icităţi',-1,4),new a('abilităţi',-1,1),new a('ivităţi',-1,3),new a('ical',-1,4),new a('ator',-1,5),new a('icator',35,4),new a('itor',-1,6),new a('ător',-1,5),new a('iciv',-1,4),new a('ativ',-1,5),new a('itiv',-1,6),new a('icală',-1,4),new a('icivă',-1,4),new a('ativă',-1,5),new a('itivă',-1,6)]});h(b,'a_3',function(){return[new a('ica',-1,1),new a('abila',-1,1),new a('ibila',-1,1),new a('oasa',-1,1),new a('ata',-1,1),new a('ita',-1,1),new a('anta',-1,1),new a('ista',-1,3),new a('uta',-1,1),new a('iva',-1,1),new a('ic',-1,1),new a('ice',-1,1),new a('abile',-1,1),new a('ibile',-1,1),new a('isme',-1,3),new a('iune',-1,2),new a('oase',-1,1),new a('ate',-1,1),new a('itate',17,1),new a('ite',-1,1),new a('ante',-1,1),new a('iste',-1,3),new a('ute',-1,1),new a('ive',-1,1),new a('ici',-1,1),new a('abili',-1,1),new a('ibili',-1,1),new a('iuni',-1,2),new a('atori',-1,1),new a('osi',-1,1),new a('ati',-1,1),new a('itati',30,1),new a('iti',-1,1),new a('anti',-1,1),new a('isti',-1,3),new a('uti',-1,1),new a('işti',-1,3),new a('ivi',-1,1),new a('ităi',-1,1),new a('oşi',-1,1),new a('ităţi',-1,1),new a('abil',-1,1),new a('ibil',-1,1),new a('ism',-1,3),new a('ator',-1,1),new a('os',-1,1),new a('at',-1,1),new a('it',-1,1),new a('ant',-1,1),new a('ist',-1,3),new a('ut',-1,1),new a('iv',-1,1),new a('ică',-1,1),new a('abilă',-1,1),new a('ibilă',-1,1),new a('oasă',-1,1),new a('ată',-1,1),new a('ită',-1,1),new a('antă',-1,1),new a('istă',-1,3),new a('ută',-1,1),new a('ivă',-1,1)]});h(b,'a_4',function(){return[new a('ea',-1,1),new a('ia',-1,1),new a('esc',-1,1),new a('ăsc',-1,1),new a('ind',-1,1),new a('ând',-1,1),new a('are',-1,1),new a('ere',-1,1),new a('ire',-1,1),new a('âre',-1,1),new a('se',-1,2),new a('ase',10,1),new a('sese',10,2),new a('ise',10,1),new a('use',10,1),new a('âse',10,1),new a('eşte',-1,1),new a('ăşte',-1,1),new a('eze',-1,1),new a('ai',-1,1),new a('eai',19,1),new a('iai',19,1),new a('sei',-1,2),new a('eşti',-1,1),new a('ăşti',-1,1),new a('ui',-1,1),new a('ezi',-1,1),new a('âi',-1,1),new a('aşi',-1,1),new a('seşi',-1,2),new a('aseşi',29,1),new a('seseşi',29,2),new a('iseşi',29,1),new a('useşi',29,1),new a('âseşi',29,1),new a('işi',-1,1),new a('uşi',-1,1),new a('âşi',-1,1),new a('aţi',-1,2),new a('eaţi',38,1),new a('iaţi',38,1),new a('eţi',-1,2),new a('iţi',-1,2),new a('âţi',-1,2),new a('arăţi',-1,1),new a('serăţi',-1,2),new a('aserăţi',45,1),new a('seserăţi',45,2),new a('iserăţi',45,1),new a('userăţi',45,1),new a('âserăţi',45,1),new a('irăţi',-1,1),new a('urăţi',-1,1),new a('ârăţi',-1,1),new a('am',-1,1),new a('eam',54,1),new a('iam',54,1),new a('em',-1,2),new a('asem',57,1),new a('sesem',57,2),new a('isem',57,1),new a('usem',57,1),new a('âsem',57,1),new a('im',-1,2),new a('âm',-1,2),new a('ăm',-1,2),new a('arăm',65,1),new a('serăm',65,2),new a('aserăm',67,1),new a('seserăm',67,2),new a('iserăm',67,1),new a('userăm',67,1),new a('âserăm',67,1),new a('irăm',65,1),new a('urăm',65,1),new a('ârăm',65,1),new a('au',-1,1),new a('eau',76,1),new a('iau',76,1),new a('indu',-1,1),new a('ându',-1,1),new a('ez',-1,1),new a('ească',-1,1),new a('ară',-1,1),new a('seră',-1,2),new a('aseră',84,1),new a('seseră',84,2),new a('iseră',84,1),new a('useră',84,1),new a('âseră',84,1),new a('iră',-1,1),new a('ură',-1,1),new a('âră',-1,1),new a('ează',-1,1)]});h(b,'a_5',function(){return[new a('a',-1,1),new a('e',-1,1),new a('ie',1,1),new a('i',-1,1),new a('ă',-1,1)]});h(b,'g_v',function(){return[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,2,32,0,0,4]});var r={'src/stemmer.jsx':{Stemmer:n},'src/romanian-stemmer.jsx':{RomanianStemmer:b}}}(JSX))
var Stemmer = JSX.require("src/romanian-stemmer.jsx").RomanianStemmer;
diff --git a/sphinx/search/ru.py b/sphinx/search/ru.py
index 9c0e30394..cf979c0b4 100644
--- a/sphinx/search/ru.py
+++ b/sphinx/search/ru.py
@@ -14,7 +14,6 @@ import snowballstemmer
from sphinx.search import SearchLanguage, parse_stop_word
-
russian_stopwords = parse_stop_word('''
| source: http://snowball.tartarus.org/algorithms/russian/stop.txt
и | and
diff --git a/sphinx/search/sv.py b/sphinx/search/sv.py
index 4af7f7835..0e7e2f37d 100644
--- a/sphinx/search/sv.py
+++ b/sphinx/search/sv.py
@@ -14,7 +14,6 @@ import snowballstemmer
from sphinx.search import SearchLanguage, parse_stop_word
-
swedish_stopwords = parse_stop_word('''
| source: http://snowball.tartarus.org/algorithms/swedish/stop.txt
och | and
diff --git a/sphinx/search/tr.py b/sphinx/search/tr.py
index 8db42f676..7788b1152 100644
--- a/sphinx/search/tr.py
+++ b/sphinx/search/tr.py
@@ -14,7 +14,6 @@ import snowballstemmer
from sphinx.search import SearchLanguage
-
js_stemmer = """
var JSX={};(function(q){function r(b,e){var a=function(){};a.prototype=e.prototype;var c=new a;for(var d in b){b[d].prototype=c}}function Q(c,b){for(var a in b.prototype)if(b.prototype.hasOwnProperty(a))c.prototype[a]=b.prototype[a]}function j(a,b,d){function c(a,b,c){delete a[b];a[b]=c;return c}Object.defineProperty(a,b,{get:function(){return c(a,b,d())},set:function(d){c(a,b,d)},enumerable:true,configurable:true})}function R(a,b,c){return a[b]=a[b]/c|0}var M=parseInt;var K=parseFloat;function P(a){return a!==a}var A=isFinite;var G=encodeURIComponent;var F=decodeURIComponent;var E=encodeURI;var D=decodeURI;var C=Object.prototype.toString;var H=Object.prototype.hasOwnProperty;function p(){}q.require=function(b){var a=y[b];return a!==undefined?a:null};q.profilerIsRunning=function(){return p.getResults!=null};q.getProfileResults=function(){return(p.getResults||function(){return{}})()};q.postProfileResults=function(a,b){if(p.postResults==null)throw new Error('profiler has not been turned on');return p.postResults(a,b)};q.resetProfileResults=function(){if(p.resetResults==null)throw new Error('profiler has not been turned on');return p.resetResults()};q.DEBUG=false;function I(){};r([I],Error);function d(a,b,c){this.G=a.length;this.A_=a;this.D_=b;this.J=c;this.I=null;this.E_=null};r([d],Object);function u(){};r([u],Object);function m(){var a;var b;var c;this.F={};a=this.E='';b=this._=0;c=this.A=a.length;this.D=0;this.B=b;this.C=c};r([m],u);function B(a,b){a.E=b.E;a._=b._;a.A=b.A;a.D=b.D;a.B=b.B;a.C=b.C};function v(b,d,c,e){var a;if(b._>=b.A){return false}a=b.E.charCodeAt(b._);if(a>e||a<c){return false}a-=c;if((d[a>>>3]&1<<(a&7))===0){return false}b._++;return true};function f(b,d,c,e){var a;if(b._<=b.D){return false}a=b.E.charCodeAt(b._-1);if(a>e||a<c){return false}a-=c;if((d[a>>>3]&1<<(a&7))===0){return false}b._--;return true};function t(a,d,c,e){var b;if(a._<=a.D){return false}b=a.E.charCodeAt(a._-1);if(b>e||b<c){a._--;return true}b-=c;if((d[b>>>3]&1<<(b&7))===0){a._--;return true}return false};function s(a,b,d){var c;if(a.A-a._<b){return false}if(a.E.slice(c=a._,c+b)!==d){return false}a._+=b;return true};function g(a,b,d){var c;if(a._-a.D<b){return false}if(a.E.slice((c=a._)-b,c)!==d){return false}a._-=b;return true};function b(d,m,p){var b;var g;var e;var n;var f;var k;var l;var i;var h;var c;var a;var j;var o;b=0;g=p;e=d._;n=d.D;f=0;k=0;l=false;while(true){i=b+(g-b>>1);h=0;c=f<k?f:k;a=m[i];for(j=a.G-1-c;j>=0;j--){if(e-c===n){h=-1;break}h=d.E.charCodeAt(e-1-c)-a.A_.charCodeAt(j);if(h!==0){break}c++}if(h<0){g=i;k=c}else{b=i;f=c}if(g-b<=1){if(b>0){break}if(g===b){break}if(l){break}l=true}}while(true){a=m[b];if(f>=a.G){d._=e-a.G|0;if(a.I==null){return a.J}o=a.I(d);d._=e-a.G|0;if(o){return a.J}}b=a.D_;if(b<0){return 0}}return-1};function n(a,b,d,e){var c;c=e.length-(d-b);a.E=a.E.slice(0,b)+e+a.E.slice(d);a.A+=c|0;if(a._>=d){a._+=c|0}else if(a._>b){a._=b}return c|0};function e(a,f){var b;var c;var d;var e;b=false;if((c=a.B)<0||c>(d=a.C)||d>(e=a.A)||e>a.E.length?false:true){n(a,a.B,a.C,f);b=true}return b};m.prototype.H=function(){return false};m.prototype.B_=function(b){var a;var c;var d;var e;a=this.F['.'+b];if(a==null){c=this.E=b;d=this._=0;e=this.A=c.length;this.D=0;this.B=d;this.C=e;this.H();a=this.E;this.F['.'+b]=a}return a};m.prototype.stemWord=m.prototype.B_;m.prototype.C_=function(e){var d;var b;var c;var a;var f;var g;var h;d=[];for(b=0;b<e.length;b++){c=e[b];a=this.F['.'+c];if(a==null){f=this.E=c;g=this._=0;h=this.A=f.length;this.D=0;this.B=g;this.C=h;this.H();a=this.E;this.F['.'+c]=a}d.push(a)}return d};m.prototype.stemWords=m.prototype.C_;function a(){m.call(this);this.B_continue_stemming_noun_suffixes=false;this.I_strlen=0};r([a],m);a.prototype.K=function(a){this.B_continue_stemming_noun_suffixes=a.B_continue_stemming_noun_suffixes;this.I_strlen=a.I_strlen;B(this,a)};a.prototype.copy_from=a.prototype.K;a.prototype.O=function(){var E;var q;var b;var e;var h;var i;var j;var k;var l;var m;var n;var o;var p;var c;var r;var s;var t;var u;var d;var v;var w;var x;var y;var z;var A;var B;var C;var D;var G;var H;var I;var J;var K;var L;var M;var N;var F;E=this.A-this._;b:while(true){q=this.A-this._;o=true;a:while(o===true){o=false;if(!f(this,a.g_vowel,97,305)){break a}this._=this.A-q;break b}G=this._=this.A-q;if(G<=this.D){return false}this._--}p=true;a:while(p===true){p=false;b=this.A-this._;c=true;b:while(c===true){c=false;if(!g(this,1,'a')){break b}c:while(true){e=this.A-this._;r=true;d:while(r===true){r=false;if(!f(this,a.g_vowel1,97,305)){break d}this._=this.A-e;break c}H=this._=this.A-e;if(H<=this.D){break b}this._--}break a}this._=this.A-b;s=true;b:while(s===true){s=false;if(!g(this,1,'e')){break b}c:while(true){h=this.A-this._;t=true;d:while(t===true){t=false;if(!f(this,a.g_vowel2,101,252)){break d}this._=this.A-h;break c}I=this._=this.A-h;if(I<=this.D){break b}this._--}break a}this._=this.A-b;u=true;b:while(u===true){u=false;if(!g(this,1,'ı')){break b}c:while(true){i=this.A-this._;d=true;d:while(d===true){d=false;if(!f(this,a.g_vowel3,97,305)){break d}this._=this.A-i;break c}J=this._=this.A-i;if(J<=this.D){break b}this._--}break a}this._=this.A-b;v=true;b:while(v===true){v=false;if(!g(this,1,'i')){break b}c:while(true){j=this.A-this._;w=true;d:while(w===true){w=false;if(!f(this,a.g_vowel4,101,105)){break d}this._=this.A-j;break c}K=this._=this.A-j;if(K<=this.D){break b}this._--}break a}this._=this.A-b;x=true;b:while(x===true){x=false;if(!g(this,1,'o')){break b}c:while(true){k=this.A-this._;y=true;d:while(y===true){y=false;if(!f(this,a.g_vowel5,111,117)){break d}this._=this.A-k;break c}L=this._=this.A-k;if(L<=this.D){break b}this._--}break a}this._=this.A-b;z=true;b:while(z===true){z=false;if(!g(this,1,'ö')){break b}c:while(true){l=this.A-this._;A=true;d:while(A===true){A=false;if(!f(this,a.g_vowel6,246,252)){break d}this._=this.A-l;break c}M=this._=this.A-l;if(M<=this.D){break b}this._--}break a}this._=this.A-b;B=true;b:while(B===true){B=false;if(!g(this,1,'u')){break b}c:while(true){m=this.A-this._;C=true;d:while(C===true){C=false;if(!f(this,a.g_vowel5,111,117)){break d}this._=this.A-m;break c}N=this._=this.A-m;if(N<=this.D){break b}this._--}break a}this._=this.A-b;if(!g(this,1,'ü')){return false}b:while(true){n=this.A-this._;D=true;c:while(D===true){D=false;if(!f(this,a.g_vowel6,246,252)){break c}this._=this.A-n;break b}F=this._=this.A-n;if(F<=this.D){return false}this._--}}this._=this.A-E;return true};a.prototype.r_check_vowel_harmony=a.prototype.O;function c(b){var F;var r;var c;var e;var h;var i;var j;var k;var l;var m;var n;var o;var p;var q;var d;var s;var t;var u;var v;var w;var x;var y;var z;var A;var B;var C;var D;var E;var H;var I;var J;var K;var L;var M;var N;var O;var G;F=b.A-b._;b:while(true){r=b.A-b._;o=true;a:while(o===true){o=false;if(!f(b,a.g_vowel,97,305)){break a}b._=b.A-r;break b}H=b._=b.A-r;if(H<=b.D){return false}b._--}p=true;a:while(p===true){p=false;c=b.A-b._;q=true;b:while(q===true){q=false;if(!g(b,1,'a')){break b}c:while(true){e=b.A-b._;d=true;d:while(d===true){d=false;if(!f(b,a.g_vowel1,97,305)){break d}b._=b.A-e;break c}I=b._=b.A-e;if(I<=b.D){break b}b._--}break a}b._=b.A-c;s=true;b:while(s===true){s=false;if(!g(b,1,'e')){break b}c:while(true){h=b.A-b._;t=true;d:while(t===true){t=false;if(!f(b,a.g_vowel2,101,252)){break d}b._=b.A-h;break c}J=b._=b.A-h;if(J<=b.D){break b}b._--}break a}b._=b.A-c;u=true;b:while(u===true){u=false;if(!g(b,1,'ı')){break b}c:while(true){i=b.A-b._;v=true;d:while(v===true){v=false;if(!f(b,a.g_vowel3,97,305)){break d}b._=b.A-i;break c}K=b._=b.A-i;if(K<=b.D){break b}b._--}break a}b._=b.A-c;w=true;b:while(w===true){w=false;if(!g(b,1,'i')){break b}c:while(true){j=b.A-b._;x=true;d:while(x===true){x=false;if(!f(b,a.g_vowel4,101,105)){break d}b._=b.A-j;break c}L=b._=b.A-j;if(L<=b.D){break b}b._--}break a}b._=b.A-c;y=true;b:while(y===true){y=false;if(!g(b,1,'o')){break b}c:while(true){k=b.A-b._;z=true;d:while(z===true){z=false;if(!f(b,a.g_vowel5,111,117)){break d}b._=b.A-k;break c}M=b._=b.A-k;if(M<=b.D){break b}b._--}break a}b._=b.A-c;A=true;b:while(A===true){A=false;if(!g(b,1,'ö')){break b}c:while(true){l=b.A-b._;B=true;d:while(B===true){B=false;if(!f(b,a.g_vowel6,246,252)){break d}b._=b.A-l;break c}N=b._=b.A-l;if(N<=b.D){break b}b._--}break a}b._=b.A-c;C=true;b:while(C===true){C=false;if(!g(b,1,'u')){break b}c:while(true){m=b.A-b._;D=true;d:while(D===true){D=false;if(!f(b,a.g_vowel5,111,117)){break d}b._=b.A-m;break c}O=b._=b.A-m;if(O<=b.D){break b}b._--}break a}b._=b.A-c;if(!g(b,1,'ü')){return false}b:while(true){n=b.A-b._;E=true;c:while(E===true){E=false;if(!f(b,a.g_vowel6,246,252)){break c}b._=b.A-n;break b}G=b._=b.A-n;if(G<=b.D){return false}b._--}}b._=b.A-F;return true};a.prototype.j=function(){var k;var h;var l;var i;var m;var j;var b;var e;var d;var n;var o;var p;var q;var c;b=true;b:while(b===true){b=false;k=this.A-this._;e=true;a:while(e===true){e=false;h=this.A-this._;if(!g(this,1,'n')){break a}n=this._=this.A-h;if(n<=this.D){break a}this._--;l=this.A-this._;if(!f(this,a.g_vowel,97,305)){break a}this._=this.A-l;break b}p=this._=(o=this.A)-k;i=o-p;d=true;a:while(d===true){d=false;m=this.A-this._;if(!g(this,1,'n')){break a}this._=this.A-m;return false}c=this._=(q=this.A)-i;j=q-c;if(c<=this.D){return false}this._--;if(!f(this,a.g_vowel,97,305)){return false}this._=this.A-j}return true};a.prototype.r_mark_suffix_with_optional_n_consonant=a.prototype.j;function o(b){var i;var m;var l;var j;var n;var k;var c;var e;var d;var o;var p;var q;var r;var h;c=true;b:while(c===true){c=false;i=b.A-b._;e=true;a:while(e===true){e=false;m=b.A-b._;if(!g(b,1,'n')){break a}o=b._=b.A-m;if(o<=b.D){break a}b._--;l=b.A-b._;if(!f(b,a.g_vowel,97,305)){break a}b._=b.A-l;break b}q=b._=(p=b.A)-i;j=p-q;d=true;a:while(d===true){d=false;n=b.A-b._;if(!g(b,1,'n')){break a}b._=b.A-n;return false}h=b._=(r=b.A)-j;k=r-h;if(h<=b.D){return false}b._--;if(!f(b,a.g_vowel,97,305)){return false}b._=b.A-k}return true};a.prototype.k=function(){var k;var h;var l;var i;var m;var j;var b;var e;var d;var n;var o;var p;var q;var c;b=true;b:while(b===true){b=false;k=this.A-this._;e=true;a:while(e===true){e=false;h=this.A-this._;if(!g(this,1,'s')){break a}n=this._=this.A-h;if(n<=this.D){break a}this._--;l=this.A-this._;if(!f(this,a.g_vowel,97,305)){break a}this._=this.A-l;break b}p=this._=(o=this.A)-k;i=o-p;d=true;a:while(d===true){d=false;m=this.A-this._;if(!g(this,1,'s')){break a}this._=this.A-m;return false}c=this._=(q=this.A)-i;j=q-c;if(c<=this.D){return false}this._--;if(!f(this,a.g_vowel,97,305)){return false}this._=this.A-j}return true};a.prototype.r_mark_suffix_with_optional_s_consonant=a.prototype.k;function l(b){var i;var m;var l;var j;var n;var k;var c;var e;var d;var o;var p;var q;var r;var h;c=true;b:while(c===true){c=false;i=b.A-b._;e=true;a:while(e===true){e=false;m=b.A-b._;if(!g(b,1,'s')){break a}o=b._=b.A-m;if(o<=b.D){break a}b._--;l=b.A-b._;if(!f(b,a.g_vowel,97,305)){break a}b._=b.A-l;break b}q=b._=(p=b.A)-i;j=p-q;d=true;a:while(d===true){d=false;n=b.A-b._;if(!g(b,1,'s')){break a}b._=b.A-n;return false}h=b._=(r=b.A)-j;k=r-h;if(h<=b.D){return false}b._--;if(!f(b,a.g_vowel,97,305)){return false}b._=b.A-k}return true};a.prototype.l=function(){var k;var h;var l;var i;var m;var j;var b;var e;var d;var n;var o;var p;var q;var c;b=true;b:while(b===true){b=false;k=this.A-this._;e=true;a:while(e===true){e=false;h=this.A-this._;if(!g(this,1,'y')){break a}n=this._=this.A-h;if(n<=this.D){break a}this._--;l=this.A-this._;if(!f(this,a.g_vowel,97,305)){break a}this._=this.A-l;break b}p=this._=(o=this.A)-k;i=o-p;d=true;a:while(d===true){d=false;m=this.A-this._;if(!g(this,1,'y')){break a}this._=this.A-m;return false}c=this._=(q=this.A)-i;j=q-c;if(c<=this.D){return false}this._--;if(!f(this,a.g_vowel,97,305)){return false}this._=this.A-j}return true};a.prototype.r_mark_suffix_with_optional_y_consonant=a.prototype.l;function h(b){var i;var m;var l;var j;var n;var k;var c;var e;var d;var o;var p;var q;var r;var h;c=true;b:while(c===true){c=false;i=b.A-b._;e=true;a:while(e===true){e=false;m=b.A-b._;if(!g(b,1,'y')){break a}o=b._=b.A-m;if(o<=b.D){break a}b._--;l=b.A-b._;if(!f(b,a.g_vowel,97,305)){break a}b._=b.A-l;break b}q=b._=(p=b.A)-i;j=p-q;d=true;a:while(d===true){d=false;n=b.A-b._;if(!g(b,1,'y')){break a}b._=b.A-n;return false}h=b._=(r=b.A)-j;k=r-h;if(h<=b.D){return false}b._--;if(!f(b,a.g_vowel,97,305)){return false}b._=b.A-k}return true};a.prototype.i=function(){var j;var g;var k;var h;var l;var i;var b;var e;var d;var m;var n;var o;var p;var c;b=true;b:while(b===true){b=false;j=this.A-this._;e=true;a:while(e===true){e=false;g=this.A-this._;if(!f(this,a.g_U,105,305)){break a}m=this._=this.A-g;if(m<=this.D){break a}this._--;k=this.A-this._;if(!t(this,a.g_vowel,97,305)){break a}this._=this.A-k;break b}o=this._=(n=this.A)-j;h=n-o;d=true;a:while(d===true){d=false;l=this.A-this._;if(!f(this,a.g_U,105,305)){break a}this._=this.A-l;return false}c=this._=(p=this.A)-h;i=p-c;if(c<=this.D){return false}this._--;if(!t(this,a.g_vowel,97,305)){return false}this._=this.A-i}return true};a.prototype.r_mark_suffix_with_optional_U_vowel=a.prototype.i;function k(b){var h;var l;var k;var i;var m;var j;var c;var e;var d;var n;var o;var p;var q;var g;c=true;b:while(c===true){c=false;h=b.A-b._;e=true;a:while(e===true){e=false;l=b.A-b._;if(!f(b,a.g_U,105,305)){break a}n=b._=b.A-l;if(n<=b.D){break a}b._--;k=b.A-b._;if(!t(b,a.g_vowel,97,305)){break a}b._=b.A-k;break b}p=b._=(o=b.A)-h;i=o-p;d=true;a:while(d===true){d=false;m=b.A-b._;if(!f(b,a.g_U,105,305)){break a}b._=b.A-m;return false}g=b._=(q=b.A)-i;j=q-g;if(g<=b.D){return false}b._--;if(!t(b,a.g_vowel,97,305)){return false}b._=b.A-j}return true};a.prototype.e=function(){return b(this,a.a_0,10)===0?false:!k(this)?false:true};a.prototype.r_mark_possessives=a.prototype.e;a.prototype.f=function(){return!c(this)?false:!f(this,a.g_U,105,305)?false:!l(this)?false:true};a.prototype.r_mark_sU=a.prototype.f;a.prototype.W=function(){return b(this,a.a_1,2)===0?false:true};a.prototype.r_mark_lArI=a.prototype.W;a.prototype.o=function(){return!c(this)?false:!f(this,a.g_U,105,305)?false:!h(this)?false:true};a.prototype.r_mark_yU=a.prototype.o;a.prototype.Y=function(){return!c(this)?false:b(this,a.a_2,4)===0?false:true};a.prototype.r_mark_nU=a.prototype.Y;a.prototype.Z=function(){return!c(this)?false:b(this,a.a_3,4)===0?false:!o(this)?false:true};a.prototype.r_mark_nUn=a.prototype.Z;a.prototype.m=function(){return!c(this)?false:b(this,a.a_4,2)===0?false:!h(this)?false:true};a.prototype.r_mark_yA=a.prototype.m;a.prototype.X=function(){return!c(this)?false:b(this,a.a_5,2)===0?false:true};a.prototype.r_mark_nA=a.prototype.X;a.prototype.Q=function(){return!c(this)?false:b(this,a.a_6,4)===0?false:true};a.prototype.r_mark_DA=a.prototype.Q;a.prototype.c=function(){return!c(this)?false:b(this,a.a_7,2)===0?false:true};a.prototype.r_mark_ndA=a.prototype.c;a.prototype.R=function(){return!c(this)?false:b(this,a.a_8,4)===0?false:true};a.prototype.r_mark_DAn=a.prototype.R;a.prototype.d=function(){return!c(this)?false:b(this,a.a_9,2)===0?false:true};a.prototype.r_mark_ndAn=a.prototype.d;a.prototype.s=function(){return!c(this)?false:b(this,a.a_10,2)===0?false:!h(this)?false:true};a.prototype.r_mark_ylA=a.prototype.s;a.prototype.U=function(){return!g(this,2,'ki')?false:true};a.prototype.r_mark_ki=a.prototype.U;a.prototype.b=function(){return!c(this)?false:b(this,a.a_11,2)===0?false:!o(this)?false:true};a.prototype.r_mark_ncA=a.prototype.b;a.prototype.p=function(){return!c(this)?false:b(this,a.a_12,4)===0?false:!h(this)?false:true};a.prototype.r_mark_yUm=a.prototype.p;a.prototype.g=function(){return!c(this)?false:b(this,a.a_13,4)===0?false:true};a.prototype.r_mark_sUn=a.prototype.g;a.prototype.q=function(){return!c(this)?false:b(this,a.a_14,4)===0?false:!h(this)?false:true};a.prototype.r_mark_yUz=a.prototype.q;a.prototype.h=function(){return b(this,a.a_15,4)===0?false:true};a.prototype.r_mark_sUnUz=a.prototype.h;a.prototype.V=function(){return!c(this)?false:b(this,a.a_16,2)===0?false:true};a.prototype.r_mark_lAr=a.prototype.V;a.prototype.a=function(){return!c(this)?false:b(this,a.a_17,4)===0?false:true};a.prototype.r_mark_nUz=a.prototype.a;a.prototype.S=function(){return!c(this)?false:b(this,a.a_18,8)===0?false:true};a.prototype.r_mark_DUr=a.prototype.S;a.prototype.T=function(){return b(this,a.a_19,2)===0?false:true};a.prototype.r_mark_cAsInA=a.prototype.T;a.prototype.n=function(){return!c(this)?false:b(this,a.a_20,32)===0?false:!h(this)?false:true};a.prototype.r_mark_yDU=a.prototype.n;a.prototype.u=function(){return b(this,a.a_21,8)===0?false:!h(this)?false:true};a.prototype.r_mark_ysA=a.prototype.u;a.prototype.t=function(){return!c(this)?false:b(this,a.a_22,4)===0?false:!h(this)?false:true};a.prototype.r_mark_ymUs_=a.prototype.t;a.prototype.r=function(){return!g(this,3,'ken')?false:!h(this)?false:true};a.prototype.r_mark_yken=a.prototype.r;a.prototype.y=function(){var i;var j;var d;var Y;var k;var X;var l;var W;var V;var f;var r;var s;var t;var u;var v;var w;var x;var y;var z;var A;var B;var C;var m;var E;var F;var G;var H;var I;var J;var K;var L;var M;var N;var O;var P;var Q;var R;var S;var T;var U;var p;var o;var D;var n;var q;this.C=this._;this.B_continue_stemming_noun_suffixes=true;r=true;a:while(r===true){r=false;i=this.A-this._;s=true;d:while(s===true){s=false;t=true;b:while(t===true){t=false;j=this.A-this._;u=true;c:while(u===true){u=false;if(!(!c(this)?false:b(this,a.a_22,4)===0?false:!h(this)?false:true)){break c}break b}this._=this.A-j;v=true;c:while(v===true){v=false;if(!(!c(this)?false:b(this,a.a_20,32)===0?false:!h(this)?false:true)){break c}break b}this._=this.A-j;w=true;c:while(w===true){w=false;if(!(b(this,a.a_21,8)===0?false:!h(this)?false:true)){break c}break b}this._=this.A-j;if(!(!g(this,3,'ken')?false:!h(this)?false:true)){break d}}break a}this._=this.A-i;x=true;c:while(x===true){x=false;if(!(b(this,a.a_19,2)===0?false:true)){break c}y=true;b:while(y===true){y=false;d=this.A-this._;z=true;d:while(z===true){z=false;if(!(b(this,a.a_15,4)===0?false:true)){break d}break b}this._=this.A-d;A=true;d:while(A===true){A=false;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){break d}break b}this._=this.A-d;B=true;d:while(B===true){B=false;if(!(!c(this)?false:b(this,a.a_12,4)===0?false:!h(this)?false:true)){break d}break b}this._=this.A-d;C=true;d:while(C===true){C=false;if(!(!c(this)?false:b(this,a.a_13,4)===0?false:true)){break d}break b}this._=this.A-d;m=true;d:while(m===true){m=false;if(!(!c(this)?false:b(this,a.a_14,4)===0?false:!h(this)?false:true)){break d}break b}this._=this.A-d}if(!(!c(this)?false:b(this,a.a_22,4)===0?false:!h(this)?false:true)){break c}break a}this._=this.A-i;E=true;c:while(E===true){E=false;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){break c}this.B=this._;if(!e(this,'')){return false}Y=this.A-this._;F=true;d:while(F===true){F=false;this.C=this._;G=true;b:while(G===true){G=false;k=this.A-this._;H=true;e:while(H===true){H=false;if(!(!c(this)?false:b(this,a.a_18,8)===0?false:true)){break e}break b}this._=this.A-k;I=true;e:while(I===true){I=false;if(!(!c(this)?false:b(this,a.a_20,32)===0?false:!h(this)?false:true)){break e}break b}this._=this.A-k;J=true;e:while(J===true){J=false;if(!(b(this,a.a_21,8)===0?false:!h(this)?false:true)){break e}break b}this._=this.A-k;if(!(!c(this)?false:b(this,a.a_22,4)===0?false:!h(this)?false:true)){this._=this.A-Y;break d}}}this.B_continue_stemming_noun_suffixes=false;break a}this._=this.A-i;K=true;b:while(K===true){K=false;if(!(!c(this)?false:b(this,a.a_17,4)===0?false:true)){break b}L=true;c:while(L===true){L=false;X=this.A-this._;M=true;d:while(M===true){M=false;if(!(!c(this)?false:b(this,a.a_20,32)===0?false:!h(this)?false:true)){break d}break c}this._=this.A-X;if(!(b(this,a.a_21,8)===0?false:!h(this)?false:true)){break b}}break a}this._=this.A-i;N=true;c:while(N===true){N=false;O=true;b:while(O===true){O=false;l=this.A-this._;P=true;d:while(P===true){P=false;if(!(b(this,a.a_15,4)===0?false:true)){break d}break b}this._=this.A-l;Q=true;d:while(Q===true){Q=false;if(!(!c(this)?false:b(this,a.a_14,4)===0?false:!h(this)?false:true)){break d}break b}this._=this.A-l;R=true;d:while(R===true){R=false;if(!(!c(this)?false:b(this,a.a_13,4)===0?false:true)){break d}break b}this._=this.A-l;if(!(!c(this)?false:b(this,a.a_12,4)===0?false:!h(this)?false:true)){break c}}this.B=this._;if(!e(this,'')){return false}W=this.A-this._;S=true;b:while(S===true){S=false;this.C=this._;if(!(!c(this)?false:b(this,a.a_22,4)===0?false:!h(this)?false:true)){this._=this.A-W;break b}}break a}this._=this.A-i;if(!(!c(this)?false:b(this,a.a_18,8)===0?false:true)){return false}this.B=this._;if(!e(this,'')){return false}V=this.A-this._;T=true;d:while(T===true){T=false;this.C=this._;U=true;b:while(U===true){U=false;f=this.A-this._;p=true;c:while(p===true){p=false;if(!(b(this,a.a_15,4)===0?false:true)){break c}break b}this._=this.A-f;o=true;c:while(o===true){o=false;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){break c}break b}this._=this.A-f;D=true;c:while(D===true){D=false;if(!(!c(this)?false:b(this,a.a_12,4)===0?false:!h(this)?false:true)){break c}break b}this._=this.A-f;n=true;c:while(n===true){n=false;if(!(!c(this)?false:b(this,a.a_13,4)===0?false:true)){break c}break b}this._=this.A-f;q=true;c:while(q===true){q=false;if(!(!c(this)?false:b(this,a.a_14,4)===0?false:!h(this)?false:true)){break c}break b}this._=this.A-f}if(!(!c(this)?false:b(this,a.a_22,4)===0?false:!h(this)?false:true)){this._=this.A-V;break d}}}this.B=this._;return!e(this,'')?false:true};a.prototype.r_stem_nominal_verb_suffixes=a.prototype.y;function J(d){var f;var k;var i;var Z;var l;var Y;var m;var X;var W;var j;var s;var t;var u;var v;var w;var x;var y;var z;var A;var B;var C;var n;var E;var F;var G;var H;var I;var J;var K;var L;var M;var N;var O;var P;var Q;var R;var S;var T;var U;var V;var q;var p;var D;var o;var r;d.C=d._;d.B_continue_stemming_noun_suffixes=true;s=true;a:while(s===true){s=false;f=d.A-d._;t=true;d:while(t===true){t=false;u=true;b:while(u===true){u=false;k=d.A-d._;v=true;c:while(v===true){v=false;if(!(!c(d)?false:b(d,a.a_22,4)===0?false:!h(d)?false:true)){break c}break b}d._=d.A-k;w=true;c:while(w===true){w=false;if(!(!c(d)?false:b(d,a.a_20,32)===0?false:!h(d)?false:true)){break c}break b}d._=d.A-k;x=true;c:while(x===true){x=false;if(!(b(d,a.a_21,8)===0?false:!h(d)?false:true)){break c}break b}d._=d.A-k;if(!(!g(d,3,'ken')?false:!h(d)?false:true)){break d}}break a}d._=d.A-f;y=true;c:while(y===true){y=false;if(!(b(d,a.a_19,2)===0?false:true)){break c}z=true;b:while(z===true){z=false;i=d.A-d._;A=true;d:while(A===true){A=false;if(!(b(d,a.a_15,4)===0?false:true)){break d}break b}d._=d.A-i;B=true;d:while(B===true){B=false;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){break d}break b}d._=d.A-i;C=true;d:while(C===true){C=false;if(!(!c(d)?false:b(d,a.a_12,4)===0?false:!h(d)?false:true)){break d}break b}d._=d.A-i;n=true;d:while(n===true){n=false;if(!(!c(d)?false:b(d,a.a_13,4)===0?false:true)){break d}break b}d._=d.A-i;E=true;d:while(E===true){E=false;if(!(!c(d)?false:b(d,a.a_14,4)===0?false:!h(d)?false:true)){break d}break b}d._=d.A-i}if(!(!c(d)?false:b(d,a.a_22,4)===0?false:!h(d)?false:true)){break c}break a}d._=d.A-f;F=true;c:while(F===true){F=false;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){break c}d.B=d._;if(!e(d,'')){return false}Z=d.A-d._;G=true;d:while(G===true){G=false;d.C=d._;H=true;b:while(H===true){H=false;l=d.A-d._;I=true;e:while(I===true){I=false;if(!(!c(d)?false:b(d,a.a_18,8)===0?false:true)){break e}break b}d._=d.A-l;J=true;e:while(J===true){J=false;if(!(!c(d)?false:b(d,a.a_20,32)===0?false:!h(d)?false:true)){break e}break b}d._=d.A-l;K=true;e:while(K===true){K=false;if(!(b(d,a.a_21,8)===0?false:!h(d)?false:true)){break e}break b}d._=d.A-l;if(!(!c(d)?false:b(d,a.a_22,4)===0?false:!h(d)?false:true)){d._=d.A-Z;break d}}}d.B_continue_stemming_noun_suffixes=false;break a}d._=d.A-f;L=true;b:while(L===true){L=false;if(!(!c(d)?false:b(d,a.a_17,4)===0?false:true)){break b}M=true;c:while(M===true){M=false;Y=d.A-d._;N=true;d:while(N===true){N=false;if(!(!c(d)?false:b(d,a.a_20,32)===0?false:!h(d)?false:true)){break d}break c}d._=d.A-Y;if(!(b(d,a.a_21,8)===0?false:!h(d)?false:true)){break b}}break a}d._=d.A-f;O=true;c:while(O===true){O=false;P=true;b:while(P===true){P=false;m=d.A-d._;Q=true;d:while(Q===true){Q=false;if(!(b(d,a.a_15,4)===0?false:true)){break d}break b}d._=d.A-m;R=true;d:while(R===true){R=false;if(!(!c(d)?false:b(d,a.a_14,4)===0?false:!h(d)?false:true)){break d}break b}d._=d.A-m;S=true;d:while(S===true){S=false;if(!(!c(d)?false:b(d,a.a_13,4)===0?false:true)){break d}break b}d._=d.A-m;if(!(!c(d)?false:b(d,a.a_12,4)===0?false:!h(d)?false:true)){break c}}d.B=d._;if(!e(d,'')){return false}X=d.A-d._;T=true;b:while(T===true){T=false;d.C=d._;if(!(!c(d)?false:b(d,a.a_22,4)===0?false:!h(d)?false:true)){d._=d.A-X;break b}}break a}d._=d.A-f;if(!(!c(d)?false:b(d,a.a_18,8)===0?false:true)){return false}d.B=d._;if(!e(d,'')){return false}W=d.A-d._;U=true;d:while(U===true){U=false;d.C=d._;V=true;b:while(V===true){V=false;j=d.A-d._;q=true;c:while(q===true){q=false;if(!(b(d,a.a_15,4)===0?false:true)){break c}break b}d._=d.A-j;p=true;c:while(p===true){p=false;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){break c}break b}d._=d.A-j;D=true;c:while(D===true){D=false;if(!(!c(d)?false:b(d,a.a_12,4)===0?false:!h(d)?false:true)){break c}break b}d._=d.A-j;o=true;c:while(o===true){o=false;if(!(!c(d)?false:b(d,a.a_13,4)===0?false:true)){break c}break b}d._=d.A-j;r=true;c:while(r===true){r=false;if(!(!c(d)?false:b(d,a.a_14,4)===0?false:!h(d)?false:true)){break c}break b}d._=d.A-j}if(!(!c(d)?false:b(d,a.a_22,4)===0?false:!h(d)?false:true)){d._=d.A-W;break d}}}d.B=d._;return!e(d,'')?false:true};a.prototype.__=function(){var z;var N;var M;var L;var p;var K;var r;var J;var t;var u;var v;var w;var x;var y;var d;var A;var B;var C;var D;var E;var F;var G;var H;var I;var s;var q;var n;var m;var j;var h;this.C=this._;if(!(!g(this,2,'ki')?false:true)){return false}w=true;b:while(w===true){w=false;z=this.A-this._;x=true;c:while(x===true){x=false;if(!(!c(this)?false:b(this,a.a_6,4)===0?false:true)){break c}this.B=this._;if(!e(this,'')){return false}N=this.A-this._;y=true;f:while(y===true){y=false;this.C=this._;d=true;e:while(d===true){d=false;M=this.A-this._;A=true;d:while(A===true){A=false;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){break d}this.B=this._;if(!e(this,'')){return false}L=this.A-this._;B=true;a:while(B===true){B=false;if(!i(this)){this._=this.A-L;break a}}break e}this._=this.A-M;if(!(b(this,a.a_0,10)===0?false:!k(this)?false:true)){this._=this.A-N;break f}this.B=this._;if(!e(this,'')){return false}p=this.A-this._;C=true;a:while(C===true){C=false;this.C=this._;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){this._=this.A-p;break a}this.B=this._;if(!e(this,'')){return false}if(!i(this)){this._=this.A-p;break a}}}}break b}this._=this.A-z;D=true;d:while(D===true){D=false;if(!(!c(this)?false:b(this,a.a_3,4)===0?false:!o(this)?false:true)){break d}this.B=this._;if(!e(this,'')){return false}K=this.A-this._;E=true;e:while(E===true){E=false;this.C=this._;F=true;a:while(F===true){F=false;r=this.A-this._;G=true;c:while(G===true){G=false;if(!(b(this,a.a_1,2)===0?false:true)){break c}this.B=this._;if(!e(this,'')){return false}break a}this._=this.A-r;H=true;f:while(H===true){H=false;this.C=this._;I=true;g:while(I===true){I=false;J=this.A-this._;s=true;c:while(s===true){s=false;if(!(b(this,a.a_0,10)===0?false:!k(this)?false:true)){break c}break g}this._=this.A-J;if(!(!c(this)?false:!f(this,a.g_U,105,305)?false:!l(this)?false:true)){break f}}this.B=this._;if(!e(this,'')){return false}t=this.A-this._;q=true;c:while(q===true){q=false;this.C=this._;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){this._=this.A-t;break c}this.B=this._;if(!e(this,'')){return false}if(!i(this)){this._=this.A-t;break c}}break a}this._=this.A-r;if(!i(this)){this._=this.A-K;break e}}}break b}this._=this.A-z;if(!(!c(this)?false:b(this,a.a_7,2)===0?false:true)){return false}n=true;a:while(n===true){n=false;u=this.A-this._;m=true;c:while(m===true){m=false;if(!(b(this,a.a_1,2)===0?false:true)){break c}this.B=this._;if(!e(this,'')){return false}break a}this._=this.A-u;j=true;d:while(j===true){j=false;if(!(!c(this)?false:!f(this,a.g_U,105,305)?false:!l(this)?false:true)){break d}this.B=this._;if(!e(this,'')){return false}v=this.A-this._;h=true;c:while(h===true){h=false;this.C=this._;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){this._=this.A-v;break c}this.B=this._;if(!e(this,'')){return false}if(!i(this)){this._=this.A-v;break c}}break a}this._=this.A-u;if(!i(this)){return false}}}return true};a.prototype.r_stem_suffix_chain_before_ki=a.prototype.__;function i(d){var j;var O;var N;var M;var q;var L;var s;var K;var u;var v;var w;var x;var y;var z;var h;var B;var C;var D;var E;var F;var G;var H;var I;var J;var t;var r;var p;var n;var m;var A;d.C=d._;if(!(!g(d,2,'ki')?false:true)){return false}x=true;b:while(x===true){x=false;j=d.A-d._;y=true;c:while(y===true){y=false;if(!(!c(d)?false:b(d,a.a_6,4)===0?false:true)){break c}d.B=d._;if(!e(d,'')){return false}O=d.A-d._;z=true;f:while(z===true){z=false;d.C=d._;h=true;e:while(h===true){h=false;N=d.A-d._;B=true;d:while(B===true){B=false;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){break d}d.B=d._;if(!e(d,'')){return false}M=d.A-d._;C=true;a:while(C===true){C=false;if(!i(d)){d._=d.A-M;break a}}break e}d._=d.A-N;if(!(b(d,a.a_0,10)===0?false:!k(d)?false:true)){d._=d.A-O;break f}d.B=d._;if(!e(d,'')){return false}q=d.A-d._;D=true;a:while(D===true){D=false;d.C=d._;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){d._=d.A-q;break a}d.B=d._;if(!e(d,'')){return false}if(!i(d)){d._=d.A-q;break a}}}}break b}d._=d.A-j;E=true;d:while(E===true){E=false;if(!(!c(d)?false:b(d,a.a_3,4)===0?false:!o(d)?false:true)){break d}d.B=d._;if(!e(d,'')){return false}L=d.A-d._;F=true;e:while(F===true){F=false;d.C=d._;G=true;a:while(G===true){G=false;s=d.A-d._;H=true;c:while(H===true){H=false;if(!(b(d,a.a_1,2)===0?false:true)){break c}d.B=d._;if(!e(d,'')){return false}break a}d._=d.A-s;I=true;f:while(I===true){I=false;d.C=d._;J=true;g:while(J===true){J=false;K=d.A-d._;t=true;c:while(t===true){t=false;if(!(b(d,a.a_0,10)===0?false:!k(d)?false:true)){break c}break g}d._=d.A-K;if(!(!c(d)?false:!f(d,a.g_U,105,305)?false:!l(d)?false:true)){break f}}d.B=d._;if(!e(d,'')){return false}u=d.A-d._;r=true;c:while(r===true){r=false;d.C=d._;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){d._=d.A-u;break c}d.B=d._;if(!e(d,'')){return false}if(!i(d)){d._=d.A-u;break c}}break a}d._=d.A-s;if(!i(d)){d._=d.A-L;break e}}}break b}d._=d.A-j;if(!(!c(d)?false:b(d,a.a_7,2)===0?false:true)){return false}p=true;a:while(p===true){p=false;v=d.A-d._;n=true;c:while(n===true){n=false;if(!(b(d,a.a_1,2)===0?false:true)){break c}d.B=d._;if(!e(d,'')){return false}break a}d._=d.A-v;m=true;d:while(m===true){m=false;if(!(!c(d)?false:!f(d,a.g_U,105,305)?false:!l(d)?false:true)){break d}d.B=d._;if(!e(d,'')){return false}w=d.A-d._;A=true;c:while(A===true){A=false;d.C=d._;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){d._=d.A-w;break c}d.B=d._;if(!e(d,'')){return false}if(!i(d)){d._=d.A-w;break c}}break a}d._=d.A-v;if(!i(d)){return false}}}return true};a.prototype.z=function(){var d;var ar;var S;var j;var av;var m;var aq;var n;var p;var ax;var ay;var q;var ap;var r;var s;var as;var at;var au;var t;var aw;var u;var v;var w;var aA;var aB;var ao;var x;var y;var z;var A;var B;var C;var D;var E;var F;var G;var H;var I;var J;var K;var L;var M;var N;var O;var P;var Q;var R;var g;var T;var U;var V;var W;var X;var Y;var Z;var _;var $;var a0;var a1;var a2;var a3;var a4;var a5;var a6;var a7;var a8;var a9;var aa;var ab;var ac;var ad;var ae;var af;var ag;var ah;var ai;var aj;var ak;var al;var am;var an;var aC;var az;y=true;a:while(y===true){y=false;d=this.A-this._;z=true;b:while(z===true){z=false;this.C=this._;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){break b}this.B=this._;if(!e(this,'')){return false}ar=this.A-this._;A=true;c:while(A===true){A=false;if(!i(this)){this._=this.A-ar;break c}}break a}this._=this.A-d;B=true;g:while(B===true){B=false;this.C=this._;if(!(!c(this)?false:b(this,a.a_11,2)===0?false:!o(this)?false:true)){break g}this.B=this._;if(!e(this,'')){return false}S=this.A-this._;C=true;b:while(C===true){C=false;D=true;c:while(D===true){D=false;j=this.A-this._;E=true;d:while(E===true){E=false;this.C=this._;if(!(b(this,a.a_1,2)===0?false:true)){break d}this.B=this._;if(!e(this,'')){return false}break c}this._=this.A-j;F=true;f:while(F===true){F=false;this.C=this._;G=true;d:while(G===true){G=false;av=this.A-this._;H=true;e:while(H===true){H=false;if(!(b(this,a.a_0,10)===0?false:!k(this)?false:true)){break e}break d}this._=this.A-av;if(!(!c(this)?false:!f(this,a.g_U,105,305)?false:!l(this)?false:true)){break f}}this.B=this._;if(!e(this,'')){return false}m=this.A-this._;I=true;d:while(I===true){I=false;this.C=this._;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){this._=this.A-m;break d}this.B=this._;if(!e(this,'')){return false}if(!i(this)){this._=this.A-m;break d}}break c}aC=this._=this.A-j;this.C=aC;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){this._=this.A-S;break b}this.B=this._;if(!e(this,'')){return false}if(!i(this)){this._=this.A-S;break b}}}break a}this._=this.A-d;J=true;b:while(J===true){J=false;this.C=this._;K=true;d:while(K===true){K=false;aq=this.A-this._;L=true;c:while(L===true){L=false;if(!(!c(this)?false:b(this,a.a_7,2)===0?false:true)){break c}break d}this._=this.A-aq;if(!(!c(this)?false:b(this,a.a_5,2)===0?false:true)){break b}}M=true;c:while(M===true){M=false;n=this.A-this._;N=true;d:while(N===true){N=false;if(!(b(this,a.a_1,2)===0?false:true)){break d}this.B=this._;if(!e(this,'')){return false}break c}this._=this.A-n;O=true;e:while(O===true){O=false;if(!(!c(this)?false:!f(this,a.g_U,105,305)?false:!l(this)?false:true)){break e}this.B=this._;if(!e(this,'')){return false}p=this.A-this._;P=true;d:while(P===true){P=false;this.C=this._;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){this._=this.A-p;break d}this.B=this._;if(!e(this,'')){return false}if(!i(this)){this._=this.A-p;break d}}break c}this._=this.A-n;if(!i(this)){break b}}break a}this._=this.A-d;Q=true;c:while(Q===true){Q=false;this.C=this._;R=true;b:while(R===true){R=false;ax=this.A-this._;g=true;d:while(g===true){g=false;if(!(!c(this)?false:b(this,a.a_9,2)===0?false:true)){break d}break b}this._=this.A-ax;if(!(!c(this)?false:b(this,a.a_2,4)===0?false:true)){break c}}T=true;d:while(T===true){T=false;ay=this.A-this._;U=true;e:while(U===true){U=false;if(!(!c(this)?false:!f(this,a.g_U,105,305)?false:!l(this)?false:true)){break e}this.B=this._;if(!e(this,'')){return false}q=this.A-this._;V=true;b:while(V===true){V=false;this.C=this._;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){this._=this.A-q;break b}this.B=this._;if(!e(this,'')){return false}if(!i(this)){this._=this.A-q;break b}}break d}this._=this.A-ay;if(!(b(this,a.a_1,2)===0?false:true)){break c}}break a}this._=this.A-d;W=true;d:while(W===true){W=false;this.C=this._;if(!(!c(this)?false:b(this,a.a_8,4)===0?false:true)){break d}this.B=this._;if(!e(this,'')){return false}ap=this.A-this._;X=true;e:while(X===true){X=false;this.C=this._;Y=true;c:while(Y===true){Y=false;r=this.A-this._;Z=true;f:while(Z===true){Z=false;if(!(b(this,a.a_0,10)===0?false:!k(this)?false:true)){break f}this.B=this._;if(!e(this,'')){return false}s=this.A-this._;_=true;b:while(_===true){_=false;this.C=this._;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){this._=this.A-s;break b}this.B=this._;if(!e(this,'')){return false}if(!i(this)){this._=this.A-s;break b}}break c}this._=this.A-r;$=true;b:while($===true){$=false;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){break b}this.B=this._;if(!e(this,'')){return false}as=this.A-this._;a0=true;f:while(a0===true){a0=false;if(!i(this)){this._=this.A-as;break f}}break c}this._=this.A-r;if(!i(this)){this._=this.A-ap;break e}}}break a}this._=this.A-d;a1=true;d:while(a1===true){a1=false;this.C=this._;a2=true;b:while(a2===true){a2=false;at=this.A-this._;a3=true;c:while(a3===true){a3=false;if(!(!c(this)?false:b(this,a.a_3,4)===0?false:!o(this)?false:true)){break c}break b}this._=this.A-at;if(!(!c(this)?false:b(this,a.a_10,2)===0?false:!h(this)?false:true)){break d}}this.B=this._;if(!e(this,'')){return false}au=this.A-this._;a4=true;e:while(a4===true){a4=false;a5=true;c:while(a5===true){a5=false;t=this.A-this._;a6=true;b:while(a6===true){a6=false;this.C=this._;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){break b}this.B=this._;if(!e(this,'')){return false}if(!i(this)){break b}break c}this._=this.A-t;a7=true;f:while(a7===true){a7=false;this.C=this._;a8=true;b:while(a8===true){a8=false;aw=this.A-this._;a9=true;g:while(a9===true){a9=false;if(!(b(this,a.a_0,10)===0?false:!k(this)?false:true)){break g}break b}this._=this.A-aw;if(!(!c(this)?false:!f(this,a.g_U,105,305)?false:!l(this)?false:true)){break f}}this.B=this._;if(!e(this,'')){return false}u=this.A-this._;aa=true;b:while(aa===true){aa=false;this.C=this._;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){this._=this.A-u;break b}this.B=this._;if(!e(this,'')){return false}if(!i(this)){this._=this.A-u;break b}}break c}this._=this.A-t;if(!i(this)){this._=this.A-au;break e}}}break a}this._=this.A-d;ab=true;b:while(ab===true){ab=false;this.C=this._;if(!(b(this,a.a_1,2)===0?false:true)){break b}this.B=this._;if(!e(this,'')){return false}break a}this._=this.A-d;ac=true;b:while(ac===true){ac=false;if(!i(this)){break b}break a}this._=this.A-d;ad=true;c:while(ad===true){ad=false;this.C=this._;ae=true;b:while(ae===true){ae=false;v=this.A-this._;af=true;d:while(af===true){af=false;if(!(!c(this)?false:b(this,a.a_6,4)===0?false:true)){break d}break b}this._=this.A-v;ag=true;d:while(ag===true){ag=false;if(!(!c(this)?false:!f(this,a.g_U,105,305)?false:!h(this)?false:true)){break d}break b}this._=this.A-v;if(!(!c(this)?false:b(this,a.a_4,2)===0?false:!h(this)?false:true)){break c}}this.B=this._;if(!e(this,'')){return false}w=this.A-this._;ah=true;b:while(ah===true){ah=false;this.C=this._;ai=true;d:while(ai===true){ai=false;aA=this.A-this._;aj=true;e:while(aj===true){aj=false;if(!(b(this,a.a_0,10)===0?false:!k(this)?false:true)){break e}this.B=this._;if(!e(this,'')){return false}aB=this.A-this._;ak=true;f:while(ak===true){ak=false;this.C=this._;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){this._=this.A-aB;break f}}break d}this._=this.A-aA;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){this._=this.A-w;break b}}this.B=this._;if(!e(this,'')){return false}this.C=this._;if(!i(this)){this._=this.A-w;break b}}break a}az=this._=this.A-d;this.C=az;al=true;b:while(al===true){al=false;ao=this.A-this._;am=true;c:while(am===true){am=false;if(!(b(this,a.a_0,10)===0?false:!k(this)?false:true)){break c}break b}this._=this.A-ao;if(!(!c(this)?false:!f(this,a.g_U,105,305)?false:!l(this)?false:true)){return false}}this.B=this._;if(!e(this,'')){return false}x=this.A-this._;an=true;b:while(an===true){an=false;this.C=this._;if(!(!c(this)?false:b(this,a.a_16,2)===0?false:true)){this._=this.A-x;break b}this.B=this._;if(!e(this,'')){return false}if(!i(this)){this._=this.A-x;break b}}}return true};a.prototype.r_stem_noun_suffixes=a.prototype.z;function L(d){var g;var as;var S;var m;var aw;var n;var ar;var p;var q;var ay;var az;var r;var aq;var s;var t;var at;var au;var av;var u;var ax;var v;var w;var x;var aB;var aC;var ap;var y;var z;var A;var B;var C;var D;var E;var F;var G;var H;var I;var J;var K;var L;var M;var N;var O;var P;var Q;var R;var j;var T;var U;var V;var W;var X;var Y;var Z;var _;var $;var a0;var a1;var a2;var a3;var a4;var a5;var a6;var a7;var a8;var a9;var aa;var ab;var ac;var ad;var ae;var af;var ag;var ah;var ai;var aj;var ak;var al;var am;var an;var ao;var aD;var aA;z=true;a:while(z===true){z=false;g=d.A-d._;A=true;b:while(A===true){A=false;d.C=d._;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){break b}d.B=d._;if(!e(d,'')){return false}as=d.A-d._;B=true;c:while(B===true){B=false;if(!i(d)){d._=d.A-as;break c}}break a}d._=d.A-g;C=true;g:while(C===true){C=false;d.C=d._;if(!(!c(d)?false:b(d,a.a_11,2)===0?false:!o(d)?false:true)){break g}d.B=d._;if(!e(d,'')){return false}S=d.A-d._;D=true;b:while(D===true){D=false;E=true;c:while(E===true){E=false;m=d.A-d._;F=true;d:while(F===true){F=false;d.C=d._;if(!(b(d,a.a_1,2)===0?false:true)){break d}d.B=d._;if(!e(d,'')){return false}break c}d._=d.A-m;G=true;f:while(G===true){G=false;d.C=d._;H=true;d:while(H===true){H=false;aw=d.A-d._;I=true;e:while(I===true){I=false;if(!(b(d,a.a_0,10)===0?false:!k(d)?false:true)){break e}break d}d._=d.A-aw;if(!(!c(d)?false:!f(d,a.g_U,105,305)?false:!l(d)?false:true)){break f}}d.B=d._;if(!e(d,'')){return false}n=d.A-d._;J=true;d:while(J===true){J=false;d.C=d._;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){d._=d.A-n;break d}d.B=d._;if(!e(d,'')){return false}if(!i(d)){d._=d.A-n;break d}}break c}aD=d._=d.A-m;d.C=aD;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){d._=d.A-S;break b}d.B=d._;if(!e(d,'')){return false}if(!i(d)){d._=d.A-S;break b}}}break a}d._=d.A-g;K=true;b:while(K===true){K=false;d.C=d._;L=true;d:while(L===true){L=false;ar=d.A-d._;M=true;c:while(M===true){M=false;if(!(!c(d)?false:b(d,a.a_7,2)===0?false:true)){break c}break d}d._=d.A-ar;if(!(!c(d)?false:b(d,a.a_5,2)===0?false:true)){break b}}N=true;c:while(N===true){N=false;p=d.A-d._;O=true;d:while(O===true){O=false;if(!(b(d,a.a_1,2)===0?false:true)){break d}d.B=d._;if(!e(d,'')){return false}break c}d._=d.A-p;P=true;e:while(P===true){P=false;if(!(!c(d)?false:!f(d,a.g_U,105,305)?false:!l(d)?false:true)){break e}d.B=d._;if(!e(d,'')){return false}q=d.A-d._;Q=true;d:while(Q===true){Q=false;d.C=d._;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){d._=d.A-q;break d}d.B=d._;if(!e(d,'')){return false}if(!i(d)){d._=d.A-q;break d}}break c}d._=d.A-p;if(!i(d)){break b}}break a}d._=d.A-g;R=true;c:while(R===true){R=false;d.C=d._;j=true;b:while(j===true){j=false;ay=d.A-d._;T=true;d:while(T===true){T=false;if(!(!c(d)?false:b(d,a.a_9,2)===0?false:true)){break d}break b}d._=d.A-ay;if(!(!c(d)?false:b(d,a.a_2,4)===0?false:true)){break c}}U=true;d:while(U===true){U=false;az=d.A-d._;V=true;e:while(V===true){V=false;if(!(!c(d)?false:!f(d,a.g_U,105,305)?false:!l(d)?false:true)){break e}d.B=d._;if(!e(d,'')){return false}r=d.A-d._;W=true;b:while(W===true){W=false;d.C=d._;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){d._=d.A-r;break b}d.B=d._;if(!e(d,'')){return false}if(!i(d)){d._=d.A-r;break b}}break d}d._=d.A-az;if(!(b(d,a.a_1,2)===0?false:true)){break c}}break a}d._=d.A-g;X=true;d:while(X===true){X=false;d.C=d._;if(!(!c(d)?false:b(d,a.a_8,4)===0?false:true)){break d}d.B=d._;if(!e(d,'')){return false}aq=d.A-d._;Y=true;e:while(Y===true){Y=false;d.C=d._;Z=true;c:while(Z===true){Z=false;s=d.A-d._;_=true;f:while(_===true){_=false;if(!(b(d,a.a_0,10)===0?false:!k(d)?false:true)){break f}d.B=d._;if(!e(d,'')){return false}t=d.A-d._;$=true;b:while($===true){$=false;d.C=d._;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){d._=d.A-t;break b}d.B=d._;if(!e(d,'')){return false}if(!i(d)){d._=d.A-t;break b}}break c}d._=d.A-s;a0=true;b:while(a0===true){a0=false;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){break b}d.B=d._;if(!e(d,'')){return false}at=d.A-d._;a1=true;f:while(a1===true){a1=false;if(!i(d)){d._=d.A-at;break f}}break c}d._=d.A-s;if(!i(d)){d._=d.A-aq;break e}}}break a}d._=d.A-g;a2=true;d:while(a2===true){a2=false;d.C=d._;a3=true;b:while(a3===true){a3=false;au=d.A-d._;a4=true;c:while(a4===true){a4=false;if(!(!c(d)?false:b(d,a.a_3,4)===0?false:!o(d)?false:true)){break c}break b}d._=d.A-au;if(!(!c(d)?false:b(d,a.a_10,2)===0?false:!h(d)?false:true)){break d}}d.B=d._;if(!e(d,'')){return false}av=d.A-d._;a5=true;e:while(a5===true){a5=false;a6=true;c:while(a6===true){a6=false;u=d.A-d._;a7=true;b:while(a7===true){a7=false;d.C=d._;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){break b}d.B=d._;if(!e(d,'')){return false}if(!i(d)){break b}break c}d._=d.A-u;a8=true;f:while(a8===true){a8=false;d.C=d._;a9=true;b:while(a9===true){a9=false;ax=d.A-d._;aa=true;g:while(aa===true){aa=false;if(!(b(d,a.a_0,10)===0?false:!k(d)?false:true)){break g}break b}d._=d.A-ax;if(!(!c(d)?false:!f(d,a.g_U,105,305)?false:!l(d)?false:true)){break f}}d.B=d._;if(!e(d,'')){return false}v=d.A-d._;ab=true;b:while(ab===true){ab=false;d.C=d._;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){d._=d.A-v;break b}d.B=d._;if(!e(d,'')){return false}if(!i(d)){d._=d.A-v;break b}}break c}d._=d.A-u;if(!i(d)){d._=d.A-av;break e}}}break a}d._=d.A-g;ac=true;b:while(ac===true){ac=false;d.C=d._;if(!(b(d,a.a_1,2)===0?false:true)){break b}d.B=d._;if(!e(d,'')){return false}break a}d._=d.A-g;ad=true;b:while(ad===true){ad=false;if(!i(d)){break b}break a}d._=d.A-g;ae=true;c:while(ae===true){ae=false;d.C=d._;af=true;b:while(af===true){af=false;w=d.A-d._;ag=true;d:while(ag===true){ag=false;if(!(!c(d)?false:b(d,a.a_6,4)===0?false:true)){break d}break b}d._=d.A-w;ah=true;d:while(ah===true){ah=false;if(!(!c(d)?false:!f(d,a.g_U,105,305)?false:!h(d)?false:true)){break d}break b}d._=d.A-w;if(!(!c(d)?false:b(d,a.a_4,2)===0?false:!h(d)?false:true)){break c}}d.B=d._;if(!e(d,'')){return false}x=d.A-d._;ai=true;b:while(ai===true){ai=false;d.C=d._;aj=true;d:while(aj===true){aj=false;aB=d.A-d._;ak=true;e:while(ak===true){ak=false;if(!(b(d,a.a_0,10)===0?false:!k(d)?false:true)){break e}d.B=d._;if(!e(d,'')){return false}aC=d.A-d._;al=true;f:while(al===true){al=false;d.C=d._;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){d._=d.A-aC;break f}}break d}d._=d.A-aB;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){d._=d.A-x;break b}}d.B=d._;if(!e(d,'')){return false}d.C=d._;if(!i(d)){d._=d.A-x;break b}}break a}aA=d._=d.A-g;d.C=aA;am=true;b:while(am===true){am=false;ap=d.A-d._;an=true;c:while(an===true){an=false;if(!(b(d,a.a_0,10)===0?false:!k(d)?false:true)){break c}break b}d._=d.A-ap;if(!(!c(d)?false:!f(d,a.g_U,105,305)?false:!l(d)?false:true)){return false}}d.B=d._;if(!e(d,'')){return false}y=d.A-d._;ao=true;b:while(ao===true){ao=false;d.C=d._;if(!(!c(d)?false:b(d,a.a_16,2)===0?false:true)){d._=d.A-y;break b}d.B=d._;if(!e(d,'')){return false}if(!i(d)){d._=d.A-y;break b}}}return true};a.prototype.w=function(){var c;this.C=this._;c=b(this,a.a_23,4);if(c===0){return false}this.B=this._;switch(c){case 0:return false;case 1:if(!e(this,'p')){return false}break;case 2:if(!e(this,'ç')){return false}break;case 3:if(!e(this,'t')){return false}break;case 4:if(!e(this,'k')){return false}break}return true};a.prototype.r_post_process_last_consonants=a.prototype.w;function w(c){var d;c.C=c._;d=b(c,a.a_23,4);if(d===0){return false}c.B=c._;switch(d){case 0:return false;case 1:if(!e(c,'p')){return false}break;case 2:if(!e(c,'ç')){return false}break;case 3:if(!e(c,'t')){return false}break;case 4:if(!e(c,'k')){return false}break}return true};a.prototype.N=function(){var L;var _;var i;var Y;var B;var W;var K;var l;var S;var Q;var p;var O;var M;var s;var U;var u;var v;var w;var x;var y;var z;var A;var b;var C;var D;var j;var F;var G;var H;var I;var J;var E;var t;var r;var N;var q;var P;var o;var R;var m;var T;var k;var V;var h;var X;var e;var Z;var d;var $;var a0;var a1;var c;L=this.A-this._;u=true;a:while(u===true){u=false;_=this.A-this._;v=true;b:while(v===true){v=false;if(!g(this,1,'d')){break b}break a}this._=this.A-_;if(!g(this,1,'g')){return false}}this._=this.A-L;w=true;a:while(w===true){w=false;i=this.A-this._;x=true;b:while(x===true){x=false;Y=this.A-this._;d:while(true){B=this.A-this._;y=true;c:while(y===true){y=false;if(!f(this,a.g_vowel,97,305)){break c}this._=this.A-B;break d}V=this._=this.A-B;if(V<=this.D){break b}this._--}z=true;c:while(z===true){z=false;W=this.A-this._;A=true;d:while(A===true){A=false;if(!g(this,1,'a')){break d}break c}this._=this.A-W;if(!g(this,1,'ı')){break b}}h=this._=this.A-Y;b=h;N=h;q=n(this,h,h,'ı');if(h<=this.B){this.B+=q|0}if(N<=this.C){this.C+=q|0}this._=b;break a}this._=this.A-i;C=true;b:while(C===true){C=false;K=this.A-this._;c:while(true){l=this.A-this._;D=true;d:while(D===true){D=false;if(!f(this,a.g_vowel,97,305)){break d}this._=this.A-l;break c}X=this._=this.A-l;if(X<=this.D){break b}this._--}j=true;c:while(j===true){j=false;S=this.A-this._;F=true;d:while(F===true){F=false;if(!g(this,1,'e')){break d}break c}this._=this.A-S;if(!g(this,1,'i')){break b}}e=this._=this.A-K;b=e;P=e;o=n(this,e,e,'i');if(e<=this.B){this.B+=o|0}if(P<=this.C){this.C+=o|0}this._=b;break a}this._=this.A-i;G=true;b:while(G===true){G=false;Q=this.A-this._;c:while(true){p=this.A-this._;H=true;d:while(H===true){H=false;if(!f(this,a.g_vowel,97,305)){break d}this._=this.A-p;break c}Z=this._=this.A-p;if(Z<=this.D){break b}this._--}I=true;c:while(I===true){I=false;O=this.A-this._;J=true;d:while(J===true){J=false;if(!g(this,1,'o')){break d}break c}this._=this.A-O;if(!g(this,1,'u')){break b}}d=this._=this.A-Q;b=d;R=d;m=n(this,d,d,'u');if(d<=this.B){this.B+=m|0}if(R<=this.C){this.C+=m|0}this._=b;break a}a1=this._=(a0=this.A)-i;M=a0-a1;b:while(true){s=this.A-this._;E=true;c:while(E===true){E=false;if(!f(this,a.g_vowel,97,305)){break c}this._=this.A-s;break b}$=this._=this.A-s;if($<=this.D){return false}this._--}t=true;b:while(t===true){t=false;U=this.A-this._;r=true;c:while(r===true){r=false;if(!g(this,1,'ö')){break c}break b}this._=this.A-U;if(!g(this,1,'ü')){return false}}c=this._=this.A-M;b=c;T=c;k=n(this,c,c,'ü');if(c<=this.B){this.B+=k|0}if(T<=this.C){this.C+=k|0}this._=b}return true};a.prototype.r_append_U_to_stems_ending_with_d_or_g=a.prototype.N;function z(b){var $;var Z;var j;var X;var F;var L;var T;var m;var R;var P;var q;var N;var V;var t;var M;var v;var w;var x;var y;var z;var A;var B;var c;var D;var E;var C;var G;var H;var I;var J;var K;var u;var s;var r;var O;var p;var Q;var o;var S;var l;var U;var k;var W;var i;var Y;var h;var _;var e;var a0;var a1;var a2;var d;$=b.A-b._;v=true;a:while(v===true){v=false;Z=b.A-b._;w=true;b:while(w===true){w=false;if(!g(b,1,'d')){break b}break a}b._=b.A-Z;if(!g(b,1,'g')){return false}}b._=b.A-$;x=true;a:while(x===true){x=false;j=b.A-b._;y=true;b:while(y===true){y=false;X=b.A-b._;d:while(true){F=b.A-b._;z=true;c:while(z===true){z=false;if(!f(b,a.g_vowel,97,305)){break c}b._=b.A-F;break d}W=b._=b.A-F;if(W<=b.D){break b}b._--}A=true;c:while(A===true){A=false;L=b.A-b._;B=true;d:while(B===true){B=false;if(!g(b,1,'a')){break d}break c}b._=b.A-L;if(!g(b,1,'ı')){break b}}i=b._=b.A-X;c=i;O=i;p=n(b,i,i,'ı');if(i<=b.B){b.B+=p|0}if(O<=b.C){b.C+=p|0}b._=c;break a}b._=b.A-j;D=true;b:while(D===true){D=false;T=b.A-b._;c:while(true){m=b.A-b._;E=true;d:while(E===true){E=false;if(!f(b,a.g_vowel,97,305)){break d}b._=b.A-m;break c}Y=b._=b.A-m;if(Y<=b.D){break b}b._--}C=true;c:while(C===true){C=false;R=b.A-b._;G=true;d:while(G===true){G=false;if(!g(b,1,'e')){break d}break c}b._=b.A-R;if(!g(b,1,'i')){break b}}h=b._=b.A-T;c=h;Q=h;o=n(b,h,h,'i');if(h<=b.B){b.B+=o|0}if(Q<=b.C){b.C+=o|0}b._=c;break a}b._=b.A-j;H=true;b:while(H===true){H=false;P=b.A-b._;c:while(true){q=b.A-b._;I=true;d:while(I===true){I=false;if(!f(b,a.g_vowel,97,305)){break d}b._=b.A-q;break c}_=b._=b.A-q;if(_<=b.D){break b}b._--}J=true;c:while(J===true){J=false;N=b.A-b._;K=true;d:while(K===true){K=false;if(!g(b,1,'o')){break d}break c}b._=b.A-N;if(!g(b,1,'u')){break b}}e=b._=b.A-P;c=e;S=e;l=n(b,e,e,'u');if(e<=b.B){b.B+=l|0}if(S<=b.C){b.C+=l|0}b._=c;break a}a2=b._=(a1=b.A)-j;V=a1-a2;b:while(true){t=b.A-b._;u=true;c:while(u===true){u=false;if(!f(b,a.g_vowel,97,305)){break c}b._=b.A-t;break b}a0=b._=b.A-t;if(a0<=b.D){return false}b._--}s=true;b:while(s===true){s=false;M=b.A-b._;r=true;c:while(r===true){r=false;if(!g(b,1,'ö')){break c}break b}b._=b.A-M;if(!g(b,1,'ü')){return false}}d=b._=b.A-V;c=d;U=d;k=n(b,d,d,'ü');if(d<=b.B){b.B+=k|0}if(U<=b.C){b.C+=k|0}b._=c}return true};a.prototype.v=function(){var e;var f;var b;var c;var d;e=this._;b=2;a:while(true){f=this._;c=true;b:while(c===true){c=false;c:while(true){d=true;d:while(d===true){d=false;if(!v(this,a.g_vowel,97,305)){break d}break c}if(this._>=this.A){break b}this._++}b--;continue a}this._=f;break a}if(b>0){return false}this._=e;return true};a.prototype.r_more_than_one_syllable_word=a.prototype.v;function N(b){var f;var g;var c;var d;var e;f=b._;c=2;a:while(true){g=b._;d=true;b:while(d===true){d=false;c:while(true){e=true;d:while(e===true){e=false;if(!v(b,a.g_vowel,97,305)){break d}break c}if(b._>=b.A){break b}b._++}c--;continue a}b._=g;break a}if(c>0){return false}b._=f;return true};a.prototype.P=function(){var f;var g;var h;var b;var a;var c;var d;var i;var j;var e;b=true;b:while(b===true){b=false;f=this._;a=true;a:while(a===true){a=false;g=this._;c:while(true){c=true;d:while(c===true){c=false;if(!s(this,2,'ad')){break d}break c}if(this._>=this.A){break a}this._++}i=this.I_strlen=2;if(!(i===this.A)){break a}this._=g;break b}j=this._=f;h=j;a:while(true){d=true;c:while(d===true){d=false;if(!s(this,5,'soyad')){break c}break a}if(this._>=this.A){return false}this._++}e=this.I_strlen=5;if(!(e===this.A)){return false}this._=h}return true};a.prototype.r_is_reserved_word=a.prototype.P;function x(a){var g;var h;var i;var c;var b;var d;var e;var j;var k;var f;c=true;b:while(c===true){c=false;g=a._;b=true;a:while(b===true){b=false;h=a._;c:while(true){d=true;d:while(d===true){d=false;if(!s(a,2,'ad')){break d}break c}if(a._>=a.A){break a}a._++}j=a.I_strlen=2;if(!(j===a.A)){break a}a._=h;break b}k=a._=g;i=k;a:while(true){e=true;c:while(e===true){e=false;if(!s(a,5,'soyad')){break c}break a}if(a._>=a.A){return false}a._++}f=a.I_strlen=5;if(!(f===a.A)){return false}a._=i}return true};a.prototype.x=function(){var d;var e;var a;var b;var c;var f;var g;var h;d=this._;a=true;a:while(a===true){a=false;if(!x(this)){break a}return false}f=this._=d;this.D=f;h=this._=g=this.A;e=g-h;b=true;a:while(b===true){b=false;if(!z(this)){break a}}this._=this.A-e;c=true;a:while(c===true){c=false;if(!w(this)){break a}}this._=this.D;return true};a.prototype.r_postlude=a.prototype.x;function O(a){var e;var f;var b;var c;var d;var g;var h;var i;e=a._;b=true;a:while(b===true){b=false;if(!x(a)){break a}return false}g=a._=e;a.D=g;i=a._=h=a.A;f=h-i;c=true;a:while(c===true){c=false;if(!z(a)){break a}}a._=a.A-f;d=true;a:while(d===true){d=false;if(!w(a)){break a}}a._=a.D;return true};a.prototype.H=function(){var c;var a;var b;var d;var e;if(!N(this)){return false}this.D=this._;e=this._=d=this.A;c=d-e;a=true;a:while(a===true){a=false;if(!J(this)){break a}}this._=this.A-c;if(!this.B_continue_stemming_noun_suffixes){return false}b=true;a:while(b===true){b=false;if(!L(this)){break a}}this._=this.D;return!O(this)?false:true};a.prototype.stem=a.prototype.H;a.prototype.L=function(b){return b instanceof a};a.prototype.equals=a.prototype.L;a.prototype.M=function(){var c;var a;var b;var d;c='TurkishStemmer';a=0;for(b=0;b<c.length;b++){d=c.charCodeAt(b);a=(a<<5)-a+d;a=a&a}return a|0};a.prototype.hashCode=a.prototype.M;a.serialVersionUID=1;j(a,'methodObject',function(){return new a});j(a,'a_0',function(){return[new d('m',-1,-1),new d('n',-1,-1),new d('miz',-1,-1),new d('niz',-1,-1),new d('muz',-1,-1),new d('nuz',-1,-1),new d('müz',-1,-1),new d('nüz',-1,-1),new d('mız',-1,-1),new d('nız',-1,-1)]});j(a,'a_1',function(){return[new d('leri',-1,-1),new d('ları',-1,-1)]});j(a,'a_2',function(){return[new d('ni',-1,-1),new d('nu',-1,-1),new d('nü',-1,-1),new d('nı',-1,-1)]});j(a,'a_3',function(){return[new d('in',-1,-1),new d('un',-1,-1),new d('ün',-1,-1),new d('ın',-1,-1)]});j(a,'a_4',function(){return[new d('a',-1,-1),new d('e',-1,-1)]});j(a,'a_5',function(){return[new d('na',-1,-1),new d('ne',-1,-1)]});j(a,'a_6',function(){return[new d('da',-1,-1),new d('ta',-1,-1),new d('de',-1,-1),new d('te',-1,-1)]});j(a,'a_7',function(){return[new d('nda',-1,-1),new d('nde',-1,-1)]});j(a,'a_8',function(){return[new d('dan',-1,-1),new d('tan',-1,-1),new d('den',-1,-1),new d('ten',-1,-1)]});j(a,'a_9',function(){return[new d('ndan',-1,-1),new d('nden',-1,-1)]});j(a,'a_10',function(){return[new d('la',-1,-1),new d('le',-1,-1)]});j(a,'a_11',function(){return[new d('ca',-1,-1),new d('ce',-1,-1)]});j(a,'a_12',function(){return[new d('im',-1,-1),new d('um',-1,-1),new d('üm',-1,-1),new d('ım',-1,-1)]});j(a,'a_13',function(){return[new d('sin',-1,-1),new d('sun',-1,-1),new d('sün',-1,-1),new d('sın',-1,-1)]});j(a,'a_14',function(){return[new d('iz',-1,-1),new d('uz',-1,-1),new d('üz',-1,-1),new d('ız',-1,-1)]});j(a,'a_15',function(){return[new d('siniz',-1,-1),new d('sunuz',-1,-1),new d('sünüz',-1,-1),new d('sınız',-1,-1)]});j(a,'a_16',function(){return[new d('lar',-1,-1),new d('ler',-1,-1)]});j(a,'a_17',function(){return[new d('niz',-1,-1),new d('nuz',-1,-1),new d('nüz',-1,-1),new d('nız',-1,-1)]});j(a,'a_18',function(){return[new d('dir',-1,-1),new d('tir',-1,-1),new d('dur',-1,-1),new d('tur',-1,-1),new d('dür',-1,-1),new d('tür',-1,-1),new d('dır',-1,-1),new d('tır',-1,-1)]});j(a,'a_19',function(){return[new d('casına',-1,-1),new d('cesine',-1,-1)]});j(a,'a_20',function(){return[new d('di',-1,-1),new d('ti',-1,-1),new d('dik',-1,-1),new d('tik',-1,-1),new d('duk',-1,-1),new d('tuk',-1,-1),new d('dük',-1,-1),new d('tük',-1,-1),new d('dık',-1,-1),new d('tık',-1,-1),new d('dim',-1,-1),new d('tim',-1,-1),new d('dum',-1,-1),new d('tum',-1,-1),new d('düm',-1,-1),new d('tüm',-1,-1),new d('dım',-1,-1),new d('tım',-1,-1),new d('din',-1,-1),new d('tin',-1,-1),new d('dun',-1,-1),new d('tun',-1,-1),new d('dün',-1,-1),new d('tün',-1,-1),new d('dın',-1,-1),new d('tın',-1,-1),new d('du',-1,-1),new d('tu',-1,-1),new d('dü',-1,-1),new d('tü',-1,-1),new d('dı',-1,-1),new d('tı',-1,-1)]});j(a,'a_21',function(){return[new d('sa',-1,-1),new d('se',-1,-1),new d('sak',-1,-1),new d('sek',-1,-1),new d('sam',-1,-1),new d('sem',-1,-1),new d('san',-1,-1),new d('sen',-1,-1)]});j(a,'a_22',function(){return[new d('miş',-1,-1),new d('muş',-1,-1),new d('müş',-1,-1),new d('mış',-1,-1)]});j(a,'a_23',function(){return[new d('b',-1,1),new d('c',-1,2),new d('d',-1,3),new d('ğ',-1,4)]});j(a,'g_vowel',function(){return[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,8,0,0,0,0,0,0,1]});j(a,'g_U',function(){return[1,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,1]});j(a,'g_vowel1',function(){return[1,64,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]});j(a,'g_vowel2',function(){return[17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130]});j(a,'g_vowel3',function(){return[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]});j(a,'g_vowel4',function(){return[17]});j(a,'g_vowel5',function(){return[65]});j(a,'g_vowel6',function(){return[65]});var y={'src/stemmer.jsx':{Stemmer:u},'src/turkish-stemmer.jsx':{TurkishStemmer:a}}}(JSX))
var Stemmer = JSX.require("src/turkish-stemmer.jsx").TurkishStemmer;
diff --git a/sphinx/setup_command.py b/sphinx/setup_command.py
index 29a9dace7..3422f3d4c 100644
--- a/sphinx/setup_command.py
+++ b/sphinx/setup_command.py
@@ -14,12 +14,12 @@
import os
import sys
from distutils.cmd import Command
-from distutils.errors import DistutilsOptionError, DistutilsExecError
+from distutils.errors import DistutilsExecError, DistutilsOptionError
from io import StringIO
from sphinx.application import Sphinx
from sphinx.cmd.build import handle_exception
-from sphinx.util.console import nocolor, color_terminal
+from sphinx.util.console import color_terminal, nocolor
from sphinx.util.docutils import docutils_namespace, patch_docutils
from sphinx.util.osutil import abspath
diff --git a/sphinx/testing/fixtures.py b/sphinx/testing/fixtures.py
index f457e3745..e6c3edd18 100644
--- a/sphinx/testing/fixtures.py
+++ b/sphinx/testing/fixtures.py
@@ -21,7 +21,6 @@ import pytest
from sphinx.testing import util
from sphinx.testing.util import SphinxTestApp, SphinxTestAppWrapperForSkipBuilding
-
DEFAULT_ENABLED_MARKERS = [
(
'sphinx(builder, testroot=None, freshenv=False, confoverrides=None, tags=None,'
diff --git a/sphinx/testing/path.py b/sphinx/testing/path.py
index 4c3702e3d..a37839d60 100644
--- a/sphinx/testing/path.py
+++ b/sphinx/testing/path.py
@@ -11,11 +11,10 @@ import os
import shutil
import sys
import warnings
-from typing import Any, Callable, IO, List
+from typing import IO, Any, Callable, List
from sphinx.deprecation import RemovedInSphinx50Warning
-
FILESYSTEMENCODING = sys.getfilesystemencoding() or sys.getdefaultencoding()
diff --git a/sphinx/testing/util.py b/sphinx/testing/util.py
index c0dd1feac..208974115 100644
--- a/sphinx/testing/util.py
+++ b/sphinx/testing/util.py
@@ -13,7 +13,7 @@ import re
import sys
import warnings
from io import StringIO
-from typing import Any, Dict, Generator, IO, List, Pattern
+from typing import IO, Any, Dict, Generator, List, Pattern
from xml.etree import ElementTree
from docutils import nodes
@@ -26,7 +26,6 @@ from sphinx.pycode import ModuleAnalyzer
from sphinx.testing.path import path
from sphinx.util.osutil import relpath
-
__all__ = [
'Struct',
'SphinxTestApp', 'SphinxTestAppWrapperForSkipBuilding',
diff --git a/sphinx/transforms/__init__.py b/sphinx/transforms/__init__.py
index beb983f2a..f854f1772 100644
--- a/sphinx/transforms/__init__.py
+++ b/sphinx/transforms/__init__.py
@@ -23,8 +23,7 @@ from sphinx import addnodes
from sphinx.config import Config
from sphinx.deprecation import RemovedInSphinx40Warning, deprecated_alias
from sphinx.locale import _, __
-from sphinx.util import docutils
-from sphinx.util import logging
+from sphinx.util import docutils, logging
from sphinx.util.docutils import new_document
from sphinx.util.i18n import format_date
from sphinx.util.nodes import NodeMatcher, apply_source_workaround, is_smartquotable
@@ -401,9 +400,8 @@ class ManpageLink(SphinxTransform):
node.attributes.update(info)
-from sphinx.domains.citation import ( # NOQA
- CitationDefinitionTransform, CitationReferenceTransform
-)
+from sphinx.domains.citation import CitationDefinitionTransform # NOQA
+from sphinx.domains.citation import CitationReferenceTransform # NOQA
deprecated_alias('sphinx.transforms',
{
diff --git a/sphinx/transforms/compact_bullet_list.py b/sphinx/transforms/compact_bullet_list.py
index 1cde3b1f0..e30efa92b 100644
--- a/sphinx/transforms/compact_bullet_list.py
+++ b/sphinx/transforms/compact_bullet_list.py
@@ -8,8 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-from typing import Any, Dict, List
-from typing import cast
+from typing import Any, Dict, List, cast
from docutils import nodes
from docutils.nodes import Node
diff --git a/sphinx/transforms/i18n.py b/sphinx/transforms/i18n.py
index c935ab195..bffcb511d 100644
--- a/sphinx/transforms/i18n.py
+++ b/sphinx/transforms/i18n.py
@@ -20,18 +20,18 @@ from docutils.utils import relative_path
from sphinx import addnodes
from sphinx.config import Config
from sphinx.domains.std import make_glossary_term, split_term_classifiers
-from sphinx.locale import __, init as init_locale
+from sphinx.locale import __
+from sphinx.locale import init as init_locale
from sphinx.transforms import SphinxTransform
-from sphinx.util import split_index_msg, logging, get_filetype
+from sphinx.util import get_filetype, logging, split_index_msg
from sphinx.util.i18n import docname_to_domain
-from sphinx.util.nodes import (
- LITERAL_TYPE_NODES, IMAGE_TYPE_NODES, NodeMatcher,
- extract_messages, is_pending_meta, traverse_translatable_index,
-)
+from sphinx.util.nodes import (IMAGE_TYPE_NODES, LITERAL_TYPE_NODES, NodeMatcher,
+ extract_messages, is_pending_meta, traverse_translatable_index)
if False:
# For type annotation
from typing import Type # for python3.5.1
+
from sphinx.application import Sphinx
diff --git a/sphinx/transforms/post_transforms/__init__.py b/sphinx/transforms/post_transforms/__init__.py
index 6633d6434..f9feab2a6 100644
--- a/sphinx/transforms/post_transforms/__init__.py
+++ b/sphinx/transforms/post_transforms/__init__.py
@@ -8,8 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-from typing import Any, Dict, List, Tuple, Type
-from typing import cast
+from typing import Any, Dict, List, Tuple, Type, cast
from docutils import nodes
from docutils.nodes import Element
@@ -25,7 +24,6 @@ from sphinx.util import logging
from sphinx.util.docutils import SphinxTranslator
from sphinx.util.nodes import process_only_nodes
-
logger = logging.getLogger(__name__)
diff --git a/sphinx/transforms/post_transforms/code.py b/sphinx/transforms/post_transforms/code.py
index 2012d6e11..d306b5c80 100644
--- a/sphinx/transforms/post_transforms/code.py
+++ b/sphinx/transforms/post_transforms/code.py
@@ -20,7 +20,6 @@ from sphinx.application import Sphinx
from sphinx.ext import doctest
from sphinx.transforms import SphinxTransform
-
HighlightSetting = NamedTuple('HighlightSetting', [('language', str),
('force', bool),
('lineno_threshold', int)])
diff --git a/sphinx/transforms/post_transforms/images.py b/sphinx/transforms/post_transforms/images.py
index 949c09dde..4865aa615 100644
--- a/sphinx/transforms/post_transforms/images.py
+++ b/sphinx/transforms/post_transforms/images.py
@@ -18,12 +18,10 @@ from docutils import nodes
from sphinx.application import Sphinx
from sphinx.locale import __
from sphinx.transforms import SphinxTransform
-from sphinx.util import epoch_to_rfc1123, rfc1123_to_epoch, sha1
-from sphinx.util import logging, requests
-from sphinx.util.images import guess_mimetype, get_image_extension, parse_data_uri
+from sphinx.util import epoch_to_rfc1123, logging, requests, rfc1123_to_epoch, sha1
+from sphinx.util.images import get_image_extension, guess_mimetype, parse_data_uri
from sphinx.util.osutil import ensuredir, movefile
-
logger = logging.getLogger(__name__)
MAX_FILENAME_LEN = 32
diff --git a/sphinx/util/__init__.py b/sphinx/util/__init__.py
index 082c5caa3..9349ed0e4 100644
--- a/sphinx/util/__init__.py
+++ b/sphinx/util/__init__.py
@@ -25,33 +25,29 @@ from datetime import datetime
from importlib import import_module
from os import path
from time import mktime, strptime
-from typing import Any, Callable, Dict, IO, Iterable, Iterator, List, Pattern, Set, Tuple
-from urllib.parse import urlsplit, urlunsplit, quote_plus, parse_qsl, urlencode
+from typing import IO, Any, Callable, Dict, Iterable, Iterator, List, Pattern, Set, Tuple
+from urllib.parse import parse_qsl, quote_plus, urlencode, urlsplit, urlunsplit
from sphinx.deprecation import RemovedInSphinx40Warning, RemovedInSphinx50Warning
-from sphinx.errors import (
- PycodeError, SphinxParallelError, ExtensionError, FiletypeNotFoundError
-)
+from sphinx.errors import (ExtensionError, FiletypeNotFoundError, PycodeError,
+ SphinxParallelError)
from sphinx.locale import __
-from sphinx.util import logging
-from sphinx.util.console import strip_colors, colorize, bold, term_width_line # type: ignore
-from sphinx.util.typing import PathMatcher
from sphinx.util import smartypants # noqa
-
+from sphinx.util import logging
+from sphinx.util.console import bold, colorize, strip_colors, term_width_line # type: ignore
+from sphinx.util.matching import patfilter # noqa
+from sphinx.util.nodes import (caption_ref_re, explicit_title_re, # noqa
+ nested_parse_with_titles, split_explicit_title)
# import other utilities; partly for backwards compatibility, so don't
# prune unused ones indiscriminately
-from sphinx.util.osutil import ( # noqa
- SEP, os_path, relative_uri, ensuredir, walk, mtimes_of_files, movefile,
- copyfile, copytimes, make_filename)
-from sphinx.util.nodes import ( # noqa
- nested_parse_with_titles, split_explicit_title, explicit_title_re,
- caption_ref_re)
-from sphinx.util.matching import patfilter # noqa
-
+from sphinx.util.osutil import (SEP, copyfile, copytimes, ensuredir, make_filename, # noqa
+ movefile, mtimes_of_files, os_path, relative_uri, walk)
+from sphinx.util.typing import PathMatcher
if False:
# For type annotation
from typing import Type # for python3.5.1
+
from sphinx.application import Sphinx
@@ -241,10 +237,12 @@ _DEBUG_HEADER = '''\
def save_traceback(app: "Sphinx") -> str:
"""Save the current exception's traceback in a temporary file."""
- import sphinx
- import jinja2
- import docutils
import platform
+
+ import docutils
+ import jinja2
+
+ import sphinx
exc = sys.exc_info()[1]
if isinstance(exc, SphinxParallelError):
exc_format = '(Error in parallel process)\n' + exc.traceback
diff --git a/sphinx/util/cfamily.py b/sphinx/util/cfamily.py
index 0edea128c..17c335b60 100644
--- a/sphinx/util/cfamily.py
+++ b/sphinx/util/cfamily.py
@@ -11,9 +11,7 @@
import re
import warnings
from copy import deepcopy
-from typing import (
- Any, Callable, List, Match, Optional, Pattern, Tuple, Union
-)
+from typing import Any, Callable, List, Match, Optional, Pattern, Tuple, Union
from docutils import nodes
from docutils.nodes import TextElement
diff --git a/sphinx/util/console.py b/sphinx/util/console.py
index d429be602..579a95134 100644
--- a/sphinx/util/console.py
+++ b/sphinx/util/console.py
@@ -32,9 +32,9 @@ def terminal_safe(s: str) -> str:
def get_terminal_width() -> int:
"""Borrowed from the py lib."""
try:
- import termios
import fcntl
import struct
+ import termios
call = fcntl.ioctl(0, termios.TIOCGWINSZ, struct.pack('hhhh', 0, 0, 0, 0))
height, width = struct.unpack('hhhh', call)[:2]
terminal_width = width
diff --git a/sphinx/util/docfields.py b/sphinx/util/docfields.py
index c07bc7f66..404bb127f 100644
--- a/sphinx/util/docfields.py
+++ b/sphinx/util/docfields.py
@@ -10,8 +10,7 @@
"""
import warnings
-from typing import Any, Dict, List, Tuple, Union
-from typing import cast
+from typing import Any, Dict, List, Tuple, Union, cast
from docutils import nodes
from docutils.nodes import Node
@@ -23,8 +22,9 @@ from sphinx.util.typing import TextlikeNode
if False:
# For type annotation
from typing import Type # for python3.5.1
- from sphinx.environment import BuildEnvironment
+
from sphinx.directive import ObjectDescription
+ from sphinx.environment import BuildEnvironment
def _is_single_paragraph(node: nodes.field_body) -> bool:
diff --git a/sphinx/util/docstrings.py b/sphinx/util/docstrings.py
index 67a008643..206986bd0 100644
--- a/sphinx/util/docstrings.py
+++ b/sphinx/util/docstrings.py
@@ -17,7 +17,6 @@ from docutils.parsers.rst.states import Body
from sphinx.deprecation import RemovedInSphinx50Warning
-
field_list_item_re = re.compile(Body.patterns['field_marker'])
diff --git a/sphinx/util/docutils.py b/sphinx/util/docutils.py
index 3ba7813b6..7831f267c 100644
--- a/sphinx/util/docutils.py
+++ b/sphinx/util/docutils.py
@@ -15,8 +15,7 @@ from copy import copy
from distutils.version import LooseVersion
from os import path
from types import ModuleType
-from typing import Any, Callable, Dict, Generator, IO, List, Optional, Set, Tuple
-from typing import cast
+from typing import IO, Any, Callable, Dict, Generator, List, Optional, Set, Tuple, cast
import docutils
from docutils import nodes
@@ -24,7 +23,7 @@ from docutils.io import FileOutput
from docutils.nodes import Element, Node, system_message
from docutils.parsers.rst import Directive, directives, roles
from docutils.parsers.rst.states import Inliner
-from docutils.statemachine import StateMachine, State, StringList
+from docutils.statemachine import State, StateMachine, StringList
from docutils.utils import Reporter, unescape
from sphinx.errors import SphinxError
@@ -37,6 +36,7 @@ report_re = re.compile('^(.+?:(?:\\d+)?): \\((DEBUG|INFO|WARNING|ERROR|SEVERE)/(
if False:
# For type annotation
from typing import Type # for python3.5.1
+
from sphinx.builders import Builder
from sphinx.config import Config
from sphinx.environment import BuildEnvironment
diff --git a/sphinx/util/inspect.py b/sphinx/util/inspect.py
index 1eaccb678..2eafa124f 100644
--- a/sphinx/util/inspect.py
+++ b/sphinx/util/inspect.py
@@ -18,12 +18,9 @@ import types
import typing
import warnings
from functools import partial, partialmethod
-from inspect import ( # NOQA
- Parameter, isclass, ismethod, ismethoddescriptor, ismodule
-)
+from inspect import Parameter, isclass, ismethod, ismethoddescriptor, ismodule # NOQA
from io import StringIO
-from typing import Any, Callable, Dict, Mapping, List, Optional, Tuple
-from typing import cast
+from typing import Any, Callable, Dict, List, Mapping, Optional, Tuple, cast
from sphinx.deprecation import RemovedInSphinx40Warning, RemovedInSphinx50Warning
from sphinx.pycode.ast import ast # for py35-37
@@ -33,11 +30,7 @@ from sphinx.util.typing import ForwardRef
from sphinx.util.typing import stringify as stringify_annotation
if sys.version_info > (3, 7):
- from types import (
- ClassMethodDescriptorType,
- MethodDescriptorType,
- WrapperDescriptorType
- )
+ from types import ClassMethodDescriptorType, MethodDescriptorType, WrapperDescriptorType
else:
ClassMethodDescriptorType = type(object.__init__)
MethodDescriptorType = type(str.join)
diff --git a/sphinx/util/inventory.py b/sphinx/util/inventory.py
index 1e3572323..6d3b5f455 100644
--- a/sphinx/util/inventory.py
+++ b/sphinx/util/inventory.py
@@ -10,12 +10,11 @@
import os
import re
import zlib
-from typing import Callable, IO, Iterator
+from typing import IO, Callable, Iterator
from sphinx.util import logging
from sphinx.util.typing import Inventory
-
BUFSIZE = 16 * 1024
logger = logging.getLogger(__name__)
diff --git a/sphinx/util/jsdump.py b/sphinx/util/jsdump.py
index 1f0e258cb..0cd3c8b8c 100644
--- a/sphinx/util/jsdump.py
+++ b/sphinx/util/jsdump.py
@@ -10,7 +10,7 @@
"""
import re
-from typing import Any, Dict, IO, List, Match, Union
+from typing import IO, Any, Dict, List, Match, Union
_str_re = re.compile(r'"(\\\\|\\"|[^"])*"')
_int_re = re.compile(r'\d+')
diff --git a/sphinx/util/jsonimpl.py b/sphinx/util/jsonimpl.py
index 35501f03a..4cb3bc93f 100644
--- a/sphinx/util/jsonimpl.py
+++ b/sphinx/util/jsonimpl.py
@@ -11,11 +11,10 @@
import json
import warnings
from collections import UserString
-from typing import Any, IO
+from typing import IO, Any
from sphinx.deprecation import RemovedInSphinx40Warning
-
warnings.warn('sphinx.util.jsonimpl is deprecated',
RemovedInSphinx40Warning, stacklevel=2)
diff --git a/sphinx/util/logging.py b/sphinx/util/logging.py
index 5889f3860..0f2a8b6f0 100644
--- a/sphinx/util/logging.py
+++ b/sphinx/util/logging.py
@@ -12,7 +12,7 @@ import logging
import logging.handlers
from collections import defaultdict
from contextlib import contextmanager
-from typing import Any, Dict, Generator, IO, List, Tuple, Union
+from typing import IO, Any, Dict, Generator, List, Tuple, Union
from docutils import nodes
from docutils.nodes import Node
@@ -24,6 +24,7 @@ from sphinx.util.console import colorize
if False:
# For type annotation
from typing import Type # for python3.5.1
+
from sphinx.application import Sphinx
diff --git a/sphinx/util/nodes.py b/sphinx/util/nodes.py
index b4d796f61..05e9cb7b2 100644
--- a/sphinx/util/nodes.py
+++ b/sphinx/util/nodes.py
@@ -11,8 +11,7 @@
import re
import unicodedata
import warnings
-from typing import Any, Callable, Iterable, List, Set, Tuple
-from typing import cast
+from typing import Any, Callable, Iterable, List, Set, Tuple, cast
from docutils import nodes
from docutils.nodes import Element, Node
@@ -28,6 +27,7 @@ from sphinx.util import logging
if False:
# For type annotation
from typing import Type # for python3.5.1
+
from sphinx.builders import Builder
from sphinx.domain import IndexEntry
from sphinx.environment import BuildEnvironment
diff --git a/sphinx/util/png.py b/sphinx/util/png.py
index 22c35d991..3dd22d7ff 100644
--- a/sphinx/util/png.py
+++ b/sphinx/util/png.py
@@ -12,7 +12,6 @@ import binascii
import struct
from typing import Optional
-
LEN_IEND = 12
LEN_DEPTH = 22
diff --git a/sphinx/util/pycompat.py b/sphinx/util/pycompat.py
index 50eee5ce3..6474cf141 100644
--- a/sphinx/util/pycompat.py
+++ b/sphinx/util/pycompat.py
@@ -21,7 +21,6 @@ from sphinx.util import logging
from sphinx.util.console import terminal_safe
from sphinx.util.typing import NoneType
-
logger = logging.getLogger(__name__)
@@ -32,8 +31,8 @@ logger = logging.getLogger(__name__)
# support for running 2to3 over config files
def convert_with_2to3(filepath: str) -> str:
try:
- from lib2to3.refactor import RefactoringTool, get_fixers_from_package
from lib2to3.pgen2.parse import ParseError
+ from lib2to3.refactor import RefactoringTool, get_fixers_from_package
except ImportError as exc:
# python 3.9.0a6+ emits PendingDeprecationWarning for lib2to3.
# Additionally, removal of the module is still discussed at PEP-594.
diff --git a/sphinx/util/rst.py b/sphinx/util/rst.py
index e93849b70..b67b68c4a 100644
--- a/sphinx/util/rst.py
+++ b/sphinx/util/rst.py
@@ -18,12 +18,10 @@ from docutils.parsers.rst import roles
from docutils.parsers.rst.languages import en as english
from docutils.statemachine import StringList
from docutils.utils import Reporter
-from jinja2 import Environment
-from jinja2 import environmentfilter
+from jinja2 import Environment, environmentfilter
from sphinx.locale import __
-from sphinx.util import docutils
-from sphinx.util import logging
+from sphinx.util import docutils, logging
logger = logging.getLogger(__name__)
diff --git a/sphinx/util/smartypants.py b/sphinx/util/smartypants.py
index 43f8bc724..ec6b2172c 100644
--- a/sphinx/util/smartypants.py
+++ b/sphinx/util/smartypants.py
@@ -32,7 +32,6 @@ from docutils.utils import smartquotes
from sphinx.util.docutils import __version_info__ as docutils_version
-
langquotes = {'af': '“”‘’',
'af-x-altquot': '„”‚’',
'bg': '„“‚‘', # Bulgarian, https://bg.wikipedia.org/wiki/Кавички
diff --git a/sphinx/util/texescape.py b/sphinx/util/texescape.py
index afa1c349e..98e763aaf 100644
--- a/sphinx/util/texescape.py
+++ b/sphinx/util/texescape.py
@@ -13,7 +13,6 @@ from typing import Dict
from sphinx.deprecation import RemovedInSphinx40Warning, deprecated_alias
-
tex_replacements = [
# map TeX special chars
('$', r'\$'),
diff --git a/sphinx/util/typing.py b/sphinx/util/typing.py
index 7b3509b62..0a2d7f3d0 100644
--- a/sphinx/util/typing.py
+++ b/sphinx/util/typing.py
@@ -15,7 +15,6 @@ from typing import Any, Callable, Dict, Generator, List, Optional, Tuple, TypeVa
from docutils import nodes
from docutils.parsers.rst.states import Inliner
-
if sys.version_info > (3, 7):
from typing import ForwardRef
else:
diff --git a/sphinx/writers/html.py b/sphinx/writers/html.py
index 8813c2d12..d3c87076f 100644
--- a/sphinx/writers/html.py
+++ b/sphinx/writers/html.py
@@ -13,17 +13,17 @@ import os
import posixpath
import re
import warnings
-from typing import Any, Iterable, Tuple
-from typing import cast
+from typing import Any, Iterable, Tuple, cast
from docutils import nodes
from docutils.nodes import Element, Node, Text
-from docutils.writers.html4css1 import Writer, HTMLTranslator as BaseTranslator
+from docutils.writers.html4css1 import HTMLTranslator as BaseTranslator
+from docutils.writers.html4css1 import Writer
from sphinx import addnodes
from sphinx.builders import Builder
from sphinx.deprecation import RemovedInSphinx40Warning
-from sphinx.locale import admonitionlabels, _, __
+from sphinx.locale import _, __, admonitionlabels
from sphinx.util import logging
from sphinx.util.docutils import SphinxTranslator
from sphinx.util.images import get_image_size
diff --git a/sphinx/writers/html5.py b/sphinx/writers/html5.py
index 4ceeaafdf..7824f54f5 100644
--- a/sphinx/writers/html5.py
+++ b/sphinx/writers/html5.py
@@ -12,8 +12,7 @@ import os
import posixpath
import re
import warnings
-from typing import Any, Iterable, Tuple
-from typing import cast
+from typing import Any, Iterable, Tuple, cast
from docutils import nodes
from docutils.nodes import Element, Node, Text
@@ -22,7 +21,7 @@ from docutils.writers.html5_polyglot import HTMLTranslator as BaseTranslator
from sphinx import addnodes
from sphinx.builders import Builder
from sphinx.deprecation import RemovedInSphinx40Warning
-from sphinx.locale import admonitionlabels, _, __
+from sphinx.locale import _, __, admonitionlabels
from sphinx.util import logging
from sphinx.util.docutils import SphinxTranslator
from sphinx.util.images import get_image_size
diff --git a/sphinx/writers/latex.py b/sphinx/writers/latex.py
index b77202951..cb8e5dff3 100644
--- a/sphinx/writers/latex.py
+++ b/sphinx/writers/latex.py
@@ -15,22 +15,19 @@ import re
import warnings
from collections import defaultdict
from os import path
-from typing import Any, Dict, Iterable, Iterator, List, Tuple, Set, Union
-from typing import cast
+from typing import Any, Dict, Iterable, Iterator, List, Set, Tuple, Union, cast
from docutils import nodes, writers
from docutils.nodes import Element, Node, Text
-from sphinx import addnodes
-from sphinx import highlighting
-from sphinx.deprecation import (
- RemovedInSphinx40Warning, RemovedInSphinx50Warning, deprecated_alias
-)
+from sphinx import addnodes, highlighting
+from sphinx.deprecation import (RemovedInSphinx40Warning, RemovedInSphinx50Warning,
+ deprecated_alias)
from sphinx.domains import IndexEntry
from sphinx.domains.std import StandardDomain
from sphinx.errors import SphinxError
-from sphinx.locale import admonitionlabels, _, __
-from sphinx.util import split_into, logging, texescape
+from sphinx.locale import _, __, admonitionlabels
+from sphinx.util import logging, split_into, texescape
from sphinx.util.docutils import SphinxTranslator
from sphinx.util.nodes import clean_astext, get_prev_node
from sphinx.util.template import LaTeXRenderer
@@ -2128,7 +2125,6 @@ class LaTeXTranslator(SphinxTranslator):
from sphinx.builders.latex import constants # NOQA
from sphinx.builders.latex.util import ExtBabel # NOQA
-
deprecated_alias('sphinx.writers.latex',
{
'ADDITIONAL_SETTINGS': constants.ADDITIONAL_SETTINGS,
@@ -2161,4 +2157,6 @@ deprecated_alias('sphinx.writers.latex',
# FIXME: Workaround to avoid circular import
# refs: https://github.com/sphinx-doc/sphinx/issues/5433
-from sphinx.builders.latex.nodes import HYPERLINK_SUPPORT_NODES, captioned_literal_block, footnotetext # NOQA
+from sphinx.builders.latex.nodes import ( # NOQA isort:skip
+ HYPERLINK_SUPPORT_NODES, captioned_literal_block, footnotetext,
+)
diff --git a/sphinx/writers/manpage.py b/sphinx/writers/manpage.py
index 7da2f4e8f..c8593c6e8 100644
--- a/sphinx/writers/manpage.py
+++ b/sphinx/writers/manpage.py
@@ -9,26 +9,22 @@
"""
import warnings
-from typing import Any, Dict, Iterable
-from typing import cast
+from typing import Any, Dict, Iterable, cast
from docutils import nodes
from docutils.nodes import Element, Node, TextElement
-from docutils.writers.manpage import (
- Writer,
- Translator as BaseTranslator
-)
+from docutils.writers.manpage import Translator as BaseTranslator
+from docutils.writers.manpage import Writer
from sphinx import addnodes
from sphinx.builders import Builder
from sphinx.deprecation import RemovedInSphinx40Warning
-from sphinx.locale import admonitionlabels, _
+from sphinx.locale import _, admonitionlabels
from sphinx.util import logging
from sphinx.util.docutils import SphinxTranslator
from sphinx.util.i18n import format_date
from sphinx.util.nodes import NodeMatcher
-
logger = logging.getLogger(__name__)
diff --git a/sphinx/writers/texinfo.py b/sphinx/writers/texinfo.py
index e0d7d04fa..5e7f98de7 100644
--- a/sphinx/writers/texinfo.py
+++ b/sphinx/writers/texinfo.py
@@ -12,18 +12,18 @@ import re
import textwrap
import warnings
from os import path
-from typing import Any, Dict, Iterable, Iterator, List, Optional, Pattern, Set, Tuple, Union
-from typing import cast
+from typing import (Any, Dict, Iterable, Iterator, List, Optional, Pattern, Set, Tuple, Union,
+ cast)
from docutils import nodes, writers
from docutils.nodes import Element, Node, Text
-from sphinx import addnodes, __display_version__
+from sphinx import __display_version__, addnodes
from sphinx.deprecation import RemovedInSphinx50Warning
from sphinx.domains import IndexEntry
from sphinx.domains.index import IndexDomain
from sphinx.errors import ExtensionError
-from sphinx.locale import admonitionlabels, _, __
+from sphinx.locale import _, __, admonitionlabels
from sphinx.util import logging
from sphinx.util.docutils import SphinxTranslator
from sphinx.util.i18n import format_date
diff --git a/sphinx/writers/text.py b/sphinx/writers/text.py
index 9cb066e0b..c110f80e8 100644
--- a/sphinx/writers/text.py
+++ b/sphinx/writers/text.py
@@ -11,16 +11,15 @@ import math
import os
import re
import textwrap
-from itertools import groupby, chain
-from typing import Any, Dict, Generator, List, Iterable, Optional, Set, Tuple, Union
-from typing import cast
+from itertools import chain, groupby
+from typing import Any, Dict, Generator, Iterable, List, Optional, Set, Tuple, Union, cast
from docutils import nodes, writers
from docutils.nodes import Element, Node, Text
from docutils.utils import column_width
from sphinx import addnodes
-from sphinx.locale import admonitionlabels, _
+from sphinx.locale import _, admonitionlabels
from sphinx.util.docutils import SphinxTranslator
if False:
diff --git a/tests/conftest.py b/tests/conftest.py
index 6a08dba76..bacd13013 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -13,8 +13,8 @@ import docutils
import pytest
import sphinx
-from sphinx.testing.path import path
from sphinx.testing import comparer
+from sphinx.testing.path import path
pytest_plugins = 'sphinx.testing.fixtures'
diff --git a/tests/roots/test-api-set-translator/conf.py b/tests/roots/test-api-set-translator/conf.py
index 15f45a679..671f3905a 100644
--- a/tests/roots/test-api-set-translator/conf.py
+++ b/tests/roots/test-api-set-translator/conf.py
@@ -11,7 +11,6 @@ from sphinx.writers.manpage import ManualPageTranslator
from sphinx.writers.texinfo import TexinfoTranslator
from sphinx.writers.text import TextTranslator
-
project = 'test'
diff --git a/tests/roots/test-apidoc-toc/mypackage/main.py b/tests/roots/test-apidoc-toc/mypackage/main.py
index 813db805e..c43573a38 100755
--- a/tests/roots/test-apidoc-toc/mypackage/main.py
+++ b/tests/roots/test-apidoc-toc/mypackage/main.py
@@ -5,7 +5,6 @@ import os
import mod_resource
import mod_something
-
if __name__ == "__main__":
print("Hello, world! -> something returns: {}".format(mod_something.something()))
diff --git a/tests/roots/test-ext-autodoc/autodoc_dummy_module.py b/tests/roots/test-ext-autodoc/autodoc_dummy_module.py
index 5cc427ea4..1e9ed19dc 100644
--- a/tests/roots/test-ext-autodoc/autodoc_dummy_module.py
+++ b/tests/roots/test-ext-autodoc/autodoc_dummy_module.py
@@ -1,4 +1,4 @@
-from dummy import * # NOQA
+from dummy import * # NOQA
def test():
diff --git a/tests/roots/test-ext-autodoc/target/__init__.py b/tests/roots/test-ext-autodoc/target/__init__.py
index b6684ee85..e49f9a141 100644
--- a/tests/roots/test-ext-autodoc/target/__init__.py
+++ b/tests/roots/test-ext-autodoc/target/__init__.py
@@ -3,7 +3,6 @@ from io import StringIO
from sphinx.util import save_traceback # NOQA
-
__all__ = ['Class']
#: documentation for the integer
diff --git a/tests/roots/test-ext-autodoc/target/annotations.py b/tests/roots/test-ext-autodoc/target/annotations.py
index 667149b26..691176b08 100644
--- a/tests/roots/test-ext-autodoc/target/annotations.py
+++ b/tests/roots/test-ext-autodoc/target/annotations.py
@@ -1,6 +1,6 @@
from __future__ import annotations
-from typing import overload
+from typing import overload
myint = int
diff --git a/tests/roots/test-ext-autodoc/target/generic_class.py b/tests/roots/test-ext-autodoc/target/generic_class.py
index cf4c5ed37..e6ff38abc 100644
--- a/tests/roots/test-ext-autodoc/target/generic_class.py
+++ b/tests/roots/test-ext-autodoc/target/generic_class.py
@@ -1,5 +1,4 @@
-from typing import TypeVar, Generic
-
+from typing import Generic, TypeVar
T = TypeVar('T')
diff --git a/tests/roots/test-ext-autodoc/target/genericalias.py b/tests/roots/test-ext-autodoc/target/genericalias.py
index 78b68cd63..d37bcb7fa 100644
--- a/tests/roots/test-ext-autodoc/target/genericalias.py
+++ b/tests/roots/test-ext-autodoc/target/genericalias.py
@@ -1,4 +1,4 @@
-from typing import List, Callable
+from typing import Callable, List
#: A list of int
T = List[int]
diff --git a/tests/roots/test-ext-autodoc/target/name_conflict/__init__.py b/tests/roots/test-ext-autodoc/target/name_conflict/__init__.py
index 7ad521fc2..0a6f49653 100644
--- a/tests/roots/test-ext-autodoc/target/name_conflict/__init__.py
+++ b/tests/roots/test-ext-autodoc/target/name_conflict/__init__.py
@@ -1,5 +1,6 @@
from .foo import bar
+
class foo:
"""docstring of target.name_conflict::foo."""
pass
diff --git a/tests/roots/test-ext-autodoc/target/need_mocks.py b/tests/roots/test-ext-autodoc/target/need_mocks.py
index b8a661581..275ce8d5f 100644
--- a/tests/roots/test-ext-autodoc/target/need_mocks.py
+++ b/tests/roots/test-ext-autodoc/target/need_mocks.py
@@ -1,12 +1,12 @@
-import missing_module # NOQA
-import missing_package1.missing_module1 # NOQA
-from missing_module import missing_name # NOQA
-from missing_package2 import missing_module2 # NOQA
-from missing_package3.missing_module3 import missing_name # NOQA
-
-import sphinx.missing_module4 # NOQA
-from sphinx.missing_module4 import missing_name2 # NOQA
+import missing_module # NOQA
+import missing_package1.missing_module1 # NOQA
+from missing_module import missing_name # NOQA
+from missing_package2 import missing_module2 # NOQA
+from missing_package3.missing_module3 import missing_name # NOQA
+
+import sphinx.missing_module4 # NOQA
+from sphinx.missing_module4 import missing_name2 # NOQA
@missing_name
diff --git a/tests/roots/test-ext-autodoc/target/singledispatch.py b/tests/roots/test-ext-autodoc/target/singledispatch.py
index 33dcae43a..3fa81dcae 100644
--- a/tests/roots/test-ext-autodoc/target/singledispatch.py
+++ b/tests/roots/test-ext-autodoc/target/singledispatch.py
@@ -1,5 +1,5 @@
-from functools import singledispatch
import inspect
+from functools import singledispatch
def assign_signature(func):
diff --git a/tests/roots/test-ext-autosummary-imported_members/conf.py b/tests/roots/test-ext-autosummary-imported_members/conf.py
index 4cfff02dc..77af668ab 100644
--- a/tests/roots/test-ext-autosummary-imported_members/conf.py
+++ b/tests/roots/test-ext-autosummary-imported_members/conf.py
@@ -1,5 +1,6 @@
import os
import sys
+
sys.path.insert(0, os.path.abspath('.'))
extensions = ['sphinx.ext.autosummary']
diff --git a/tests/roots/test-ext-autosummary-mock_imports/conf.py b/tests/roots/test-ext-autosummary-mock_imports/conf.py
index 1097e3c04..121f81459 100644
--- a/tests/roots/test-ext-autosummary-mock_imports/conf.py
+++ b/tests/roots/test-ext-autosummary-mock_imports/conf.py
@@ -1,5 +1,6 @@
import os
import sys
+
sys.path.insert(0, os.path.abspath('.'))
extensions = ['sphinx.ext.autosummary']
diff --git a/tests/roots/test-ext-autosummary/autosummary_dummy_module.py b/tests/roots/test-ext-autosummary/autosummary_dummy_module.py
index 77eee8b5c..ca3475459 100644
--- a/tests/roots/test-ext-autosummary/autosummary_dummy_module.py
+++ b/tests/roots/test-ext-autosummary/autosummary_dummy_module.py
@@ -1,7 +1,6 @@
from os import path # NOQA
from typing import Union
-
#: module variable
CONSTANT1 = None
CONSTANT2 = None
diff --git a/tests/roots/test-ext-viewcode-find/not_a_package/__init__.py b/tests/roots/test-ext-viewcode-find/not_a_package/__init__.py
index 8efc933b8..f79ec81f5 100644
--- a/tests/roots/test-ext-viewcode-find/not_a_package/__init__.py
+++ b/tests/roots/test-ext-viewcode-find/not_a_package/__init__.py
@@ -1 +1 @@
-from .submodule import func1, Class1 # NOQA
+from .submodule import Class1, func1 # NOQA
diff --git a/tests/roots/test-ext-viewcode/spam/__init__.py b/tests/roots/test-ext-viewcode/spam/__init__.py
index 2d5ca8239..c438f6050 100644
--- a/tests/roots/test-ext-viewcode/spam/__init__.py
+++ b/tests/roots/test-ext-viewcode/spam/__init__.py
@@ -1,2 +1,2 @@
-from .mod1 import func1, Class1 # NOQA
-from .mod2 import func2, Class2 # NOQA
+from .mod1 import Class1, func1 # NOQA
+from .mod2 import Class2, func2 # NOQA
diff --git a/tests/roots/test-ext-viewcode/spam/mod3.py b/tests/roots/test-ext-viewcode/spam/mod3.py
index f7b6afbe0..812c9b586 100644
--- a/tests/roots/test-ext-viewcode/spam/mod3.py
+++ b/tests/roots/test-ext-viewcode/spam/mod3.py
@@ -1,2 +1,3 @@
from spam.mod1 import Class3
+
__all__ = ('Class3',)
diff --git a/tests/roots/test-prolog/conf.py b/tests/roots/test-prolog/conf.py
index e5ce87151..f6be09c5e 100644
--- a/tests/roots/test-prolog/conf.py
+++ b/tests/roots/test-prolog/conf.py
@@ -1,5 +1,6 @@
import os
import sys
+
sys.path.insert(0, os.path.abspath('.'))
diff --git a/tests/roots/test-pycode-egg/src/setup.py b/tests/roots/test-pycode-egg/src/setup.py
index 6ad4986e4..1dfb1de29 100644
--- a/tests/roots/test-pycode-egg/src/setup.py
+++ b/tests/roots/test-pycode-egg/src/setup.py
@@ -1,5 +1,4 @@
from setuptools import setup
-
setup(name='sample',
py_modules=['sample'])
diff --git a/tests/roots/test-root/autodoc_target.py b/tests/roots/test-root/autodoc_target.py
index a1540d90a..a49ffc1ff 100644
--- a/tests/roots/test-root/autodoc_target.py
+++ b/tests/roots/test-root/autodoc_target.py
@@ -1,7 +1,6 @@
import enum
from io import StringIO
-
__all__ = ['Class']
#: documentation for the integer
diff --git a/tests/roots/test-root/conf.py b/tests/roots/test-root/conf.py
index c3a890045..34cafa767 100644
--- a/tests/roots/test-root/conf.py
+++ b/tests/roots/test-root/conf.py
@@ -6,7 +6,6 @@ from docutils.parsers.rst import Directive
from sphinx import addnodes
-
sys.path.append(os.path.abspath('.'))
extensions = ['sphinx.ext.autodoc',
diff --git a/tests/roots/test-theming/setup.py b/tests/roots/test-theming/setup.py
index 02ee259c0..7b504e807 100644
--- a/tests/roots/test-theming/setup.py
+++ b/tests/roots/test-theming/setup.py
@@ -1,4 +1,4 @@
-from setuptools import setup, find_packages
+from setuptools import find_packages, setup
setup(
name='test-theme',
diff --git a/tests/roots/test-warnings/conf.py b/tests/roots/test-warnings/conf.py
index 9d12e2d79..25b8aba07 100644
--- a/tests/roots/test-warnings/conf.py
+++ b/tests/roots/test-warnings/conf.py
@@ -1,5 +1,6 @@
import os
import sys
+
sys.path.append(os.path.abspath('.'))
extensions = ['sphinx.ext.autodoc']
diff --git a/tests/test_build_epub.py b/tests/test_build_epub.py
index c17954fd3..470414915 100644
--- a/tests/test_build_epub.py
+++ b/tests/test_build_epub.py
@@ -10,7 +10,7 @@
import os
import subprocess
-from subprocess import CalledProcessError, PIPE
+from subprocess import PIPE, CalledProcessError
from xml.etree import ElementTree
import pytest
diff --git a/tests/test_build_gettext.py b/tests/test_build_gettext.py
index 074602ea9..08fda9644 100644
--- a/tests/test_build_gettext.py
+++ b/tests/test_build_gettext.py
@@ -12,7 +12,7 @@ import gettext
import os
import re
import subprocess
-from subprocess import CalledProcessError, PIPE
+from subprocess import PIPE, CalledProcessError
import pytest
diff --git a/tests/test_build_html.py b/tests/test_build_html.py
index 1f9f8eac7..6b66a2c67 100644
--- a/tests/test_build_html.py
+++ b/tests/test_build_html.py
@@ -11,7 +11,7 @@
import os
import re
from distutils.version import LooseVersion
-from itertools import cycle, chain
+from itertools import chain, cycle
import pygments
import pytest
@@ -23,7 +23,6 @@ from sphinx.testing.util import strip_escseq
from sphinx.util import docutils, md5
from sphinx.util.inventory import InventoryFile
-
ENV_WARNINGS = """\
%(root)s/autodoc_fodder.py:docstring of autodoc_fodder.MarkupError:\\d+: \
WARNING: Explicit markup ends without a blank line; unexpected unindent.
diff --git a/tests/test_build_latex.py b/tests/test_build_latex.py
index 8dbe2a48c..ebaeecef2 100644
--- a/tests/test_build_latex.py
+++ b/tests/test_build_latex.py
@@ -13,7 +13,7 @@ import re
import subprocess
from itertools import product
from shutil import copyfile
-from subprocess import CalledProcessError, PIPE
+from subprocess import PIPE, CalledProcessError
import pytest
from test_build_html import ENV_WARNINGS
@@ -26,7 +26,6 @@ from sphinx.util import docutils
from sphinx.util.osutil import cd, ensuredir
from sphinx.writers.latex import LaTeXTranslator
-
LATEX_ENGINES = ['pdflatex', 'lualatex', 'xelatex']
DOCCLASSES = ['howto', 'manual']
STYLEFILES = ['article.cls', 'fancyhdr.sty', 'titlesec.sty', 'amsmath.sty',
diff --git a/tests/test_build_linkcheck.py b/tests/test_build_linkcheck.py
index 908319e6b..502a082f3 100644
--- a/tests/test_build_linkcheck.py
+++ b/tests/test_build_linkcheck.py
@@ -12,6 +12,7 @@ import http.server
import json
import re
from unittest import mock
+
import pytest
from utils import http_server
diff --git a/tests/test_build_texinfo.py b/tests/test_build_texinfo.py
index 9833218d7..18cb42eb5 100644
--- a/tests/test_build_texinfo.py
+++ b/tests/test_build_texinfo.py
@@ -11,7 +11,7 @@
import os
import re
import subprocess
-from subprocess import CalledProcessError, PIPE
+from subprocess import PIPE, CalledProcessError
from unittest.mock import Mock
import pytest
@@ -23,7 +23,6 @@ from sphinx.testing.util import strip_escseq
from sphinx.util.docutils import new_document
from sphinx.writers.texinfo import TexinfoTranslator
-
TEXINFO_WARNINGS = ENV_WARNINGS + """\
%(root)s/index.rst:\\d+: WARNING: unknown option: &option
%(root)s/index.rst:\\d+: WARNING: citation not found: missing
diff --git a/tests/test_build_text.py b/tests/test_build_text.py
index 8c00f5550..0ada5bb70 100644
--- a/tests/test_build_text.py
+++ b/tests/test_build_text.py
@@ -11,7 +11,7 @@
import pytest
from docutils.utils import column_width
-from sphinx.writers.text import MAXWIDTH, Table, Cell
+from sphinx.writers.text import MAXWIDTH, Cell, Table
def with_text_app(*args, **kw):
diff --git a/tests/test_config.py b/tests/test_config.py
index 552cbc90d..64face9fc 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -14,8 +14,8 @@ from unittest import mock
import pytest
import sphinx
-from sphinx.config import Config, ENUM, check_confval_types
-from sphinx.errors import ExtensionError, ConfigError, VersionRequirementError
+from sphinx.config import ENUM, Config, check_confval_types
+from sphinx.errors import ConfigError, ExtensionError, VersionRequirementError
from sphinx.testing.path import path
diff --git a/tests/test_domain_c.py b/tests/test_domain_c.py
index f1014f6b8..57a7c49e6 100644
--- a/tests/test_domain_c.py
+++ b/tests/test_domain_c.py
@@ -7,14 +7,13 @@
:copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
"""
-import pytest
-
from xml.etree import ElementTree
+import pytest
+
from sphinx import addnodes
from sphinx.addnodes import desc
-from sphinx.domains.c import DefinitionParser, DefinitionError
-from sphinx.domains.c import _max_id, _id_prefix, Symbol
+from sphinx.domains.c import DefinitionError, DefinitionParser, Symbol, _id_prefix, _max_id
from sphinx.testing import restructuredtext
from sphinx.testing.util import assert_node
diff --git a/tests/test_domain_cpp.py b/tests/test_domain_cpp.py
index b22a51730..2c8a43071 100644
--- a/tests/test_domain_cpp.py
+++ b/tests/test_domain_cpp.py
@@ -15,8 +15,8 @@ import pytest
import sphinx.domains.cpp as cppDomain
from sphinx import addnodes
from sphinx.addnodes import desc
-from sphinx.domains.cpp import DefinitionParser, DefinitionError, NoOldIdError
-from sphinx.domains.cpp import Symbol, _max_id, _id_prefix
+from sphinx.domains.cpp import (DefinitionError, DefinitionParser, NoOldIdError, Symbol,
+ _id_prefix, _max_id)
from sphinx.testing import restructuredtext
from sphinx.testing.util import assert_node
from sphinx.util import docutils
diff --git a/tests/test_domain_js.py b/tests/test_domain_js.py
index 9d0b59b91..58c54c766 100644
--- a/tests/test_domain_js.py
+++ b/tests/test_domain_js.py
@@ -14,10 +14,8 @@ import pytest
from docutils import nodes
from sphinx import addnodes
-from sphinx.addnodes import (
- desc, desc_annotation, desc_content, desc_name,
- desc_parameter, desc_parameterlist, desc_signature
-)
+from sphinx.addnodes import (desc, desc_annotation, desc_content, desc_name, desc_parameter,
+ desc_parameterlist, desc_signature)
from sphinx.domains.javascript import JavaScriptDomain
from sphinx.testing import restructuredtext
from sphinx.testing.util import assert_node
diff --git a/tests/test_domain_py.py b/tests/test_domain_py.py
index d81b406c2..2dc97bed9 100644
--- a/tests/test_domain_py.py
+++ b/tests/test_domain_py.py
@@ -15,15 +15,13 @@ import pytest
from docutils import nodes
from sphinx import addnodes
-from sphinx.addnodes import (
- desc, desc_addname, desc_annotation, desc_content, desc_name, desc_optional,
- desc_parameter, desc_parameterlist, desc_returns, desc_signature,
- desc_sig_name, desc_sig_operator, desc_sig_punctuation, pending_xref,
-)
+from sphinx.addnodes import (desc, desc_addname, desc_annotation, desc_content, desc_name,
+ desc_optional, desc_parameter, desc_parameterlist, desc_returns,
+ desc_sig_name, desc_sig_operator, desc_sig_punctuation,
+ desc_signature, pending_xref)
from sphinx.domains import IndexEntry
-from sphinx.domains.python import (
- py_sig_re, _parse_annotation, _pseudo_parse_arglist, PythonDomain, PythonModuleIndex
-)
+from sphinx.domains.python import (PythonDomain, PythonModuleIndex, _parse_annotation,
+ _pseudo_parse_arglist, py_sig_re)
from sphinx.testing import restructuredtext
from sphinx.testing.util import assert_node
diff --git a/tests/test_domain_rst.py b/tests/test_domain_rst.py
index 86fe7ef3f..93401e6c9 100644
--- a/tests/test_domain_rst.py
+++ b/tests/test_domain_rst.py
@@ -9,9 +9,8 @@
"""
from sphinx import addnodes
-from sphinx.addnodes import (
- desc, desc_addname, desc_annotation, desc_content, desc_name, desc_signature
-)
+from sphinx.addnodes import (desc, desc_addname, desc_annotation, desc_content, desc_name,
+ desc_signature)
from sphinx.domains.rst import parse_directive
from sphinx.testing import restructuredtext
from sphinx.testing.util import assert_node
diff --git a/tests/test_domain_std.py b/tests/test_domain_std.py
index 33a000a3f..92876fa6a 100644
--- a/tests/test_domain_std.py
+++ b/tests/test_domain_std.py
@@ -8,20 +8,16 @@
:license: BSD, see LICENSE for details.
"""
-import pytest
-
from unittest import mock
+import pytest
from docutils import nodes
from docutils.nodes import definition, definition_list, definition_list_item, term
-
from html5lib import HTMLParser
from sphinx import addnodes
-from sphinx.addnodes import (
- desc, desc_addname, desc_content, desc_name, desc_signature, glossary, index,
- pending_xref
-)
+from sphinx.addnodes import (desc, desc_addname, desc_content, desc_name, desc_signature,
+ glossary, index, pending_xref)
from sphinx.domains.std import StandardDomain
from sphinx.testing import restructuredtext
from sphinx.testing.util import assert_node
diff --git a/tests/test_environment.py b/tests/test_environment.py
index 7290eb6a0..0cc1247c0 100644
--- a/tests/test_environment.py
+++ b/tests/test_environment.py
@@ -9,11 +9,12 @@
"""
import os
import shutil
+
import pytest
from sphinx.builders.html import StandaloneHTMLBuilder
from sphinx.builders.latex import LaTeXBuilder
-from sphinx.environment import CONFIG_OK, CONFIG_CHANGED, CONFIG_EXTENSIONS_CHANGED, CONFIG_NEW
+from sphinx.environment import CONFIG_CHANGED, CONFIG_EXTENSIONS_CHANGED, CONFIG_NEW, CONFIG_OK
from sphinx.testing.comparer import PathComparer
diff --git a/tests/test_environment_toctree.py b/tests/test_environment_toctree.py
index 4059e5cb2..db79c358f 100644
--- a/tests/test_environment_toctree.py
+++ b/tests/test_environment_toctree.py
@@ -10,7 +10,7 @@
import pytest
from docutils import nodes
-from docutils.nodes import bullet_list, list_item, caption, comment, reference
+from docutils.nodes import bullet_list, caption, comment, list_item, reference
from sphinx import addnodes
from sphinx.addnodes import compact_paragraph, only
diff --git a/tests/test_ext_autodoc.py b/tests/test_ext_autodoc.py
index 703cc13f6..140c9351e 100644
--- a/tests/test_ext_autodoc.py
+++ b/tests/test_ext_autodoc.py
@@ -17,7 +17,7 @@ import pytest
from docutils.statemachine import ViewList
from sphinx import addnodes
-from sphinx.ext.autodoc import ModuleLevelDocumenter, ALL, Options
+from sphinx.ext.autodoc import ALL, ModuleLevelDocumenter, Options
from sphinx.ext.autodoc.directive import DocumenterBridge, process_documenter_options
from sphinx.testing.util import SphinxTestApp, Struct # NOQA
from sphinx.util.docutils import LoggingReporter
diff --git a/tests/test_ext_autodoc_autoclass.py b/tests/test_ext_autodoc_autoclass.py
index fdbff1186..f71ffd679 100644
--- a/tests/test_ext_autodoc_autoclass.py
+++ b/tests/test_ext_autodoc_autoclass.py
@@ -12,7 +12,6 @@
import sys
import pytest
-
from test_ext_autodoc import do_autodoc
diff --git a/tests/test_ext_autodoc_autofunction.py b/tests/test_ext_autodoc_autofunction.py
index 3c8165995..c6a7af7c9 100644
--- a/tests/test_ext_autodoc_autofunction.py
+++ b/tests/test_ext_autodoc_autofunction.py
@@ -12,7 +12,6 @@
import sys
import pytest
-
from test_ext_autodoc import do_autodoc
diff --git a/tests/test_ext_autodoc_configs.py b/tests/test_ext_autodoc_configs.py
index a0eba20c8..19d69d558 100644
--- a/tests/test_ext_autodoc_configs.py
+++ b/tests/test_ext_autodoc_configs.py
@@ -12,11 +12,10 @@ import platform
import sys
import pytest
+from test_ext_autodoc import do_autodoc
from sphinx.testing import restructuredtext
-from test_ext_autodoc import do_autodoc
-
IS_PYPY = platform.python_implementation() == 'PyPy'
diff --git a/tests/test_ext_autodoc_events.py b/tests/test_ext_autodoc_events.py
index 798f593dc..193d6e87b 100644
--- a/tests/test_ext_autodoc_events.py
+++ b/tests/test_ext_autodoc_events.py
@@ -9,9 +9,9 @@
"""
import pytest
+from test_ext_autodoc import do_autodoc
from sphinx.ext.autodoc import between, cut_lines
-from test_ext_autodoc import do_autodoc
@pytest.mark.sphinx('html', testroot='ext-autodoc')
diff --git a/tests/test_ext_autodoc_private_members.py b/tests/test_ext_autodoc_private_members.py
index 9d7ff487a..88cceefed 100644
--- a/tests/test_ext_autodoc_private_members.py
+++ b/tests/test_ext_autodoc_private_members.py
@@ -9,7 +9,6 @@
"""
import pytest
-
from test_ext_autodoc import do_autodoc
diff --git a/tests/test_ext_autosummary.py b/tests/test_ext_autosummary.py
index 96b39ce0e..3832bc963 100644
--- a/tests/test_ext_autosummary.py
+++ b/tests/test_ext_autosummary.py
@@ -16,13 +16,11 @@ import pytest
from docutils import nodes
from sphinx import addnodes
-from sphinx.ext.autosummary import (
- autosummary_table, autosummary_toc, mangle_signature, import_by_name, extract_summary
-)
-from sphinx.ext.autosummary.generate import (
- AutosummaryEntry, generate_autosummary_content, generate_autosummary_docs,
- main as autogen_main
-)
+from sphinx.ext.autosummary import (autosummary_table, autosummary_toc, extract_summary,
+ import_by_name, mangle_signature)
+from sphinx.ext.autosummary.generate import (AutosummaryEntry, generate_autosummary_content,
+ generate_autosummary_docs)
+from sphinx.ext.autosummary.generate import main as autogen_main
from sphinx.testing.util import assert_node, etree_parse
from sphinx.util.docutils import new_document
from sphinx.util.osutil import cd
diff --git a/tests/test_ext_doctest.py b/tests/test_ext_doctest.py
index ebf7e19d3..0ba53e791 100644
--- a/tests/test_ext_doctest.py
+++ b/tests/test_ext_doctest.py
@@ -10,8 +10,8 @@
import os
from collections import Counter
-from docutils import nodes
import pytest
+from docutils import nodes
from packaging.specifiers import InvalidSpecifier
from packaging.version import InvalidVersion
diff --git a/tests/test_ext_duration.py b/tests/test_ext_duration.py
index 51b3e63aa..debe7fa56 100644
--- a/tests/test_ext_duration.py
+++ b/tests/test_ext_duration.py
@@ -9,6 +9,7 @@
"""
import re
+
import pytest
diff --git a/tests/test_ext_inheritance_diagram.py b/tests/test_ext_inheritance_diagram.py
index 2ecb3f4e4..4eff0e35c 100644
--- a/tests/test_ext_inheritance_diagram.py
+++ b/tests/test_ext_inheritance_diagram.py
@@ -8,15 +8,14 @@
:license: BSD, see LICENSE for details.
"""
-import re
import os
+import re
import sys
import pytest
-from sphinx.ext.inheritance_diagram import (
- InheritanceDiagram, InheritanceException, import_classes
-)
+from sphinx.ext.inheritance_diagram import (InheritanceDiagram, InheritanceException,
+ import_classes)
@pytest.mark.sphinx(buildername="html", testroot="inheritance")
diff --git a/tests/test_ext_intersphinx.py b/tests/test_ext_intersphinx.py
index a88f64c71..ef621e2b6 100644
--- a/tests/test_ext_intersphinx.py
+++ b/tests/test_ext_intersphinx.py
@@ -19,12 +19,10 @@ from docutils import nodes
from test_util_inventory import inventory_v2, inventory_v2_not_having_version
from sphinx import addnodes
-from sphinx.ext.intersphinx import (
- load_mappings, missing_reference, normalize_intersphinx_mapping, _strip_basic_auth,
- _get_safe_url, fetch_inventory, INVENTORY_FILENAME, inspect_main
-)
+from sphinx.ext.intersphinx import (INVENTORY_FILENAME, _get_safe_url, _strip_basic_auth,
+ fetch_inventory, inspect_main, load_mappings,
+ missing_reference, normalize_intersphinx_mapping)
from sphinx.ext.intersphinx import setup as intersphinx_setup
-
from utils import http_server
diff --git a/tests/test_ext_napoleon.py b/tests/test_ext_napoleon.py
index 9f356ce9e..c271a7c9a 100644
--- a/tests/test_ext_napoleon.py
+++ b/tests/test_ext_napoleon.py
@@ -14,8 +14,8 @@ from collections import namedtuple
from unittest import TestCase, mock
from sphinx.application import Sphinx
+from sphinx.ext.napoleon import Config, _process_docstring, _skip_member, setup
from sphinx.testing.util import simple_decorator
-from sphinx.ext.napoleon import _process_docstring, _skip_member, Config, setup
def _private_doc():
diff --git a/tests/test_ext_napoleon_docstring.py b/tests/test_ext_napoleon_docstring.py
index 0ebc145b6..0d2f8727e 100644
--- a/tests/test_ext_napoleon_docstring.py
+++ b/tests/test_ext_napoleon_docstring.py
@@ -19,13 +19,9 @@ from unittest import TestCase, mock
import pytest
from sphinx.ext.napoleon import Config
-from sphinx.ext.napoleon.docstring import GoogleDocstring, NumpyDocstring
-from sphinx.ext.napoleon.docstring import (
- _tokenize_type_spec,
- _recombine_set_tokens,
- _convert_numpy_type_spec,
- _token_type
-)
+from sphinx.ext.napoleon.docstring import (GoogleDocstring, NumpyDocstring,
+ _convert_numpy_type_spec, _recombine_set_tokens,
+ _token_type, _tokenize_type_spec)
class NamedtupleSubclass(namedtuple('NamedtupleSubclass', ('attr1', 'attr2'))):
diff --git a/tests/test_ext_napoleon_iterators.py b/tests/test_ext_napoleon_iterators.py
index de28031cb..456287e7c 100644
--- a/tests/test_ext_napoleon_iterators.py
+++ b/tests/test_ext_napoleon_iterators.py
@@ -11,7 +11,7 @@
from unittest import TestCase
-from sphinx.ext.napoleon.iterators import peek_iter, modify_iter
+from sphinx.ext.napoleon.iterators import modify_iter, peek_iter
class BaseIteratorsTest(TestCase):
diff --git a/tests/test_highlighting.py b/tests/test_highlighting.py
index c2b470a6b..19ca8bde9 100644
--- a/tests/test_highlighting.py
+++ b/tests/test_highlighting.py
@@ -12,7 +12,7 @@ from unittest import mock
from pygments.formatters.html import HtmlFormatter
from pygments.lexer import RegexLexer
-from pygments.token import Text, Name
+from pygments.token import Name, Text
from sphinx.highlighting import PygmentsBridge
diff --git a/tests/test_intl.py b/tests/test_intl.py
index c0b87d5ce..de242be72 100644
--- a/tests/test_intl.py
+++ b/tests/test_intl.py
@@ -13,16 +13,13 @@ import os
import re
import pytest
-from babel.messages import pofile, mofile
+from babel.messages import mofile, pofile
from babel.messages.catalog import Catalog
from docutils import nodes
from sphinx import locale
-from sphinx.testing.util import (
- path, etree_parse, strip_escseq,
- assert_re_search, assert_not_re_search, assert_startswith, assert_node
-)
-
+from sphinx.testing.util import (assert_node, assert_not_re_search, assert_re_search,
+ assert_startswith, etree_parse, path, strip_escseq)
sphinx_intl = pytest.mark.sphinx(
testroot='intl',
diff --git a/tests/test_markup.py b/tests/test_markup.py
index 5fb835605..e7d855c36 100644
--- a/tests/test_markup.py
+++ b/tests/test_markup.py
@@ -11,7 +11,7 @@
import re
import pytest
-from docutils import frontend, utils, nodes
+from docutils import frontend, nodes, utils
from docutils.parsers.rst import Parser as RstParser
from sphinx import addnodes
@@ -21,11 +21,10 @@ from sphinx.builders.latex.theming import ThemeFactory
from sphinx.roles import XRefRole
from sphinx.testing.util import Struct, assert_node
from sphinx.transforms import SphinxSmartQuotes
-from sphinx.util import docutils
-from sphinx.util import texescape
+from sphinx.util import docutils, texescape
from sphinx.util.docutils import sphinx_domains
-from sphinx.writers.html import HTMLWriter, HTMLTranslator
-from sphinx.writers.latex import LaTeXWriter, LaTeXTranslator
+from sphinx.writers.html import HTMLTranslator, HTMLWriter
+from sphinx.writers.latex import LaTeXTranslator, LaTeXWriter
@pytest.fixture
diff --git a/tests/test_pycode.py b/tests/test_pycode.py
index 20f01f17d..ac3b34c9f 100644
--- a/tests/test_pycode.py
+++ b/tests/test_pycode.py
@@ -10,11 +10,12 @@
import os
import sys
+
import pytest
import sphinx
-from sphinx.pycode import ModuleAnalyzer
from sphinx.errors import PycodeError
+from sphinx.pycode import ModuleAnalyzer
SPHINX_MODULE_PATH = os.path.splitext(sphinx.__file__)[0] + '.py'
diff --git a/tests/test_quickstart.py b/tests/test_quickstart.py
index bdd7073d1..26f1d0d9e 100644
--- a/tests/test_quickstart.py
+++ b/tests/test_quickstart.py
@@ -15,10 +15,9 @@ import pytest
from sphinx import application
from sphinx.cmd import quickstart as qs
-from sphinx.util.console import nocolor, coloron
+from sphinx.util.console import coloron, nocolor
from sphinx.util.pycompat import execfile_
-
warnfile = StringIO()
diff --git a/tests/test_search.py b/tests/test_search.py
index a4cefbc67..5f8e46302 100644
--- a/tests/test_search.py
+++ b/tests/test_search.py
@@ -8,8 +8,8 @@
:license: BSD, see LICENSE for details.
"""
-from io import BytesIO
from collections import namedtuple
+from io import BytesIO
import pytest
from docutils import frontend, utils
diff --git a/tests/test_theming.py b/tests/test_theming.py
index 93671eab8..f1cb5a3e8 100644
--- a/tests/test_theming.py
+++ b/tests/test_theming.py
@@ -11,8 +11,8 @@
import os
import alabaster
-
import pytest
+
from sphinx.theming import ThemeError
diff --git a/tests/test_util.py b/tests/test_util.py
index 434d96d3a..c58931bb4 100644
--- a/tests/test_util.py
+++ b/tests/test_util.py
@@ -17,11 +17,9 @@ import pytest
import sphinx
from sphinx.errors import ExtensionError, PycodeError
from sphinx.testing.util import strip_escseq
-from sphinx.util import (
- SkipProgressMessage, display_chunk, encode_uri, ensuredir,
- import_object, parselinenos, progress_message, status_iterator, xmlname_checker
-)
-from sphinx.util import logging
+from sphinx.util import (SkipProgressMessage, display_chunk, encode_uri, ensuredir,
+ import_object, logging, parselinenos, progress_message,
+ status_iterator, xmlname_checker)
def test_encode_uri():
diff --git a/tests/test_util_docstrings.py b/tests/test_util_docstrings.py
index a57e3f9b1..e6ae32306 100644
--- a/tests/test_util_docstrings.py
+++ b/tests/test_util_docstrings.py
@@ -8,9 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-from sphinx.util.docstrings import (
- extract_metadata, prepare_docstring, prepare_commentdoc
-)
+from sphinx.util.docstrings import extract_metadata, prepare_commentdoc, prepare_docstring
def test_extract_metadata():
diff --git a/tests/test_util_docutils.py b/tests/test_util_docutils.py
index a22cf277a..41be9b8d1 100644
--- a/tests/test_util_docutils.py
+++ b/tests/test_util_docutils.py
@@ -12,9 +12,8 @@ import os
from docutils import nodes
-from sphinx.util.docutils import (
- SphinxFileOutput, SphinxTranslator, docutils_namespace, new_document, register_node
-)
+from sphinx.util.docutils import (SphinxFileOutput, SphinxTranslator, docutils_namespace,
+ new_document, register_node)
def test_register_node():
diff --git a/tests/test_util_images.py b/tests/test_util_images.py
index 2a256577f..dd2044dff 100644
--- a/tests/test_util_images.py
+++ b/tests/test_util_images.py
@@ -10,9 +10,8 @@
import pytest
-from sphinx.util.images import (
- get_image_size, guess_mimetype, get_image_extension, parse_data_uri
-)
+from sphinx.util.images import (get_image_extension, get_image_size, guess_mimetype,
+ parse_data_uri)
GIF_FILENAME = 'img.gif'
PNG_FILENAME = 'img.png'
diff --git a/tests/test_util_inspect.py b/tests/test_util_inspect.py
index 204fa65b7..19c48a4af 100644
--- a/tests/test_util_inspect.py
+++ b/tests/test_util_inspect.py
@@ -8,7 +8,6 @@
:license: BSD, see LICENSE for details.
"""
-import _testcapi
import ast
import datetime
import functools
@@ -16,10 +15,11 @@ import sys
import types
from inspect import Parameter
+import _testcapi
import pytest
from sphinx.util import inspect
-from sphinx.util.inspect import stringify_signature, is_builtin_class_method
+from sphinx.util.inspect import is_builtin_class_method, stringify_signature
def test_signature():
@@ -129,8 +129,8 @@ def test_signature_partialmethod():
def test_signature_annotations():
- from typing_test_data import (f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10,
- f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, Node)
+ from typing_test_data import (Node, f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12,
+ f13, f14, f15, f16, f17, f18, f19, f20, f21)
# Class annotations
sig = inspect.signature(f0)
@@ -240,7 +240,7 @@ def test_signature_annotations():
@pytest.mark.skipif(sys.version_info < (3, 8), reason='python 3.8+ is required.')
@pytest.mark.sphinx(testroot='ext-autodoc')
def test_signature_annotations_py38(app):
- from target.pep570 import foo, bar, baz, qux
+ from target.pep570 import bar, baz, foo, qux
# case: separator at head
sig = inspect.signature(foo)
@@ -528,8 +528,7 @@ def test_iscoroutinefunction(app):
@pytest.mark.sphinx(testroot='ext-autodoc')
def test_isfunction(app):
- from target.functions import builtin_func, partial_builtin_func
- from target.functions import func, partial_func
+ from target.functions import builtin_func, func, partial_builtin_func, partial_func
from target.methods import Base
assert inspect.isfunction(func) is True # function
@@ -543,8 +542,7 @@ def test_isfunction(app):
@pytest.mark.sphinx(testroot='ext-autodoc')
def test_isbuiltin(app):
- from target.functions import builtin_func, partial_builtin_func
- from target.functions import func, partial_func
+ from target.functions import builtin_func, func, partial_builtin_func, partial_func
from target.methods import Base
assert inspect.isbuiltin(builtin_func) is True # builtin function
diff --git a/tests/test_util_matching.py b/tests/test_util_matching.py
index 0a6bdc7b3..9d90f5a90 100644
--- a/tests/test_util_matching.py
+++ b/tests/test_util_matching.py
@@ -7,7 +7,7 @@
:copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
"""
-from sphinx.util.matching import compile_matchers, Matcher
+from sphinx.util.matching import Matcher, compile_matchers
def test_compile_matchers():
diff --git a/tests/test_util_nodes.py b/tests/test_util_nodes.py
index 8fe9ee773..dd41022f3 100644
--- a/tests/test_util_nodes.py
+++ b/tests/test_util_nodes.py
@@ -11,15 +11,13 @@ from textwrap import dedent
from typing import Any
import pytest
-from docutils import frontend
-from docutils import nodes
+from docutils import frontend, nodes
from docutils.parsers import rst
from docutils.utils import new_document
from sphinx.transforms import ApplySourceWorkaround
-from sphinx.util.nodes import (
- NodeMatcher, extract_messages, clean_astext, make_id, split_explicit_title
-)
+from sphinx.util.nodes import (NodeMatcher, clean_astext, extract_messages, make_id,
+ split_explicit_title)
def _transform(doctree):
diff --git a/tests/test_util_rst.py b/tests/test_util_rst.py
index dd78fe5ba..58cf46fe8 100644
--- a/tests/test_util_rst.py
+++ b/tests/test_util_rst.py
@@ -11,9 +11,7 @@
from docutils.statemachine import StringList
from jinja2 import Environment
-from sphinx.util.rst import (
- append_epilog, escape, heading, prepend_prolog, textwidth
-)
+from sphinx.util.rst import append_epilog, escape, heading, prepend_prolog, textwidth
def test_escape():
diff --git a/tests/test_util_typing.py b/tests/test_util_typing.py
index 4059dc6bd..354db1567 100644
--- a/tests/test_util_typing.py
+++ b/tests/test_util_typing.py
@@ -10,9 +10,8 @@
import sys
from numbers import Integral
-from typing import (
- Any, Dict, Generator, List, TypeVar, Union, Callable, Tuple, Optional, Generic
-)
+from typing import (Any, Callable, Dict, Generator, Generic, List, Optional, Tuple, TypeVar,
+ Union)
import pytest
diff --git a/tests/test_versioning.py b/tests/test_versioning.py
index 7fe3bce6f..e5f5474cf 100644
--- a/tests/test_versioning.py
+++ b/tests/test_versioning.py
@@ -15,8 +15,7 @@ from docutils.parsers.rst.directives.html import MetaBody
from sphinx import addnodes
from sphinx.testing.util import SphinxTestApp
-from sphinx.versioning import add_uids, merge_doctrees, get_ratio
-
+from sphinx.versioning import add_uids, get_ratio, merge_doctrees
app = original = original_uids = None
diff --git a/tests/typing_test_data.py b/tests/typing_test_data.py
index 6c0357911..8b30c843f 100644
--- a/tests/typing_test_data.py
+++ b/tests/typing_test_data.py
@@ -1,6 +1,6 @@
from inspect import Signature
from numbers import Integral
-from typing import Any, Dict, List, TypeVar, Union, Callable, Tuple, Optional
+from typing import Any, Callable, Dict, List, Optional, Tuple, TypeVar, Union
def f0(x: int, y: Integral) -> None:
diff --git a/tox.ini b/tox.ini
index 316655d20..5bb5b4639 100644
--- a/tox.ini
+++ b/tox.ini
@@ -41,6 +41,17 @@ extras =
commands =
flake8 {posargs}
+[testenv:isort]
+basepython = python3
+description =
+ Run import sorting checks.
+whitelist_externals =
+ isort
+extras =
+ lint
+commands =
+ isort --check-only --diff .
+
[testenv:coverage]
basepython = python3
description =
diff --git a/utils/doclinter.py b/utils/doclinter.py
index bb11decaf..f8df20bf7 100644
--- a/utils/doclinter.py
+++ b/utils/doclinter.py
@@ -13,7 +13,6 @@ import re
import sys
from typing import List
-
MAX_LINE_LENGTH = 85
LONG_INTERPRETED_TEXT = re.compile(r'^\s*\W*(:(\w+:)+)?`.*`\W*$')
CODE_BLOCK_DIRECTIVE = re.compile(r'^(\s*)\.\. code-block::')