Python 3.10.0a1
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index 8aca5c0..1fdb1ae 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Mon Apr 27 22:35:16 2020
+# Autogenerated by Sphinx on Mon Oct  5 18:27:28 2020
 topics = {'assert': 'The "assert" statement\n'
            '**********************\n'
            '\n'
@@ -99,27 +99,26 @@
                'assigned,\n'
                '  from left to right, to the corresponding targets.\n'
                '\n'
-               '  * If the target list contains one target prefixed with an\n'
-               '    asterisk, called a “starred” target: The object must be '
-               'an\n'
-               '    iterable with at least as many items as there are targets '
-               'in the\n'
-               '    target list, minus one.  The first items of the iterable '
-               'are\n'
-               '    assigned, from left to right, to the targets before the '
+               '  * If the target list contains one target prefixed with an '
+               'asterisk,\n'
+               '    called a “starred” target: The object must be an iterable '
+               'with at\n'
+               '    least as many items as there are targets in the target '
+               'list, minus\n'
+               '    one.  The first items of the iterable are assigned, from '
+               'left to\n'
+               '    right, to the targets before the starred target.  The '
+               'final items\n'
+               '    of the iterable are assigned to the targets after the '
                'starred\n'
-               '    target.  The final items of the iterable are assigned to '
-               'the\n'
-               '    targets after the starred target.  A list of the remaining '
-               'items\n'
-               '    in the iterable is then assigned to the starred target '
-               '(the list\n'
-               '    can be empty).\n'
+               '    target.  A list of the remaining items in the iterable is '
+               'then\n'
+               '    assigned to the starred target (the list can be empty).\n'
                '\n'
                '  * Else: The object must be an iterable with the same number '
-               'of\n'
-               '    items as there are targets in the target list, and the '
-               'items are\n'
+               'of items\n'
+               '    as there are targets in the target list, and the items '
+               'are\n'
                '    assigned, from left to right, to the corresponding '
                'targets.\n'
                '\n'
@@ -135,10 +134,10 @@
                'in the\n'
                '    current local namespace.\n'
                '\n'
-               '  * Otherwise: the name is bound to the object in the global\n'
-               '    namespace or the outer namespace determined by '
-               '"nonlocal",\n'
-               '    respectively.\n'
+               '  * Otherwise: the name is bound to the object in the global '
+               'namespace\n'
+               '    or the outer namespace determined by "nonlocal", '
+               'respectively.\n'
                '\n'
                '  The name is rebound if it was already bound.  This may cause '
                'the\n'
@@ -225,26 +224,27 @@
                'called with\n'
                '  appropriate arguments.\n'
                '\n'
-               '* If the target is a slicing: The primary expression in the\n'
-               '  reference is evaluated.  It should yield a mutable sequence '
-               'object\n'
-               '  (such as a list).  The assigned object should be a sequence '
-               'object\n'
-               '  of the same type.  Next, the lower and upper bound '
-               'expressions are\n'
-               '  evaluated, insofar they are present; defaults are zero and '
-               'the\n'
-               '  sequence’s length.  The bounds should evaluate to integers. '
-               'If\n'
-               '  either bound is negative, the sequence’s length is added to '
-               'it.  The\n'
-               '  resulting bounds are clipped to lie between zero and the '
+               '* If the target is a slicing: The primary expression in the '
+               'reference\n'
+               '  is evaluated.  It should yield a mutable sequence object '
+               '(such as a\n'
+               '  list).  The assigned object should be a sequence object of '
+               'the same\n'
+               '  type.  Next, the lower and upper bound expressions are '
+               'evaluated,\n'
+               '  insofar they are present; defaults are zero and the '
                'sequence’s\n'
-               '  length, inclusive.  Finally, the sequence object is asked to '
-               'replace\n'
-               '  the slice with the items of the assigned sequence.  The '
-               'length of\n'
-               '  the slice may be different from the length of the assigned '
+               '  length.  The bounds should evaluate to integers. If either '
+               'bound is\n'
+               '  negative, the sequence’s length is added to it.  The '
+               'resulting\n'
+               '  bounds are clipped to lie between zero and the sequence’s '
+               'length,\n'
+               '  inclusive.  Finally, the sequence object is asked to replace '
+               'the\n'
+               '  slice with the items of the assigned sequence.  The length '
+               'of the\n'
+               '  slice may be different from the length of the assigned '
                'sequence,\n'
                '  thus changing the length of the target sequence, if the '
                'target\n'
@@ -544,13 +544,17 @@
           '\n'
           '-[ Footnotes ]-\n'
           '\n'
-          '[1] The exception is propagated to the invocation stack unless\n'
-          '    there is a "finally" clause which happens to raise another\n'
-          '    exception. That new exception causes the old one to be lost.\n'
+          '[1] The exception is propagated to the invocation stack unless '
+          'there\n'
+          '    is a "finally" clause which happens to raise another '
+          'exception.\n'
+          '    That new exception causes the old one to be lost.\n'
           '\n'
-          '[2] A string literal appearing as the first statement in the\n'
-          '    function body is transformed into the function’s "__doc__"\n'
-          '    attribute and therefore the function’s *docstring*.\n'
+          '[2] A string literal appearing as the first statement in the '
+          'function\n'
+          '    body is transformed into the function’s "__doc__" attribute '
+          'and\n'
+          '    therefore the function’s *docstring*.\n'
           '\n'
           '[3] A string literal appearing as the first statement in the class\n'
           '    body is transformed into the namespace’s "__doc__" item and\n'
@@ -688,11 +692,13 @@
                      'needs, for\n'
                      '   example, "object.__getattribute__(self, name)".\n'
                      '\n'
-                     '   Note: This method may still be bypassed when looking '
-                     'up special\n'
-                     '     methods as the result of implicit invocation via '
-                     'language syntax\n'
-                     '     or built-in functions. See Special method lookup.\n'
+                     '   Note:\n'
+                     '\n'
+                     '     This method may still be bypassed when looking up '
+                     'special methods\n'
+                     '     as the result of implicit invocation via language '
+                     'syntax or\n'
+                     '     built-in functions. See Special method lookup.\n'
                      '\n'
                      'object.__setattr__(self, name, value)\n'
                      '\n'
@@ -776,15 +782,16 @@
                      '\n'
                      '   sys.modules[__name__].__class__ = VerboseModule\n'
                      '\n'
-                     'Note: Defining module "__getattr__" and setting module '
-                     '"__class__"\n'
-                     '  only affect lookups made using the attribute access '
-                     'syntax –\n'
-                     '  directly accessing the module globals (whether by code '
-                     'within the\n'
-                     '  module, or via a reference to the module’s globals '
-                     'dictionary) is\n'
-                     '  unaffected.\n'
+                     'Note:\n'
+                     '\n'
+                     '  Defining module "__getattr__" and setting module '
+                     '"__class__" only\n'
+                     '  affect lookups made using the attribute access syntax '
+                     '– directly\n'
+                     '  accessing the module globals (whether by code within '
+                     'the module, or\n'
+                     '  via a reference to the module’s globals dictionary) is '
+                     'unaffected.\n'
                      '\n'
                      'Changed in version 3.5: "__class__" module attribute is '
                      'now writable.\n'
@@ -867,12 +874,14 @@
                      'created. The\n'
                      '   descriptor has been assigned to *name*.\n'
                      '\n'
-                     '   Note: "__set_name__()" is only called implicitly as '
-                     'part of the\n'
-                     '     "type" constructor, so it will need to be called '
-                     'explicitly with\n'
-                     '     the appropriate parameters when a descriptor is '
-                     'added to a class\n'
+                     '   Note:\n'
+                     '\n'
+                     '     "__set_name__()" is only called implicitly as part '
+                     'of the "type"\n'
+                     '     constructor, so it will need to be called '
+                     'explicitly with the\n'
+                     '     appropriate parameters when a descriptor is added '
+                     'to a class\n'
                      '     after initial creation:\n'
                      '\n'
                      '        class A:\n'
@@ -1033,10 +1042,9 @@
                      '--------------------------\n'
                      '\n'
                      '* When inheriting from a class without *__slots__*, the '
-                     '*__dict__*\n'
-                     '  and *__weakref__* attribute of the instances will '
-                     'always be\n'
-                     '  accessible.\n'
+                     '*__dict__* and\n'
+                     '  *__weakref__* attribute of the instances will always '
+                     'be accessible.\n'
                      '\n'
                      '* Without a *__dict__* variable, instances cannot be '
                      'assigned new\n'
@@ -1051,14 +1059,12 @@
                      '  declaration.\n'
                      '\n'
                      '* Without a *__weakref__* variable for each instance, '
-                     'classes\n'
-                     '  defining *__slots__* do not support weak references to '
-                     'its\n'
-                     '  instances. If weak reference support is needed, then '
-                     'add\n'
-                     '  "\'__weakref__\'" to the sequence of strings in the '
-                     '*__slots__*\n'
-                     '  declaration.\n'
+                     'classes defining\n'
+                     '  *__slots__* do not support weak references to its '
+                     'instances. If weak\n'
+                     '  reference support is needed, then add '
+                     '"\'__weakref__\'" to the\n'
+                     '  sequence of strings in the *__slots__* declaration.\n'
                      '\n'
                      '* *__slots__* are implemented at the class level by '
                      'creating\n'
@@ -1071,24 +1077,23 @@
                      '  attribute would overwrite the descriptor assignment.\n'
                      '\n'
                      '* The action of a *__slots__* declaration is not limited '
-                     'to the\n'
-                     '  class where it is defined.  *__slots__* declared in '
-                     'parents are\n'
-                     '  available in child classes. However, child subclasses '
-                     'will get a\n'
-                     '  *__dict__* and *__weakref__* unless they also define '
-                     '*__slots__*\n'
-                     '  (which should only contain names of any *additional* '
-                     'slots).\n'
+                     'to the class\n'
+                     '  where it is defined.  *__slots__* declared in parents '
+                     'are available\n'
+                     '  in child classes. However, child subclasses will get a '
+                     '*__dict__*\n'
+                     '  and *__weakref__* unless they also define *__slots__* '
+                     '(which should\n'
+                     '  only contain names of any *additional* slots).\n'
                      '\n'
                      '* If a class defines a slot also defined in a base '
-                     'class, the\n'
-                     '  instance variable defined by the base class slot is '
-                     'inaccessible\n'
-                     '  (except by retrieving its descriptor directly from the '
-                     'base class).\n'
-                     '  This renders the meaning of the program undefined.  In '
-                     'the future, a\n'
+                     'class, the instance\n'
+                     '  variable defined by the base class slot is '
+                     'inaccessible (except by\n'
+                     '  retrieving its descriptor directly from the base '
+                     'class). This\n'
+                     '  renders the meaning of the program undefined.  In the '
+                     'future, a\n'
                      '  check may be added to prevent this.\n'
                      '\n'
                      '* Nonempty *__slots__* does not work for classes derived '
@@ -1097,9 +1102,9 @@
                      '"bytes" and "tuple".\n'
                      '\n'
                      '* Any non-string iterable may be assigned to '
-                     '*__slots__*. Mappings\n'
-                     '  may also be used; however, in the future, special '
-                     'meaning may be\n'
+                     '*__slots__*. Mappings may\n'
+                     '  also be used; however, in the future, special meaning '
+                     'may be\n'
                      '  assigned to the values corresponding to each key.\n'
                      '\n'
                      '* *__class__* assignment works only if both classes have '
@@ -1115,9 +1120,9 @@
                      '  raise "TypeError".\n'
                      '\n'
                      '* If an iterator is used for *__slots__* then a '
-                     'descriptor is\n'
-                     '  created for each of the iterator’s values. However, '
-                     'the *__slots__*\n'
+                     'descriptor is created\n'
+                     '  for each of the iterator’s values. However, the '
+                     '*__slots__*\n'
                      '  attribute will be an empty iterator.\n',
  'attribute-references': 'Attribute references\n'
                          '********************\n'
@@ -1882,10 +1887,10 @@
                 '  != x" is true.  This behavior is compliant with IEEE 754.\n'
                 '\n'
                 '* "None" and "NotImplemented" are singletons.  **PEP 8** '
-                'advises\n'
-                '  that comparisons for singletons should always be done with '
-                '"is" or\n'
-                '  "is not", never the equality operators.\n'
+                'advises that\n'
+                '  comparisons for singletons should always be done with "is" '
+                'or "is\n'
+                '  not", never the equality operators.\n'
                 '\n'
                 '* Binary sequences (instances of "bytes" or "bytearray") can '
                 'be\n'
@@ -1901,15 +1906,15 @@
                 '\n'
                 '  Strings and binary sequences cannot be directly compared.\n'
                 '\n'
-                '* Sequences (instances of "tuple", "list", or "range") can '
-                'be\n'
-                '  compared only within each of their types, with the '
-                'restriction that\n'
-                '  ranges do not support order comparison.  Equality '
-                'comparison across\n'
-                '  these types results in inequality, and ordering comparison '
-                'across\n'
-                '  these types raises "TypeError".\n'
+                '* Sequences (instances of "tuple", "list", or "range") can be '
+                'compared\n'
+                '  only within each of their types, with the restriction that '
+                'ranges do\n'
+                '  not support order comparison.  Equality comparison across '
+                'these\n'
+                '  types results in inequality, and ordering comparison across '
+                'these\n'
+                '  types raises "TypeError".\n'
                 '\n'
                 '  Sequences compare lexicographically using comparison of\n'
                 '  corresponding elements.  The built-in containers typically '
@@ -1933,8 +1938,8 @@
                 '    false because the type is not the same).\n'
                 '\n'
                 '  * Collections that support order comparison are ordered the '
-                'same\n'
-                '    as their first unequal elements (for example, "[1,2,x] <= '
+                'same as\n'
+                '    their first unequal elements (for example, "[1,2,x] <= '
                 '[1,2,y]"\n'
                 '    has the same value as "x <= y").  If a corresponding '
                 'element does\n'
@@ -1952,8 +1957,8 @@
                 '"TypeError".\n'
                 '\n'
                 '* Sets (instances of "set" or "frozenset") can be compared '
-                'within\n'
-                '  and across their types.\n'
+                'within and\n'
+                '  across their types.\n'
                 '\n'
                 '  They define order comparison operators to mean subset and '
                 'superset\n'
@@ -1972,8 +1977,8 @@
                 '  Comparison of sets enforces reflexivity of its elements.\n'
                 '\n'
                 '* Most other built-in types have no comparison methods '
-                'implemented,\n'
-                '  so they inherit the default comparison behavior.\n'
+                'implemented, so\n'
+                '  they inherit the default comparison behavior.\n'
                 '\n'
                 'User-defined classes that customize their comparison behavior '
                 'should\n'
@@ -2022,10 +2027,10 @@
                 '  "total_ordering()" decorator.\n'
                 '\n'
                 '* The "hash()" result should be consistent with equality. '
-                'Objects\n'
-                '  that are equal should either have the same hash value, or '
-                'be marked\n'
-                '  as unhashable.\n'
+                'Objects that\n'
+                '  are equal should either have the same hash value, or be '
+                'marked as\n'
+                '  unhashable.\n'
                 '\n'
                 'Python does not enforce these consistency rules. In fact, '
                 'the\n'
@@ -2299,10 +2304,11 @@
              ':= a to b do"; e.g., "list(range(3))" returns the list "[0, 1, '
              '2]".\n'
              '\n'
-             'Note: There is a subtlety when the sequence is being modified by '
-             'the\n'
-             '  loop (this can only occur for mutable sequences, e.g. lists).  '
-             'An\n'
+             'Note:\n'
+             '\n'
+             '  There is a subtlety when the sequence is being modified by the '
+             'loop\n'
+             '  (this can only occur for mutable sequences, e.g. lists).  An\n'
              '  internal counter is used to keep track of which item is used '
              'next,\n'
              '  and this is incremented on each iteration.  When this counter '
@@ -2525,8 +2531,8 @@
              'follows:\n'
              '\n'
              '1. The context expression (the expression given in the '
-             '"with_item")\n'
-             '   is evaluated to obtain a context manager.\n'
+             '"with_item") is\n'
+             '   evaluated to obtain a context manager.\n'
              '\n'
              '2. The context manager’s "__enter__()" is loaded for later use.\n'
              '\n'
@@ -2534,13 +2540,15 @@
              '\n'
              '4. The context manager’s "__enter__()" method is invoked.\n'
              '\n'
-             '5. If a target was included in the "with" statement, the return\n'
-             '   value from "__enter__()" is assigned to it.\n'
+             '5. If a target was included in the "with" statement, the return '
+             'value\n'
+             '   from "__enter__()" is assigned to it.\n'
              '\n'
-             '   Note: The "with" statement guarantees that if the '
-             '"__enter__()"\n'
-             '     method returns without an error, then "__exit__()" will '
-             'always be\n'
+             '   Note:\n'
+             '\n'
+             '     The "with" statement guarantees that if the "__enter__()" '
+             'method\n'
+             '     returns without an error, then "__exit__()" will always be\n'
              '     called. Thus, if an error occurs during the assignment to '
              'the\n'
              '     target list, it will be treated the same as an error '
@@ -2710,17 +2718,17 @@
              '“pre-\n'
              'computed” value is used for each call.  This is especially '
              'important\n'
-             'to understand when a default parameter is a mutable object, such '
-             'as a\n'
-             'list or a dictionary: if the function modifies the object (e.g. '
-             'by\n'
-             'appending an item to a list), the default value is in effect '
-             'modified.\n'
-             'This is generally not what was intended.  A way around this is '
-             'to use\n'
-             '"None" as the default, and explicitly test for it in the body of '
-             'the\n'
-             'function, e.g.:\n'
+             'to understand when a default parameter value is a mutable '
+             'object, such\n'
+             'as a list or a dictionary: if the function modifies the object '
+             '(e.g.\n'
+             'by appending an item to a list), the default parameter value is '
+             'in\n'
+             'effect modified.  This is generally not what was intended.  A '
+             'way\n'
+             'around this is to use "None" as the default, and explicitly test '
+             'for\n'
+             'it in the body of the function, e.g.:\n'
              '\n'
              '   def whats_on_the_telly(penguin=None):\n'
              '       if penguin is None:\n'
@@ -3054,14 +3062,17 @@
              '\n'
              '-[ Footnotes ]-\n'
              '\n'
-             '[1] The exception is propagated to the invocation stack unless\n'
-             '    there is a "finally" clause which happens to raise another\n'
-             '    exception. That new exception causes the old one to be '
-             'lost.\n'
+             '[1] The exception is propagated to the invocation stack unless '
+             'there\n'
+             '    is a "finally" clause which happens to raise another '
+             'exception.\n'
+             '    That new exception causes the old one to be lost.\n'
              '\n'
-             '[2] A string literal appearing as the first statement in the\n'
-             '    function body is transformed into the function’s "__doc__"\n'
-             '    attribute and therefore the function’s *docstring*.\n'
+             '[2] A string literal appearing as the first statement in the '
+             'function\n'
+             '    body is transformed into the function’s "__doc__" attribute '
+             'and\n'
+             '    therefore the function’s *docstring*.\n'
              '\n'
              '[3] A string literal appearing as the first statement in the '
              'class\n'
@@ -3160,8 +3171,8 @@
                 '  complex;\n'
                 '\n'
                 '* otherwise, if either argument is a floating point number, '
-                'the\n'
-                '  other is converted to floating point;\n'
+                'the other\n'
+                '  is converted to floating point;\n'
                 '\n'
                 '* otherwise, both must be integers and no conversion is '
                 'necessary.\n'
@@ -3271,7 +3282,9 @@
                   'for\n'
                   '   objects that still exist when the interpreter exits.\n'
                   '\n'
-                  '   Note: "del x" doesn’t directly call "x.__del__()" — the '
+                  '   Note:\n'
+                  '\n'
+                  '     "del x" doesn’t directly call "x.__del__()" — the '
                   'former\n'
                   '     decrements the reference count for "x" by one, and the '
                   'latter is\n'
@@ -3295,13 +3308,15 @@
                   '\n'
                   '   See also: Documentation for the "gc" module.\n'
                   '\n'
-                  '   Warning: Due to the precarious circumstances under '
-                  'which\n'
-                  '     "__del__()" methods are invoked, exceptions that occur '
-                  'during\n'
-                  '     their execution are ignored, and a warning is printed '
-                  'to\n'
-                  '     "sys.stderr" instead. In particular:\n'
+                  '   Warning:\n'
+                  '\n'
+                  '     Due to the precarious circumstances under which '
+                  '"__del__()"\n'
+                  '     methods are invoked, exceptions that occur during '
+                  'their execution\n'
+                  '     are ignored, and a warning is printed to "sys.stderr" '
+                  'instead.\n'
+                  '     In particular:\n'
                   '\n'
                   '     * "__del__()" can be invoked when arbitrary code is '
                   'being\n'
@@ -3314,22 +3329,20 @@
                   '       that gets interrupted to execute "__del__()".\n'
                   '\n'
                   '     * "__del__()" can be executed during interpreter '
-                  'shutdown.  As\n'
-                  '       a consequence, the global variables it needs to '
-                  'access\n'
-                  '       (including other modules) may already have been '
-                  'deleted or set\n'
-                  '       to "None". Python guarantees that globals whose name '
-                  'begins\n'
-                  '       with a single underscore are deleted from their '
-                  'module before\n'
-                  '       other globals are deleted; if no other references to '
-                  'such\n'
-                  '       globals exist, this may help in assuring that '
-                  'imported modules\n'
-                  '       are still available at the time when the "__del__()" '
-                  'method is\n'
-                  '       called.\n'
+                  'shutdown.  As a\n'
+                  '       consequence, the global variables it needs to access '
+                  '(including\n'
+                  '       other modules) may already have been deleted or set '
+                  'to "None".\n'
+                  '       Python guarantees that globals whose name begins '
+                  'with a single\n'
+                  '       underscore are deleted from their module before '
+                  'other globals\n'
+                  '       are deleted; if no other references to such globals '
+                  'exist, this\n'
+                  '       may help in assuring that imported modules are still '
+                  'available\n'
+                  '       at the time when the "__del__()" method is called.\n'
                   '\n'
                   'object.__repr__(self)\n'
                   '\n'
@@ -3505,19 +3518,21 @@
                   '      def __hash__(self):\n'
                   '          return hash((self.name, self.nick, self.color))\n'
                   '\n'
-                  '   Note: "hash()" truncates the value returned from an '
-                  'object’s\n'
-                  '     custom "__hash__()" method to the size of a '
-                  '"Py_ssize_t".  This\n'
-                  '     is typically 8 bytes on 64-bit builds and 4 bytes on '
-                  '32-bit\n'
-                  '     builds. If an object’s   "__hash__()" must '
-                  'interoperate on builds\n'
-                  '     of different bit sizes, be sure to check the width on '
-                  'all\n'
-                  '     supported builds.  An easy way to do this is with '
-                  '"python -c\n'
-                  '     "import sys; print(sys.hash_info.width)"".\n'
+                  '   Note:\n'
+                  '\n'
+                  '     "hash()" truncates the value returned from an object’s '
+                  'custom\n'
+                  '     "__hash__()" method to the size of a "Py_ssize_t".  '
+                  'This is\n'
+                  '     typically 8 bytes on 64-bit builds and 4 bytes on '
+                  '32-bit builds.\n'
+                  '     If an object’s   "__hash__()" must interoperate on '
+                  'builds of\n'
+                  '     different bit sizes, be sure to check the width on all '
+                  'supported\n'
+                  '     builds.  An easy way to do this is with "python -c '
+                  '"import sys;\n'
+                  '     print(sys.hash_info.width)"".\n'
                   '\n'
                   '   If a class does not define an "__eq__()" method it '
                   'should not\n'
@@ -3575,22 +3590,24 @@
                   '   hashable by an "isinstance(obj, '
                   'collections.abc.Hashable)" call.\n'
                   '\n'
-                  '   Note: By default, the "__hash__()" values of str and '
-                  'bytes\n'
-                  '     objects are “salted” with an unpredictable random '
-                  'value.\n'
-                  '     Although they remain constant within an individual '
-                  'Python\n'
-                  '     process, they are not predictable between repeated '
-                  'invocations of\n'
-                  '     Python.This is intended to provide protection against '
-                  'a denial-\n'
-                  '     of-service caused by carefully-chosen inputs that '
-                  'exploit the\n'
-                  '     worst case performance of a dict insertion, O(n^2) '
-                  'complexity.\n'
-                  '     See '
-                  'http://www.ocert.org/advisories/ocert-2011-003.html for\n'
+                  '   Note:\n'
+                  '\n'
+                  '     By default, the "__hash__()" values of str and bytes '
+                  'objects are\n'
+                  '     “salted” with an unpredictable random value.  Although '
+                  'they\n'
+                  '     remain constant within an individual Python process, '
+                  'they are not\n'
+                  '     predictable between repeated invocations of '
+                  'Python.This is\n'
+                  '     intended to provide protection against a '
+                  'denial-of-service caused\n'
+                  '     by carefully-chosen inputs that exploit the worst '
+                  'case\n'
+                  '     performance of a dict insertion, O(n^2) complexity.  '
+                  'See\n'
+                  '     http://www.ocert.org/advisories/ocert-2011-003.html '
+                  'for\n'
                   '     details.Changing hash values affects the iteration '
                   'order of sets.\n'
                   '     Python has never made guarantees about this ordering '
@@ -4170,9 +4187,11 @@
              'its\n'
              '   value.\n'
              '\n'
-             '   Note: "print()" can also be used, but is not a debugger '
-             'command —\n'
-             '     this executes the Python "print()" function.\n'
+             '   Note:\n'
+             '\n'
+             '     "print()" can also be used, but is not a debugger command — '
+             'this\n'
+             '     executes the Python "print()" function.\n'
              '\n'
              'pp expression\n'
              '\n'
@@ -4298,13 +4317,14 @@
              '   the current environment).\n'
              '\n'
              'retval\n'
-             'Print the return value for the last return of a function.\n'
+             '\n'
+             '   Print the return value for the last return of a function.\n'
              '\n'
              '-[ Footnotes ]-\n'
              '\n'
              '[1] Whether a frame is considered to originate in a certain '
-             'module\n'
-             '    is determined by the "__name__" in the frame globals.\n',
+             'module is\n'
+             '    determined by the "__name__" in the frame globals.\n',
  'del': 'The "del" statement\n'
         '*******************\n'
         '\n'
@@ -4484,13 +4504,15 @@
                'about the\n'
                'exceptional condition.\n'
                '\n'
-               'Note: Exception messages are not part of the Python API.  '
-               'Their\n'
-               '  contents may change from one version of Python to the next '
-               'without\n'
-               '  warning and should not be relied on by code which will run '
-               'under\n'
-               '  multiple versions of the interpreter.\n'
+               'Note:\n'
+               '\n'
+               '  Exception messages are not part of the Python API.  Their '
+               'contents\n'
+               '  may change from one version of Python to the next without '
+               'warning\n'
+               '  and should not be relied on by code which will run under '
+               'multiple\n'
+               '  versions of the interpreter.\n'
                '\n'
                'See also the description of the "try" statement in section The '
                'try\n'
@@ -4500,10 +4522,9 @@
                '-[ Footnotes ]-\n'
                '\n'
                '[1] This limitation occurs because the code that is executed '
-               'by\n'
-               '    these operations is not available at the time the module '
-               'is\n'
-               '    compiled.\n',
+               'by these\n'
+               '    operations is not available at the time the module is '
+               'compiled.\n',
  'execmodel': 'Execution model\n'
               '***************\n'
               '\n'
@@ -4809,13 +4830,15 @@
               'about the\n'
               'exceptional condition.\n'
               '\n'
-              'Note: Exception messages are not part of the Python API.  '
-              'Their\n'
-              '  contents may change from one version of Python to the next '
-              'without\n'
-              '  warning and should not be relied on by code which will run '
-              'under\n'
-              '  multiple versions of the interpreter.\n'
+              'Note:\n'
+              '\n'
+              '  Exception messages are not part of the Python API.  Their '
+              'contents\n'
+              '  may change from one version of Python to the next without '
+              'warning\n'
+              '  and should not be relied on by code which will run under '
+              'multiple\n'
+              '  versions of the interpreter.\n'
               '\n'
               'See also the description of the "try" statement in section The '
               'try\n'
@@ -4824,11 +4847,10 @@
               '\n'
               '-[ Footnotes ]-\n'
               '\n'
-              '[1] This limitation occurs because the code that is executed '
-              'by\n'
-              '    these operations is not available at the time the module '
-              'is\n'
-              '    compiled.\n',
+              '[1] This limitation occurs because the code that is executed by '
+              'these\n'
+              '    operations is not available at the time the module is '
+              'compiled.\n',
  'exprlists': 'Expression lists\n'
               '****************\n'
               '\n'
@@ -4947,8 +4969,11 @@
         'i\n'
         ':= a to b do"; e.g., "list(range(3))" returns the list "[0, 1, 2]".\n'
         '\n'
-        'Note: There is a subtlety when the sequence is being modified by the\n'
-        '  loop (this can only occur for mutable sequences, e.g. lists).  An\n'
+        'Note:\n'
+        '\n'
+        '  There is a subtlety when the sequence is being modified by the '
+        'loop\n'
+        '  (this can only occur for mutable sequences, e.g. lists).  An\n'
         '  internal counter is used to keep track of which item is used next,\n'
         '  and this is incremented on each iteration.  When this counter has\n'
         '  reached the length of the sequence the loop terminates.  This '
@@ -5786,17 +5811,17 @@
              '“pre-\n'
              'computed” value is used for each call.  This is especially '
              'important\n'
-             'to understand when a default parameter is a mutable object, such '
-             'as a\n'
-             'list or a dictionary: if the function modifies the object (e.g. '
-             'by\n'
-             'appending an item to a list), the default value is in effect '
-             'modified.\n'
-             'This is generally not what was intended.  A way around this is '
-             'to use\n'
-             '"None" as the default, and explicitly test for it in the body of '
-             'the\n'
-             'function, e.g.:\n'
+             'to understand when a default parameter value is a mutable '
+             'object, such\n'
+             'as a list or a dictionary: if the function modifies the object '
+             '(e.g.\n'
+             'by appending an item to a list), the default parameter value is '
+             'in\n'
+             'effect modified.  This is generally not what was intended.  A '
+             'way\n'
+             'around this is to use "None" as the default, and explicitly test '
+             'for\n'
+             'it in the body of the function, e.g.:\n'
              '\n'
              '   def whats_on_the_telly(penguin=None):\n'
              '       if penguin is None:\n'
@@ -5956,7 +5981,9 @@
                'defined.\n'
                '   See section The import statement.\n'
                '\n'
-               '   Note: The name "_" is often used in conjunction with\n'
+               '   Note:\n'
+               '\n'
+               '     The name "_" is often used in conjunction with\n'
                '     internationalization; refer to the documentation for the\n'
                '     "gettext" module for more information on this '
                'convention.\n'
@@ -6060,8 +6087,8 @@
                 '\n'
                 'A non-normative HTML file listing all valid identifier '
                 'characters for\n'
-                'Unicode 4.1 can be found at https://www.dcl.hpi.uni-\n'
-                'potsdam.de/home/loewis/table-3131.html.\n'
+                'Unicode 4.1 can be found at\n'
+                'https://www.unicode.org/Public/13.0.0/ucd/DerivedCoreProperties.txt\n'
                 '\n'
                 '\n'
                 'Keywords\n'
@@ -6102,7 +6129,9 @@
                 'defined.\n'
                 '   See section The import statement.\n'
                 '\n'
-                '   Note: The name "_" is often used in conjunction with\n'
+                '   Note:\n'
+                '\n'
+                '     The name "_" is often used in conjunction with\n'
                 '     internationalization; refer to the documentation for '
                 'the\n'
                 '     "gettext" module for more information on this '
@@ -6187,8 +6216,9 @@
            '\n'
            '1. find a module, loading and initializing it if necessary\n'
            '\n'
-           '2. define a name or names in the local namespace for the scope\n'
-           '   where the "import" statement occurs.\n'
+           '2. define a name or names in the local namespace for the scope '
+           'where\n'
+           '   the "import" statement occurs.\n'
            '\n'
            'When the statement contains multiple clauses (separated by commas) '
            'the\n'
@@ -6214,8 +6244,9 @@
            'made\n'
            'available in the local namespace in one of three ways:\n'
            '\n'
-           '* If the module name is followed by "as", then the name following\n'
-           '  "as" is bound directly to the imported module.\n'
+           '* If the module name is followed by "as", then the name following '
+           '"as"\n'
+           '  is bound directly to the imported module.\n'
            '\n'
            '* If no other name is specified, and the module being imported is '
            'a\n'
@@ -6893,15 +6924,18 @@
                   '"__rpow__()" (the\n'
                   '   coercion rules would become too complicated).\n'
                   '\n'
-                  '   Note: If the right operand’s type is a subclass of the '
-                  'left\n'
-                  '     operand’s type and that subclass provides the '
-                  'reflected method\n'
-                  '     for the operation, this method will be called before '
-                  'the left\n'
-                  '     operand’s non-reflected method.  This behavior allows '
-                  'subclasses\n'
-                  '     to override their ancestors’ operations.\n'
+                  '   Note:\n'
+                  '\n'
+                  '     If the right operand’s type is a subclass of the left '
+                  'operand’s\n'
+                  '     type and that subclass provides a different '
+                  'implementation of the\n'
+                  '     reflected method for the operation, this method will '
+                  'be called\n'
+                  '     before the left operand’s non-reflected method. This '
+                  'behavior\n'
+                  '     allows subclasses to override their ancestors’ '
+                  'operations.\n'
                   '\n'
                   'object.__iadd__(self, other)\n'
                   'object.__isub__(self, other)\n'
@@ -7221,8 +7255,8 @@
                      '-[ Footnotes ]-\n'
                      '\n'
                      '[1] While "abs(x%y) < abs(y)" is true mathematically, '
-                     'for floats\n'
-                     '    it may not be true numerically due to roundoff.  For '
+                     'for floats it\n'
+                     '    may not be true numerically due to roundoff.  For '
                      'example, and\n'
                      '    assuming a platform on which a Python float is an '
                      'IEEE 754 double-\n'
@@ -7287,22 +7321,22 @@
                      '"unicodedata.normalize()".\n'
                      '\n'
                      '[4] Due to automatic garbage-collection, free lists, and '
-                     'the\n'
-                     '    dynamic nature of descriptors, you may notice '
-                     'seemingly unusual\n'
-                     '    behaviour in certain uses of the "is" operator, like '
-                     'those\n'
-                     '    involving comparisons between instance methods, or '
-                     'constants.\n'
-                     '    Check their documentation for more info.\n'
+                     'the dynamic\n'
+                     '    nature of descriptors, you may notice seemingly '
+                     'unusual behaviour\n'
+                     '    in certain uses of the "is" operator, like those '
+                     'involving\n'
+                     '    comparisons between instance methods, or constants.  '
+                     'Check their\n'
+                     '    documentation for more info.\n'
                      '\n'
                      '[5] The "%" operator is also used for string formatting; '
                      'the same\n'
                      '    precedence applies.\n'
                      '\n'
                      '[6] The power operator "**" binds less tightly than an '
-                     'arithmetic\n'
-                     '    or bitwise unary operator on its right, that is, '
+                     'arithmetic or\n'
+                     '    bitwise unary operator on its right, that is, '
                      '"2**-1" is "0.5".\n',
  'pass': 'The "pass" statement\n'
          '********************\n'
@@ -7592,9 +7626,11 @@
                    '\n'
                    '   New in version 3.4.\n'
                    '\n'
-                   'Note: Slicing is done exclusively with the following three '
-                   'methods.\n'
-                   '  A call like\n'
+                   'Note:\n'
+                   '\n'
+                   '  Slicing is done exclusively with the following three '
+                   'methods.  A\n'
+                   '  call like\n'
                    '\n'
                    '     a[1:2] = b\n'
                    '\n'
@@ -7625,7 +7661,9 @@
                    'the\n'
                    '   container), "KeyError" should be raised.\n'
                    '\n'
-                   '   Note: "for" loops expect that an "IndexError" will be '
+                   '   Note:\n'
+                   '\n'
+                   '     "for" loops expect that an "IndexError" will be '
                    'raised for\n'
                    '     illegal indexes to allow proper detection of the end '
                    'of the\n'
@@ -7861,26 +7899,26 @@
                  '-[ Footnotes ]-\n'
                  '\n'
                  '[1] Additional information on these special methods may be '
-                 'found\n'
-                 '    in the Python Reference Manual (Basic customization).\n'
+                 'found in\n'
+                 '    the Python Reference Manual (Basic customization).\n'
                  '\n'
                  '[2] As a consequence, the list "[1, 2]" is considered equal '
-                 'to\n'
-                 '    "[1.0, 2.0]", and similarly for tuples.\n'
+                 'to "[1.0,\n'
+                 '    2.0]", and similarly for tuples.\n'
                  '\n'
                  '[3] They must have since the parser can’t tell the type of '
                  'the\n'
                  '    operands.\n'
                  '\n'
                  '[4] Cased characters are those with general category '
-                 'property\n'
-                 '    being one of “Lu” (Letter, uppercase), “Ll” (Letter, '
-                 'lowercase),\n'
-                 '    or “Lt” (Letter, titlecase).\n'
+                 'property being\n'
+                 '    one of “Lu” (Letter, uppercase), “Ll” (Letter, '
+                 'lowercase), or “Lt”\n'
+                 '    (Letter, titlecase).\n'
                  '\n'
-                 '[5] To format only a tuple you should therefore provide a\n'
-                 '    singleton tuple whose only element is the tuple to be '
-                 'formatted.\n',
+                 '[5] To format only a tuple you should therefore provide a '
+                 'singleton\n'
+                 '    tuple whose only element is the tuple to be formatted.\n',
  'specialnames': 'Special method names\n'
                  '********************\n'
                  '\n'
@@ -8025,7 +8063,9 @@
                  'for\n'
                  '   objects that still exist when the interpreter exits.\n'
                  '\n'
-                 '   Note: "del x" doesn’t directly call "x.__del__()" — the '
+                 '   Note:\n'
+                 '\n'
+                 '     "del x" doesn’t directly call "x.__del__()" — the '
                  'former\n'
                  '     decrements the reference count for "x" by one, and the '
                  'latter is\n'
@@ -8049,12 +8089,15 @@
                  '\n'
                  '   See also: Documentation for the "gc" module.\n'
                  '\n'
-                 '   Warning: Due to the precarious circumstances under which\n'
-                 '     "__del__()" methods are invoked, exceptions that occur '
-                 'during\n'
-                 '     their execution are ignored, and a warning is printed '
-                 'to\n'
-                 '     "sys.stderr" instead. In particular:\n'
+                 '   Warning:\n'
+                 '\n'
+                 '     Due to the precarious circumstances under which '
+                 '"__del__()"\n'
+                 '     methods are invoked, exceptions that occur during their '
+                 'execution\n'
+                 '     are ignored, and a warning is printed to "sys.stderr" '
+                 'instead.\n'
+                 '     In particular:\n'
                  '\n'
                  '     * "__del__()" can be invoked when arbitrary code is '
                  'being\n'
@@ -8067,22 +8110,20 @@
                  '       that gets interrupted to execute "__del__()".\n'
                  '\n'
                  '     * "__del__()" can be executed during interpreter '
-                 'shutdown.  As\n'
-                 '       a consequence, the global variables it needs to '
-                 'access\n'
-                 '       (including other modules) may already have been '
-                 'deleted or set\n'
-                 '       to "None". Python guarantees that globals whose name '
-                 'begins\n'
-                 '       with a single underscore are deleted from their '
-                 'module before\n'
-                 '       other globals are deleted; if no other references to '
-                 'such\n'
-                 '       globals exist, this may help in assuring that '
-                 'imported modules\n'
-                 '       are still available at the time when the "__del__()" '
-                 'method is\n'
-                 '       called.\n'
+                 'shutdown.  As a\n'
+                 '       consequence, the global variables it needs to access '
+                 '(including\n'
+                 '       other modules) may already have been deleted or set '
+                 'to "None".\n'
+                 '       Python guarantees that globals whose name begins with '
+                 'a single\n'
+                 '       underscore are deleted from their module before other '
+                 'globals\n'
+                 '       are deleted; if no other references to such globals '
+                 'exist, this\n'
+                 '       may help in assuring that imported modules are still '
+                 'available\n'
+                 '       at the time when the "__del__()" method is called.\n'
                  '\n'
                  'object.__repr__(self)\n'
                  '\n'
@@ -8258,19 +8299,21 @@
                  '      def __hash__(self):\n'
                  '          return hash((self.name, self.nick, self.color))\n'
                  '\n'
-                 '   Note: "hash()" truncates the value returned from an '
-                 'object’s\n'
-                 '     custom "__hash__()" method to the size of a '
-                 '"Py_ssize_t".  This\n'
-                 '     is typically 8 bytes on 64-bit builds and 4 bytes on '
-                 '32-bit\n'
-                 '     builds. If an object’s   "__hash__()" must interoperate '
-                 'on builds\n'
-                 '     of different bit sizes, be sure to check the width on '
-                 'all\n'
-                 '     supported builds.  An easy way to do this is with '
-                 '"python -c\n'
-                 '     "import sys; print(sys.hash_info.width)"".\n'
+                 '   Note:\n'
+                 '\n'
+                 '     "hash()" truncates the value returned from an object’s '
+                 'custom\n'
+                 '     "__hash__()" method to the size of a "Py_ssize_t".  '
+                 'This is\n'
+                 '     typically 8 bytes on 64-bit builds and 4 bytes on '
+                 '32-bit builds.\n'
+                 '     If an object’s   "__hash__()" must interoperate on '
+                 'builds of\n'
+                 '     different bit sizes, be sure to check the width on all '
+                 'supported\n'
+                 '     builds.  An easy way to do this is with "python -c '
+                 '"import sys;\n'
+                 '     print(sys.hash_info.width)"".\n'
                  '\n'
                  '   If a class does not define an "__eq__()" method it should '
                  'not\n'
@@ -8326,21 +8369,22 @@
                  '   hashable by an "isinstance(obj, '
                  'collections.abc.Hashable)" call.\n'
                  '\n'
-                 '   Note: By default, the "__hash__()" values of str and '
-                 'bytes\n'
-                 '     objects are “salted” with an unpredictable random '
-                 'value.\n'
-                 '     Although they remain constant within an individual '
-                 'Python\n'
-                 '     process, they are not predictable between repeated '
-                 'invocations of\n'
-                 '     Python.This is intended to provide protection against a '
-                 'denial-\n'
-                 '     of-service caused by carefully-chosen inputs that '
-                 'exploit the\n'
-                 '     worst case performance of a dict insertion, O(n^2) '
-                 'complexity.\n'
-                 '     See http://www.ocert.org/advisories/ocert-2011-003.html '
+                 '   Note:\n'
+                 '\n'
+                 '     By default, the "__hash__()" values of str and bytes '
+                 'objects are\n'
+                 '     “salted” with an unpredictable random value.  Although '
+                 'they\n'
+                 '     remain constant within an individual Python process, '
+                 'they are not\n'
+                 '     predictable between repeated invocations of Python.This '
+                 'is\n'
+                 '     intended to provide protection against a '
+                 'denial-of-service caused\n'
+                 '     by carefully-chosen inputs that exploit the worst case\n'
+                 '     performance of a dict insertion, O(n^2) complexity.  '
+                 'See\n'
+                 '     http://www.ocert.org/advisories/ocert-2011-003.html '
                  'for\n'
                  '     details.Changing hash values affects the iteration '
                  'order of sets.\n'
@@ -8429,11 +8473,13 @@
                  'needs, for\n'
                  '   example, "object.__getattribute__(self, name)".\n'
                  '\n'
-                 '   Note: This method may still be bypassed when looking up '
-                 'special\n'
-                 '     methods as the result of implicit invocation via '
-                 'language syntax\n'
-                 '     or built-in functions. See Special method lookup.\n'
+                 '   Note:\n'
+                 '\n'
+                 '     This method may still be bypassed when looking up '
+                 'special methods\n'
+                 '     as the result of implicit invocation via language '
+                 'syntax or\n'
+                 '     built-in functions. See Special method lookup.\n'
                  '\n'
                  'object.__setattr__(self, name, value)\n'
                  '\n'
@@ -8517,15 +8563,16 @@
                  '\n'
                  '   sys.modules[__name__].__class__ = VerboseModule\n'
                  '\n'
-                 'Note: Defining module "__getattr__" and setting module '
-                 '"__class__"\n'
-                 '  only affect lookups made using the attribute access syntax '
-                 '–\n'
-                 '  directly accessing the module globals (whether by code '
-                 'within the\n'
-                 '  module, or via a reference to the module’s globals '
-                 'dictionary) is\n'
-                 '  unaffected.\n'
+                 'Note:\n'
+                 '\n'
+                 '  Defining module "__getattr__" and setting module '
+                 '"__class__" only\n'
+                 '  affect lookups made using the attribute access syntax – '
+                 'directly\n'
+                 '  accessing the module globals (whether by code within the '
+                 'module, or\n'
+                 '  via a reference to the module’s globals dictionary) is '
+                 'unaffected.\n'
                  '\n'
                  'Changed in version 3.5: "__class__" module attribute is now '
                  'writable.\n'
@@ -8608,12 +8655,14 @@
                  'The\n'
                  '   descriptor has been assigned to *name*.\n'
                  '\n'
-                 '   Note: "__set_name__()" is only called implicitly as part '
-                 'of the\n'
-                 '     "type" constructor, so it will need to be called '
-                 'explicitly with\n'
-                 '     the appropriate parameters when a descriptor is added '
-                 'to a class\n'
+                 '   Note:\n'
+                 '\n'
+                 '     "__set_name__()" is only called implicitly as part of '
+                 'the "type"\n'
+                 '     constructor, so it will need to be called explicitly '
+                 'with the\n'
+                 '     appropriate parameters when a descriptor is added to a '
+                 'class\n'
                  '     after initial creation:\n'
                  '\n'
                  '        class A:\n'
@@ -8772,10 +8821,9 @@
                  '~~~~~~~~~~~~~~~~~~~~~~~~~~\n'
                  '\n'
                  '* When inheriting from a class without *__slots__*, the '
-                 '*__dict__*\n'
-                 '  and *__weakref__* attribute of the instances will always '
-                 'be\n'
-                 '  accessible.\n'
+                 '*__dict__* and\n'
+                 '  *__weakref__* attribute of the instances will always be '
+                 'accessible.\n'
                  '\n'
                  '* Without a *__dict__* variable, instances cannot be '
                  'assigned new\n'
@@ -8789,13 +8837,12 @@
                  '  declaration.\n'
                  '\n'
                  '* Without a *__weakref__* variable for each instance, '
-                 'classes\n'
-                 '  defining *__slots__* do not support weak references to '
-                 'its\n'
-                 '  instances. If weak reference support is needed, then add\n'
-                 '  "\'__weakref__\'" to the sequence of strings in the '
-                 '*__slots__*\n'
-                 '  declaration.\n'
+                 'classes defining\n'
+                 '  *__slots__* do not support weak references to its '
+                 'instances. If weak\n'
+                 '  reference support is needed, then add "\'__weakref__\'" to '
+                 'the\n'
+                 '  sequence of strings in the *__slots__* declaration.\n'
                  '\n'
                  '* *__slots__* are implemented at the class level by '
                  'creating\n'
@@ -8808,23 +8855,22 @@
                  '  attribute would overwrite the descriptor assignment.\n'
                  '\n'
                  '* The action of a *__slots__* declaration is not limited to '
-                 'the\n'
-                 '  class where it is defined.  *__slots__* declared in '
-                 'parents are\n'
-                 '  available in child classes. However, child subclasses will '
-                 'get a\n'
-                 '  *__dict__* and *__weakref__* unless they also define '
-                 '*__slots__*\n'
-                 '  (which should only contain names of any *additional* '
-                 'slots).\n'
+                 'the class\n'
+                 '  where it is defined.  *__slots__* declared in parents are '
+                 'available\n'
+                 '  in child classes. However, child subclasses will get a '
+                 '*__dict__*\n'
+                 '  and *__weakref__* unless they also define *__slots__* '
+                 '(which should\n'
+                 '  only contain names of any *additional* slots).\n'
                  '\n'
                  '* If a class defines a slot also defined in a base class, '
-                 'the\n'
-                 '  instance variable defined by the base class slot is '
-                 'inaccessible\n'
-                 '  (except by retrieving its descriptor directly from the '
-                 'base class).\n'
-                 '  This renders the meaning of the program undefined.  In the '
+                 'the instance\n'
+                 '  variable defined by the base class slot is inaccessible '
+                 '(except by\n'
+                 '  retrieving its descriptor directly from the base class). '
+                 'This\n'
+                 '  renders the meaning of the program undefined.  In the '
                  'future, a\n'
                  '  check may be added to prevent this.\n'
                  '\n'
@@ -8834,9 +8880,9 @@
                  'and "tuple".\n'
                  '\n'
                  '* Any non-string iterable may be assigned to *__slots__*. '
-                 'Mappings\n'
-                 '  may also be used; however, in the future, special meaning '
-                 'may be\n'
+                 'Mappings may\n'
+                 '  also be used; however, in the future, special meaning may '
+                 'be\n'
                  '  assigned to the values corresponding to each key.\n'
                  '\n'
                  '* *__class__* assignment works only if both classes have the '
@@ -8852,8 +8898,8 @@
                  '  raise "TypeError".\n'
                  '\n'
                  '* If an iterator is used for *__slots__* then a descriptor '
-                 'is\n'
-                 '  created for each of the iterator’s values. However, the '
+                 'is created\n'
+                 '  for each of the iterator’s values. However, the '
                  '*__slots__*\n'
                  '  attribute will be an empty iterator.\n'
                  '\n'
@@ -8906,9 +8952,11 @@
                  'does nothing,\n'
                  '   but raises an error if it is called with any arguments.\n'
                  '\n'
-                 '   Note: The metaclass hint "metaclass" is consumed by the '
-                 'rest of\n'
-                 '     the type machinery, and is never passed to '
+                 '   Note:\n'
+                 '\n'
+                 '     The metaclass hint "metaclass" is consumed by the rest '
+                 'of the\n'
+                 '     type machinery, and is never passed to '
                  '"__init_subclass__"\n'
                  '     implementations. The actual metaclass (rather than the '
                  'explicit\n'
@@ -8976,9 +9024,10 @@
                  'tuple may\n'
                  'be empty, in such case the original base is ignored.\n'
                  '\n'
-                 'See also: **PEP 560** - Core support for typing module and '
-                 'generic\n'
-                 '  types\n'
+                 'See also:\n'
+                 '\n'
+                 '  **PEP 560** - Core support for typing module and generic '
+                 'types\n'
                  '\n'
                  '\n'
                  'Determining the appropriate metaclass\n'
@@ -9236,9 +9285,10 @@
                  'type hints,\n'
                  'other usage is discouraged.\n'
                  '\n'
-                 'See also: **PEP 560** - Core support for typing module and '
-                 'generic\n'
-                 '  types\n'
+                 'See also:\n'
+                 '\n'
+                 '  **PEP 560** - Core support for typing module and generic '
+                 'types\n'
                  '\n'
                  '\n'
                  'Emulating callable objects\n'
@@ -9350,9 +9400,11 @@
                  '\n'
                  '   New in version 3.4.\n'
                  '\n'
-                 'Note: Slicing is done exclusively with the following three '
-                 'methods.\n'
-                 '  A call like\n'
+                 'Note:\n'
+                 '\n'
+                 '  Slicing is done exclusively with the following three '
+                 'methods.  A\n'
+                 '  call like\n'
                  '\n'
                  '     a[1:2] = b\n'
                  '\n'
@@ -9383,8 +9435,10 @@
                  'the\n'
                  '   container), "KeyError" should be raised.\n'
                  '\n'
-                 '   Note: "for" loops expect that an "IndexError" will be '
-                 'raised for\n'
+                 '   Note:\n'
+                 '\n'
+                 '     "for" loops expect that an "IndexError" will be raised '
+                 'for\n'
                  '     illegal indexes to allow proper detection of the end of '
                  'the\n'
                  '     sequence.\n'
@@ -9574,15 +9628,18 @@
                  '"__rpow__()" (the\n'
                  '   coercion rules would become too complicated).\n'
                  '\n'
-                 '   Note: If the right operand’s type is a subclass of the '
-                 'left\n'
-                 '     operand’s type and that subclass provides the reflected '
-                 'method\n'
-                 '     for the operation, this method will be called before '
-                 'the left\n'
-                 '     operand’s non-reflected method.  This behavior allows '
-                 'subclasses\n'
-                 '     to override their ancestors’ operations.\n'
+                 '   Note:\n'
+                 '\n'
+                 '     If the right operand’s type is a subclass of the left '
+                 'operand’s\n'
+                 '     type and that subclass provides a different '
+                 'implementation of the\n'
+                 '     reflected method for the operation, this method will be '
+                 'called\n'
+                 '     before the left operand’s non-reflected method. This '
+                 'behavior\n'
+                 '     allows subclasses to override their ancestors’ '
+                 'operations.\n'
                  '\n'
                  'object.__iadd__(self, other)\n'
                  'object.__isub__(self, other)\n'
@@ -9914,36 +9971,7 @@
                    '*start* and\n'
                    '   *end* are interpreted as in slice notation.\n'
                    '\n'
-                   'str.removeprefix(prefix, /)\n'
-                   '\n'
-                   '   If the string starts with the *prefix* string, return\n'
-                   '   "string[len(prefix):]". Otherwise, return a copy of the '
-                   'original\n'
-                   '   string:\n'
-                   '\n'
-                   "      >>> 'TestHook'.removeprefix('Test')\n"
-                   "      'Hook'\n"
-                   "      >>> 'BaseTestCase'.removeprefix('Test')\n"
-                   "      'BaseTestCase'\n"
-                   '\n'
-                   '   New in version 3.9.\n'
-                   '\n'
-                   'str.removesuffix(suffix, /)\n'
-                   '\n'
-                   '   If the string ends with the *suffix* string and that '
-                   '*suffix* is\n'
-                   '   not empty, return "string[:-len(suffix)]". Otherwise, '
-                   'return a copy\n'
-                   '   of the original string:\n'
-                   '\n'
-                   "      >>> 'MiscTests'.removesuffix('Tests')\n"
-                   "      'Misc'\n"
-                   "      >>> 'TmpDirMixin'.removesuffix('Tests')\n"
-                   "      'TmpDirMixin'\n"
-                   '\n'
-                   '   New in version 3.9.\n'
-                   '\n'
-                   'str.encode(encoding="utf-8", errors="strict")\n'
+                   "str.encode(encoding='utf-8', errors='strict')\n"
                    '\n'
                    '   Return an encoded version of the string as a bytes '
                    'object. Default\n'
@@ -10029,11 +10057,13 @@
                    '"-1" if\n'
                    '   *sub* is not found.\n'
                    '\n'
-                   '   Note: The "find()" method should be used only if you '
-                   'need to know\n'
-                   '     the position of *sub*.  To check if *sub* is a '
-                   'substring or not,\n'
-                   '     use the "in" operator:\n'
+                   '   Note:\n'
+                   '\n'
+                   '     The "find()" method should be used only if you need '
+                   'to know the\n'
+                   '     position of *sub*.  To check if *sub* is a substring '
+                   'or not, use\n'
+                   '     the "in" operator:\n'
                    '\n'
                    "        >>> 'Py' in 'Python'\n"
                    '        True\n'
@@ -10062,8 +10092,9 @@
                    '   formatting options that can be specified in format '
                    'strings.\n'
                    '\n'
-                   '   Note: When formatting a number ("int", "float", '
-                   '"complex",\n'
+                   '   Note:\n'
+                   '\n'
+                   '     When formatting a number ("int", "float", "complex",\n'
                    '     "decimal.Decimal" and subclasses) with the "n" type '
                    '(ex:\n'
                    '     "\'{:n}\'.format(1234)"), the function temporarily '
@@ -10371,6 +10402,35 @@
                    'followed by\n'
                    '   two empty strings.\n'
                    '\n'
+                   'str.removeprefix(prefix, /)\n'
+                   '\n'
+                   '   If the string starts with the *prefix* string, return\n'
+                   '   "string[len(prefix):]". Otherwise, return a copy of the '
+                   'original\n'
+                   '   string:\n'
+                   '\n'
+                   "      >>> 'TestHook'.removeprefix('Test')\n"
+                   "      'Hook'\n"
+                   "      >>> 'BaseTestCase'.removeprefix('Test')\n"
+                   "      'BaseTestCase'\n"
+                   '\n'
+                   '   New in version 3.9.\n'
+                   '\n'
+                   'str.removesuffix(suffix, /)\n'
+                   '\n'
+                   '   If the string ends with the *suffix* string and that '
+                   '*suffix* is\n'
+                   '   not empty, return "string[:-len(suffix)]". Otherwise, '
+                   'return a copy\n'
+                   '   of the original string:\n'
+                   '\n'
+                   "      >>> 'MiscTests'.removesuffix('Tests')\n"
+                   "      'Misc'\n"
+                   "      >>> 'TmpDirMixin'.removesuffix('Tests')\n"
+                   "      'TmpDirMixin'\n"
+                   '\n'
+                   '   New in version 3.9.\n'
+                   '\n'
                    'str.replace(old, new[, count])\n'
                    '\n'
                    '   Return a copy of the string with all occurrences of '
@@ -10417,7 +10477,7 @@
                    'followed by\n'
                    '   the string itself.\n'
                    '\n'
-                   'str.rsplit(sep=None, maxsplit=-1)\n'
+                   'str.rsplit(sep=None, maxsplit=- 1)\n'
                    '\n'
                    '   Return a list of the words in the string, using *sep* '
                    'as the\n'
@@ -10458,7 +10518,7 @@
                    "      >>> 'Monty Python'.removesuffix(' Python')\n"
                    "      'Monty'\n"
                    '\n'
-                   'str.split(sep=None, maxsplit=-1)\n'
+                   'str.split(sep=None, maxsplit=- 1)\n'
                    '\n'
                    '   Return a list of the words in the string, using *sep* '
                    'as the\n'
@@ -10939,17 +10999,20 @@
             '\n'
             '2. Unlike in Standard C, exactly two hex digits are required.\n'
             '\n'
-            '3. In a bytes literal, hexadecimal and octal escapes denote the\n'
-            '   byte with the given value. In a string literal, these escapes\n'
-            '   denote a Unicode character with the given value.\n'
+            '3. In a bytes literal, hexadecimal and octal escapes denote the '
+            'byte\n'
+            '   with the given value. In a string literal, these escapes '
+            'denote a\n'
+            '   Unicode character with the given value.\n'
             '\n'
             '4. Changed in version 3.3: Support for name aliases [1] has been\n'
             '   added.\n'
             '\n'
             '5. Exactly four hex digits are required.\n'
             '\n'
-            '6. Any Unicode character can be encoded this way.  Exactly eight\n'
-            '   hex digits are required.\n'
+            '6. Any Unicode character can be encoded this way.  Exactly eight '
+            'hex\n'
+            '   digits are required.\n'
             '\n'
             'Unlike Standard C, all unrecognized escape sequences are left in '
             'the\n'
@@ -11399,7 +11462,7 @@
           '         points. All the code points in the range "U+0000 - '
           'U+10FFFF"\n'
           '         can be represented in a string.  Python doesn’t have a '
-          '"char"\n'
+          '*char*\n'
           '         type; instead, every code point in the string is '
           'represented\n'
           '         as a string object with length "1".  The built-in '
@@ -12647,9 +12710,11 @@
                  '\n'
                  '   Changed in version 3.8: Dictionaries are now reversible.\n'
                  '\n'
-                 'See also: "types.MappingProxyType" can be used to create a '
-                 'read-only\n'
-                 '  view of a "dict".\n'
+                 'See also:\n'
+                 '\n'
+                 '  "types.MappingProxyType" can be used to create a read-only '
+                 'view of a\n'
+                 '  "dict".\n'
                  '\n'
                  '\n'
                  'Dictionary view objects\n'
@@ -12712,6 +12777,14 @@
                  '   Changed in version 3.8: Dictionary views are now '
                  'reversible.\n'
                  '\n'
+                 'dictview.mapping\n'
+                 '\n'
+                 '   Return a "types.MappingProxyType" that wraps the '
+                 'original\n'
+                 '   dictionary to which the view refers.\n'
+                 '\n'
+                 '   New in version 3.10.\n'
+                 '\n'
                  'Keys views are set-like since their entries are unique and '
                  'hashable.\n'
                  'If all values are hashable, so that "(key, value)" pairs are '
@@ -12757,7 +12830,15 @@
                  "   >>> keys & {'eggs', 'bacon', 'salad'}\n"
                  "   {'bacon'}\n"
                  "   >>> keys ^ {'sausage', 'juice'}\n"
-                 "   {'juice', 'sausage', 'bacon', 'spam'}\n",
+                 "   {'juice', 'sausage', 'bacon', 'spam'}\n"
+                 '\n'
+                 '   >>> # get back a read-only proxy for the original '
+                 'dictionary\n'
+                 '   >>> values.mapping\n'
+                 "   mappingproxy({'eggs': 2, 'sausage': 1, 'bacon': 1, "
+                 "'spam': 500})\n"
+                 "   >>> values.mapping['spam']\n"
+                 '   500\n',
  'typesmethods': 'Methods\n'
                  '*******\n'
                  '\n'
@@ -13033,13 +13114,14 @@
              '"None", it\n'
              '   is treated like "1".\n'
              '\n'
-             '6. Concatenating immutable sequences always results in a new\n'
-             '   object. This means that building up a sequence by repeated\n'
-             '   concatenation will have a quadratic runtime cost in the '
-             'total\n'
-             '   sequence length. To get a linear runtime cost, you must '
-             'switch to\n'
-             '   one of the alternatives below:\n'
+             '6. Concatenating immutable sequences always results in a new '
+             'object.\n'
+             '   This means that building up a sequence by repeated '
+             'concatenation\n'
+             '   will have a quadratic runtime cost in the total sequence '
+             'length.\n'
+             '   To get a linear runtime cost, you must switch to one of the\n'
+             '   alternatives below:\n'
              '\n'
              '   * if concatenating "str" objects, you can build a list and '
              'use\n'
@@ -13057,24 +13139,25 @@
              '   * for other types, investigate the relevant class '
              'documentation\n'
              '\n'
-             '7. Some sequence types (such as "range") only support item\n'
-             '   sequences that follow specific patterns, and hence don’t '
-             'support\n'
-             '   sequence concatenation or repetition.\n'
-             '\n'
-             '8. "index" raises "ValueError" when *x* is not found in *s*. '
-             'Not\n'
-             '   all implementations support passing the additional arguments '
-             '*i*\n'
-             '   and *j*. These arguments allow efficient searching of '
-             'subsections\n'
-             '   of the sequence. Passing the extra arguments is roughly '
-             'equivalent\n'
-             '   to using "s[i:j].index(x)", only without copying any data and '
-             'with\n'
-             '   the returned index being relative to the start of the '
+             '7. Some sequence types (such as "range") only support item '
+             'sequences\n'
+             '   that follow specific patterns, and hence don’t support '
              'sequence\n'
-             '   rather than the start of the slice.\n'
+             '   concatenation or repetition.\n'
+             '\n'
+             '8. "index" raises "ValueError" when *x* is not found in *s*. Not '
+             'all\n'
+             '   implementations support passing the additional arguments *i* '
+             'and\n'
+             '   *j*. These arguments allow efficient searching of subsections '
+             'of\n'
+             '   the sequence. Passing the extra arguments is roughly '
+             'equivalent to\n'
+             '   using "s[i:j].index(x)", only without copying any data and '
+             'with the\n'
+             '   returned index being relative to the start of the sequence '
+             'rather\n'
+             '   than the start of the slice.\n'
              '\n'
              '\n'
              'Immutable Sequence Types\n'
@@ -13202,17 +13285,17 @@
              '1. *t* must have the same length as the slice it is replacing.\n'
              '\n'
              '2. The optional argument *i* defaults to "-1", so that by '
-             'default\n'
-             '   the last item is removed and returned.\n'
+             'default the\n'
+             '   last item is removed and returned.\n'
              '\n'
              '3. "remove()" raises "ValueError" when *x* is not found in *s*.\n'
              '\n'
-             '4. The "reverse()" method modifies the sequence in place for\n'
-             '   economy of space when reversing a large sequence.  To remind '
-             'users\n'
-             '   that it operates by side effect, it does not return the '
-             'reversed\n'
-             '   sequence.\n'
+             '4. The "reverse()" method modifies the sequence in place for '
+             'economy\n'
+             '   of space when reversing a large sequence.  To remind users '
+             'that it\n'
+             '   operates by side effect, it does not return the reversed '
+             'sequence.\n'
              '\n'
              '5. "clear()" and "copy()" are included for consistency with the\n'
              '   interfaces of mutable containers that don’t support slicing\n'
@@ -13249,9 +13332,9 @@
              '   * Using a pair of square brackets to denote the empty list: '
              '"[]"\n'
              '\n'
-             '   * Using square brackets, separating items with commas: '
-             '"[a]",\n'
-             '     "[a, b, c]"\n'
+             '   * Using square brackets, separating items with commas: "[a]", '
+             '"[a,\n'
+             '     b, c]"\n'
              '\n'
              '   * Using a list comprehension: "[x for x in iterable]"\n'
              '\n'
@@ -13554,9 +13637,9 @@
              '\n'
              'See also:\n'
              '\n'
-             '  * The linspace recipe shows how to implement a lazy version '
-             'of\n'
-             '    range suitable for floating point applications.\n',
+             '  * The linspace recipe shows how to implement a lazy version of '
+             'range\n'
+             '    suitable for floating point applications.\n',
  'typesseq-mutable': 'Mutable Sequence Types\n'
                      '**********************\n'
                      '\n'
@@ -13667,19 +13750,18 @@
                      'replacing.\n'
                      '\n'
                      '2. The optional argument *i* defaults to "-1", so that '
-                     'by default\n'
-                     '   the last item is removed and returned.\n'
+                     'by default the\n'
+                     '   last item is removed and returned.\n'
                      '\n'
                      '3. "remove()" raises "ValueError" when *x* is not found '
                      'in *s*.\n'
                      '\n'
                      '4. The "reverse()" method modifies the sequence in place '
-                     'for\n'
-                     '   economy of space when reversing a large sequence.  To '
-                     'remind users\n'
-                     '   that it operates by side effect, it does not return '
-                     'the reversed\n'
-                     '   sequence.\n'
+                     'for economy\n'
+                     '   of space when reversing a large sequence.  To remind '
+                     'users that it\n'
+                     '   operates by side effect, it does not return the '
+                     'reversed sequence.\n'
                      '\n'
                      '5. "clear()" and "copy()" are included for consistency '
                      'with the\n'
@@ -13762,8 +13844,9 @@
          'The execution of the "with" statement with one “item” proceeds as\n'
          'follows:\n'
          '\n'
-         '1. The context expression (the expression given in the "with_item")\n'
-         '   is evaluated to obtain a context manager.\n'
+         '1. The context expression (the expression given in the "with_item") '
+         'is\n'
+         '   evaluated to obtain a context manager.\n'
          '\n'
          '2. The context manager’s "__enter__()" is loaded for later use.\n'
          '\n'
@@ -13771,12 +13854,15 @@
          '\n'
          '4. The context manager’s "__enter__()" method is invoked.\n'
          '\n'
-         '5. If a target was included in the "with" statement, the return\n'
-         '   value from "__enter__()" is assigned to it.\n'
+         '5. If a target was included in the "with" statement, the return '
+         'value\n'
+         '   from "__enter__()" is assigned to it.\n'
          '\n'
-         '   Note: The "with" statement guarantees that if the "__enter__()"\n'
-         '     method returns without an error, then "__exit__()" will always '
-         'be\n'
+         '   Note:\n'
+         '\n'
+         '     The "with" statement guarantees that if the "__enter__()" '
+         'method\n'
+         '     returns without an error, then "__exit__()" will always be\n'
          '     called. Thus, if an error occurs during the assignment to the\n'
          '     target list, it will be treated the same as an error occurring\n'
          '     within the suite would be. See step 6 below.\n'