We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
update sphinx version
we are on https://github.com/vyperlang/vyper/blob/9cf66c9dd12c9a020c6945c100cc1266be262ebe/requirements-docs.txt#L1 but the latest version is v7.2.6 - https://pypi.org/project/Sphinx/

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `docs/conf.py`
Content:
```
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 #
4 # Vyper documentation build configuration file, created by
5 # sphinx-quickstart on Wed Jul 26 11:18:29 2017.
6 #
7 # This file is execfile()d with the current directory set to its
8 # containing dir.
9 #
10 # Note that not all possible configuration values are present in this
11 # autogenerated file.
12 #
13 # All configuration values have a default; values that are commented out
14 # serve to show the default.
15 
16 # If extensions (or modules to document with autodoc) are in another directory,
17 # add these directories to sys.path here. If the directory is relative to the
18 # documentation root, use os.path.abspath to make it absolute, like shown here.
19 #
20 # import os
21 # import sys
22 # sys.path.insert(0, os.path.abspath('.'))
23 from recommonmark.parser import CommonMarkParser
24 
25 # TO DO - Create and Implement Vyper Lexer
26 # def setup(sphinx):
27 #     sys.path.insert(0, os.path.abspath('./utils'))
28 #     from SolidityLexer import SolidityLexer
29 #     sphinx.add_lexer('Python', SolidityLexer())
30 
31 
32 # -- General configuration ------------------------------------------------
33 
34 # If your documentation needs a minimal Sphinx version, state it here.
35 #
36 # needs_sphinx = '1.0'
37 
38 # Add any Sphinx extension module names here, as strings. They can be
39 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
40 # ones.
41 extensions = [
42     "sphinx.ext.autodoc",
43     "sphinx.ext.intersphinx",
44 ]
45 
46 # Add any paths that contain templates here, relative to this directory.
47 templates_path = ["_templates"]
48 
49 # The suffix(es) of source filenames.
50 # You can specify multiple suffix as a list of string:
51 #
52 source_suffix = [".rst", ".md"]
53 
54 # The master toctree document.
55 master_doc = "toctree"
56 
57 # General information about the project.
58 project = "Vyper"
59 copyright = "2017-2020 CC-BY-4.0 Vyper Team"
60 author = "Vyper Team (originally created by Vitalik Buterin)"
61 
62 # The version info for the project you're documenting, acts as replacement for
63 # |version| and |release|, also used in various other places throughout the
64 # built documents.
65 #
66 # The short X.Y version.
67 version = ""
68 # The full version, including alpha/beta/rc tags.
69 release = ""
70 
71 # The language for content autogenerated by Sphinx. Refer to documentation
72 # for a list of supported languages.
73 #
74 # This is also used if you do content translation via gettext catalogs.
75 # Usually you set "language" from the command line for these cases.
76 language = "python"
77 
78 # List of patterns, relative to source directory, that match files and
79 # directories to ignore when looking for source files.
80 # This patterns also effect to html_static_path and html_extra_path
81 exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
82 
83 # The name of the Pygments (syntax highlighting) style to use.
84 pygments_style = "sphinx"
85 
86 # If true, `todo` and `todoList` produce output, else they produce nothing.
87 todo_include_todos = False
88 
89 
90 # -- Options for HTML output ----------------------------------------------
91 
92 # The theme to use for HTML and HTML Help pages.  See the documentation for
93 # a list of builtin themes.
94 #
95 html_theme = "sphinx_rtd_theme"
96 
97 # Theme options are theme-specific and customize the look and feel of a theme
98 # further.  For a list of options available for each theme, see the
99 # documentation.
100 #
101 # html_theme_options = {}
102 
103 # Add any paths that contain custom static files (such as style sheets) here,
104 # relative to this directory. They are copied after the builtin static files,
105 # so a file named "default.css" will overwrite the builtin "default.css".
106 html_static_path = ["_static"]
107 
108 html_css_files = ["css/toggle.css", "css/dark.css"]
109 
110 html_js_files = ["js/toggle.js"]
111 
112 html_logo = "vyper-logo-transparent.svg"
113 
114 # Custom sidebar templates, must be a dictionary that maps document names
115 # to template names.
116 #
117 # The default sidebars (for documents that don't match any pattern) are
118 # defined by theme itself.  Builtin themes are using these templates by
119 # default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
120 # 'searchbox.html']``.
121 #
122 # html_sidebars = {}
123 
124 
125 # -- Options for HTMLHelp output ------------------------------------------
126 
127 # Output file base name for HTML help builder.
128 htmlhelp_basename = "Vyperdoc"
129 
130 
131 # -- Options for LaTeX output ---------------------------------------------
132 
133 latex_elements: dict = {
134     # The paper size ('letterpaper' or 'a4paper').
135     #
136     # 'papersize': 'letterpaper',
137     # The font size ('10pt', '11pt' or '12pt').
138     #
139     # 'pointsize': '10pt',
140     # Additional stuff for the LaTeX preamble.
141     #
142     # 'preamble': '',
143     # Latex figure (float) alignment
144     #
145     # 'figure_align': 'htbp',
146 }
147 
148 # Grouping the document tree into LaTeX files. List of tuples
149 # (source start file, target name, title,
150 #  author, documentclass [howto, manual, or own class]).
151 latex_documents = [
152     (
153         master_doc,
154         "Vyper.tex",
155         "Vyper Documentation",
156         "Vyper Team (originally created by Vitalik Buterin)",
157         "manual",
158     ),
159 ]
160 
161 
162 # -- Options for manual page output ---------------------------------------
163 
164 # One entry per manual page. List of tuples
165 # (source start file, name, description, authors, manual section).
166 man_pages = [(master_doc, "vyper", "Vyper Documentation", [author], 1)]
167 
168 
169 # -- Options for Texinfo output -------------------------------------------
170 
171 # Grouping the document tree into Texinfo files. List of tuples
172 # (source start file, target name, title, author,
173 #  dir menu entry, description, category)
174 texinfo_documents = [
175     (
176         master_doc,
177         "Vyper",
178         "Vyper Documentation",
179         author,
180         "Vyper",
181         "One line description of project.",
182         "Miscellaneous",
183     ),
184 ]
185 
186 source_parsers = {
187     ".md": CommonMarkParser,
188 }
189 
190 intersphinx_mapping = {
191     "brownie": ("https://eth-brownie.readthedocs.io/en/stable", None),
192     "pytest": ("https://docs.pytest.org/en/latest/", None),
193     "python": ("https://docs.python.org/3.8/", None),
194 }
195
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -56,7 +56,7 @@
 
 # General information about the project.
 project = "Vyper"
-copyright = "2017-2020 CC-BY-4.0 Vyper Team"
+copyright = "2017-2024 CC-BY-4.0 Vyper Team"
 author = "Vyper Team (originally created by Vitalik Buterin)"
 
 # The version info for the project you're documenting, acts as replacement for
@@ -190,5 +190,5 @@
 intersphinx_mapping = {
     "brownie": ("https://eth-brownie.readthedocs.io/en/stable", None),
     "pytest": ("https://docs.pytest.org/en/latest/", None),
-    "python": ("https://docs.python.org/3.8/", None),
+    "python": ("https://docs.python.org/3.10/", None),
 }

{"golden_diff": "diff --git a/docs/conf.py b/docs/conf.py\n--- a/docs/conf.py\n+++ b/docs/conf.py\n@@ -56,7 +56,7 @@\n \n # General information about the project.\n project = \"Vyper\"\n-copyright = \"2017-2020 CC-BY-4.0 Vyper Team\"\n+copyright = \"2017-2024 CC-BY-4.0 Vyper Team\"\n author = \"Vyper Team (originally created by Vitalik Buterin)\"\n \n # The version info for the project you're documenting, acts as replacement for\n@@ -190,5 +190,5 @@\n intersphinx_mapping = {\n     \"brownie\": (\"https://eth-brownie.readthedocs.io/en/stable\", None),\n     \"pytest\": (\"https://docs.pytest.org/en/latest/\", None),\n-    \"python\": (\"https://docs.python.org/3.8/\", None),\n+    \"python\": (\"https://docs.python.org/3.10/\", None),\n }\n", "issue": "update sphinx version\nwe are on https://github.com/vyperlang/vyper/blob/9cf66c9dd12c9a020c6945c100cc1266be262ebe/requirements-docs.txt#L1 but the latest version is v7.2.6 - https://pypi.org/project/Sphinx/\n", "before_files": [{"content": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n#\n# Vyper documentation build configuration file, created by\n# sphinx-quickstart on Wed Jul 26 11:18:29 2017.\n#\n# This file is execfile()d with the current directory set to its\n# containing dir.\n#\n# Note that not all possible configuration values are present in this\n# autogenerated file.\n#\n# All configuration values have a default; values that are commented out\n# serve to show the default.\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n#\n# import os\n# import sys\n# sys.path.insert(0, os.path.abspath('.'))\nfrom recommonmark.parser import CommonMarkParser\n\n# TO DO - Create and Implement Vyper Lexer\n# def setup(sphinx):\n#     sys.path.insert(0, os.path.abspath('./utils'))\n#     from SolidityLexer import SolidityLexer\n#     sphinx.add_lexer('Python', SolidityLexer())\n\n\n# -- General configuration ------------------------------------------------\n\n# If your documentation needs a minimal Sphinx version, state it here.\n#\n# needs_sphinx = '1.0'\n\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom\n# ones.\nextensions = [\n    \"sphinx.ext.autodoc\",\n    \"sphinx.ext.intersphinx\",\n]\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = [\"_templates\"]\n\n# The suffix(es) of source filenames.\n# You can specify multiple suffix as a list of string:\n#\nsource_suffix = [\".rst\", \".md\"]\n\n# The master toctree document.\nmaster_doc = \"toctree\"\n\n# General information about the project.\nproject = \"Vyper\"\ncopyright = \"2017-2020 CC-BY-4.0 Vyper Team\"\nauthor = \"Vyper Team (originally created by Vitalik Buterin)\"\n\n# The version info for the project you're documenting, acts as replacement for\n# |version| and |release|, also used in various other places throughout the\n# built documents.\n#\n# The short X.Y version.\nversion = \"\"\n# The full version, including alpha/beta/rc tags.\nrelease = \"\"\n\n# The language for content autogenerated by Sphinx. Refer to documentation\n# for a list of supported languages.\n#\n# This is also used if you do content translation via gettext catalogs.\n# Usually you set \"language\" from the command line for these cases.\nlanguage = \"python\"\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\n# This patterns also effect to html_static_path and html_extra_path\nexclude_patterns = [\"_build\", \"Thumbs.db\", \".DS_Store\"]\n\n# The name of the Pygments (syntax highlighting) style to use.\npygments_style = \"sphinx\"\n\n# If true, `todo` and `todoList` produce output, else they produce nothing.\ntodo_include_todos = False\n\n\n# -- Options for HTML output ----------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\nhtml_theme = \"sphinx_rtd_theme\"\n\n# Theme options are theme-specific and customize the look and feel of a theme\n# further.  For a list of options available for each theme, see the\n# documentation.\n#\n# html_theme_options = {}\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = [\"_static\"]\n\nhtml_css_files = [\"css/toggle.css\", \"css/dark.css\"]\n\nhtml_js_files = [\"js/toggle.js\"]\n\nhtml_logo = \"vyper-logo-transparent.svg\"\n\n# Custom sidebar templates, must be a dictionary that maps document names\n# to template names.\n#\n# The default sidebars (for documents that don't match any pattern) are\n# defined by theme itself.  Builtin themes are using these templates by\n# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',\n# 'searchbox.html']``.\n#\n# html_sidebars = {}\n\n\n# -- Options for HTMLHelp output ------------------------------------------\n\n# Output file base name for HTML help builder.\nhtmlhelp_basename = \"Vyperdoc\"\n\n\n# -- Options for LaTeX output ---------------------------------------------\n\nlatex_elements: dict = {\n    # The paper size ('letterpaper' or 'a4paper').\n    #\n    # 'papersize': 'letterpaper',\n    # The font size ('10pt', '11pt' or '12pt').\n    #\n    # 'pointsize': '10pt',\n    # Additional stuff for the LaTeX preamble.\n    #\n    # 'preamble': '',\n    # Latex figure (float) alignment\n    #\n    # 'figure_align': 'htbp',\n}\n\n# Grouping the document tree into LaTeX files. List of tuples\n# (source start file, target name, title,\n#  author, documentclass [howto, manual, or own class]).\nlatex_documents = [\n    (\n        master_doc,\n        \"Vyper.tex\",\n        \"Vyper Documentation\",\n        \"Vyper Team (originally created by Vitalik Buterin)\",\n        \"manual\",\n    ),\n]\n\n\n# -- Options for manual page output ---------------------------------------\n\n# One entry per manual page. List of tuples\n# (source start file, name, description, authors, manual section).\nman_pages = [(master_doc, \"vyper\", \"Vyper Documentation\", [author], 1)]\n\n\n# -- Options for Texinfo output -------------------------------------------\n\n# Grouping the document tree into Texinfo files. List of tuples\n# (source start file, target name, title, author,\n#  dir menu entry, description, category)\ntexinfo_documents = [\n    (\n        master_doc,\n        \"Vyper\",\n        \"Vyper Documentation\",\n        author,\n        \"Vyper\",\n        \"One line description of project.\",\n        \"Miscellaneous\",\n    ),\n]\n\nsource_parsers = {\n    \".md\": CommonMarkParser,\n}\n\nintersphinx_mapping = {\n    \"brownie\": (\"https://eth-brownie.readthedocs.io/en/stable\", None),\n    \"pytest\": (\"https://docs.pytest.org/en/latest/\", None),\n    \"python\": (\"https://docs.python.org/3.8/\", None),\n}\n", "path": "docs/conf.py"}], "after_files": [{"content": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n#\n# Vyper documentation build configuration file, created by\n# sphinx-quickstart on Wed Jul 26 11:18:29 2017.\n#\n# This file is execfile()d with the current directory set to its\n# containing dir.\n#\n# Note that not all possible configuration values are present in this\n# autogenerated file.\n#\n# All configuration values have a default; values that are commented out\n# serve to show the default.\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n#\n# import os\n# import sys\n# sys.path.insert(0, os.path.abspath('.'))\nfrom recommonmark.parser import CommonMarkParser\n\n# TO DO - Create and Implement Vyper Lexer\n# def setup(sphinx):\n#     sys.path.insert(0, os.path.abspath('./utils'))\n#     from SolidityLexer import SolidityLexer\n#     sphinx.add_lexer('Python', SolidityLexer())\n\n\n# -- General configuration ------------------------------------------------\n\n# If your documentation needs a minimal Sphinx version, state it here.\n#\n# needs_sphinx = '1.0'\n\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom\n# ones.\nextensions = [\n    \"sphinx.ext.autodoc\",\n    \"sphinx.ext.intersphinx\",\n]\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = [\"_templates\"]\n\n# The suffix(es) of source filenames.\n# You can specify multiple suffix as a list of string:\n#\nsource_suffix = [\".rst\", \".md\"]\n\n# The master toctree document.\nmaster_doc = \"toctree\"\n\n# General information about the project.\nproject = \"Vyper\"\ncopyright = \"2017-2024 CC-BY-4.0 Vyper Team\"\nauthor = \"Vyper Team (originally created by Vitalik Buterin)\"\n\n# The version info for the project you're documenting, acts as replacement for\n# |version| and |release|, also used in various other places throughout the\n# built documents.\n#\n# The short X.Y version.\nversion = \"\"\n# The full version, including alpha/beta/rc tags.\nrelease = \"\"\n\n# The language for content autogenerated by Sphinx. Refer to documentation\n# for a list of supported languages.\n#\n# This is also used if you do content translation via gettext catalogs.\n# Usually you set \"language\" from the command line for these cases.\nlanguage = \"python\"\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\n# This patterns also effect to html_static_path and html_extra_path\nexclude_patterns = [\"_build\", \"Thumbs.db\", \".DS_Store\"]\n\n# The name of the Pygments (syntax highlighting) style to use.\npygments_style = \"sphinx\"\n\n# If true, `todo` and `todoList` produce output, else they produce nothing.\ntodo_include_todos = False\n\n\n# -- Options for HTML output ----------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\nhtml_theme = \"sphinx_rtd_theme\"\n\n# Theme options are theme-specific and customize the look and feel of a theme\n# further.  For a list of options available for each theme, see the\n# documentation.\n#\n# html_theme_options = {}\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = [\"_static\"]\n\nhtml_css_files = [\"css/toggle.css\", \"css/dark.css\"]\n\nhtml_js_files = [\"js/toggle.js\"]\n\nhtml_logo = \"vyper-logo-transparent.svg\"\n\n# Custom sidebar templates, must be a dictionary that maps document names\n# to template names.\n#\n# The default sidebars (for documents that don't match any pattern) are\n# defined by theme itself.  Builtin themes are using these templates by\n# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',\n# 'searchbox.html']``.\n#\n# html_sidebars = {}\n\n\n# -- Options for HTMLHelp output ------------------------------------------\n\n# Output file base name for HTML help builder.\nhtmlhelp_basename = \"Vyperdoc\"\n\n\n# -- Options for LaTeX output ---------------------------------------------\n\nlatex_elements: dict = {\n    # The paper size ('letterpaper' or 'a4paper').\n    #\n    # 'papersize': 'letterpaper',\n    # The font size ('10pt', '11pt' or '12pt').\n    #\n    # 'pointsize': '10pt',\n    # Additional stuff for the LaTeX preamble.\n    #\n    # 'preamble': '',\n    # Latex figure (float) alignment\n    #\n    # 'figure_align': 'htbp',\n}\n\n# Grouping the document tree into LaTeX files. List of tuples\n# (source start file, target name, title,\n#  author, documentclass [howto, manual, or own class]).\nlatex_documents = [\n    (\n        master_doc,\n        \"Vyper.tex\",\n        \"Vyper Documentation\",\n        \"Vyper Team (originally created by Vitalik Buterin)\",\n        \"manual\",\n    ),\n]\n\n\n# -- Options for manual page output ---------------------------------------\n\n# One entry per manual page. List of tuples\n# (source start file, name, description, authors, manual section).\nman_pages = [(master_doc, \"vyper\", \"Vyper Documentation\", [author], 1)]\n\n\n# -- Options for Texinfo output -------------------------------------------\n\n# Grouping the document tree into Texinfo files. List of tuples\n# (source start file, target name, title, author,\n#  dir menu entry, description, category)\ntexinfo_documents = [\n    (\n        master_doc,\n        \"Vyper\",\n        \"Vyper Documentation\",\n        author,\n        \"Vyper\",\n        \"One line description of project.\",\n        \"Miscellaneous\",\n    ),\n]\n\nsource_parsers = {\n    \".md\": CommonMarkParser,\n}\n\nintersphinx_mapping = {\n    \"brownie\": (\"https://eth-brownie.readthedocs.io/en/stable\", None),\n    \"pytest\": (\"https://docs.pytest.org/en/latest/\", None),\n    \"python\": (\"https://docs.python.org/3.10/\", None),\n}\n", "path": "docs/conf.py"}]}