bpo-42137: have ModuleType.__repr__ prefer __spec__ over module_repr() (GH-24953)

This is to work towards the removal of the use of  module_repr() in Python 3.12 (documented as deprecated since 3.4).
This commit is contained in:
Brett Cannon 2021-03-24 08:26:56 -07:00 committed by GitHub
parent 3ba3d513b1
commit 9cb31d6716
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 147 additions and 153 deletions

View File

@ -208,7 +208,7 @@ Functions
.. versionadded:: 3.4
.. versionchanged:: 3.7
:exc:`ModuleNotFoundError` is raised when the module being reloaded lacks
a :class:`ModuleSpec`.
a :class:`~importlib.machinery.ModuleSpec`.
:mod:`importlib.abc` -- Abstract base classes related to import
@ -1591,9 +1591,9 @@ an :term:`importer`.
.. function:: spec_from_loader(name, loader, *, origin=None, is_package=None)
A factory function for creating a :class:`ModuleSpec` instance based
on a loader. The parameters have the same meaning as they do for
ModuleSpec. The function uses available :term:`loader` APIs, such as
A factory function for creating a :class:`~importlib.machinery.ModuleSpec`
instance based on a loader. The parameters have the same meaning as they do
for ModuleSpec. The function uses available :term:`loader` APIs, such as
:meth:`InspectLoader.is_package`, to fill in any missing
information on the spec.
@ -1601,9 +1601,9 @@ an :term:`importer`.
.. function:: spec_from_file_location(name, location, *, loader=None, submodule_search_locations=None)
A factory function for creating a :class:`ModuleSpec` instance based
on the path to a file. Missing information will be filled in on the
spec by making use of loader APIs and by the implication that the
A factory function for creating a :class:`~importlib.machinery.ModuleSpec`
instance based on the path to a file. Missing information will be filled in
on the spec by making use of loader APIs and by the implication that the
module will be file-based.
.. versionadded:: 3.4

View File

@ -1004,6 +1004,12 @@ Deprecated
:meth:`~importlib.abc.Loader.exec_module` is preferred.
(Contributed by Brett Cannon in :issue:`26131`.)
* The import system now uses the ``__spec__`` attribute on modules before
falling back on :meth:`~importlib.abc.Loader.module_repr` for a module's
``__repr__()`` method. Removal of the use of ``module_repr()`` is scheduled
for Python 3.12.
(Contributed by Brett Cannon in :issue:`42137`.)
* ``sqlite3.OptimizedUnicode`` has been undocumented and obsolete since Python
3.3, when it was made an alias to :class:`str`. It is now deprecated,
scheduled for removal in Python 3.12.

View File

@ -275,7 +275,7 @@ def _requires_frozen(fxn):
def _load_module_shim(self, fullname):
"""Load the specified module into sys.modules and return it.
This method is deprecated. Use loader.exec_module instead.
This method is deprecated. Use loader.exec_module() instead.
"""
msg = ("the load_module() method is deprecated and slated for removal in "
@ -292,24 +292,16 @@ def _load_module_shim(self, fullname):
# Module specifications #######################################################
def _module_repr(module):
# The implementation of ModuleType.__repr__().
"""The implementation of ModuleType.__repr__()."""
loader = getattr(module, '__loader__', None)
if hasattr(loader, 'module_repr'):
# As soon as BuiltinImporter, FrozenImporter, and NamespaceLoader
# drop their implementations for module_repr. we can add a
# deprecation warning here.
if spec := getattr(module, "__spec__", None):
return _module_repr_from_spec(spec)
elif hasattr(loader, 'module_repr'):
try:
return loader.module_repr(module)
except Exception:
pass
try:
spec = module.__spec__
except AttributeError:
pass
else:
if spec is not None:
return _module_repr_from_spec(spec)
# Fall through to a catch-all which always succeeds.
# We could use module.__class__.__name__ instead of 'module' in the
# various repr permutations.
try:

View File

@ -160,14 +160,6 @@ class LoaderTests(abc.LoaderTests):
self.assertEqual(repr_str,
"<module '__hello__' (frozen)>")
def test_module_repr_indirect(self):
with warnings.catch_warnings():
warnings.simplefilter("ignore", DeprecationWarning)
with util.uncache('__hello__'), captured_stdout():
module = self.machinery.FrozenImporter.load_module('__hello__')
self.assertEqual(repr(module),
"<module '__hello__' (frozen)>")
# No way to trigger an error in a frozen module.
test_state_after_failure = None

View File

@ -82,7 +82,8 @@ class SingleNamespacePackage(NamespacePackageTest):
def test_module_repr(self):
import foo.one
self.assertEqual(repr(foo), "<module 'foo' (namespace)>")
self.assertEqual(foo.__spec__.loader.module_repr(foo),
"<module 'foo' (namespace)>")
class DynamicPathNamespacePackage(NamespacePackageTest):

View File

@ -0,0 +1,2 @@
The import system now prefers using ``__spec__`` for ``ModuleType.__repr__``
over ``module_repr()``.

247
Python/importlib.h generated
View File

@ -492,67 +492,68 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
124,1,116,4,106,5,118,0,114,66,116,4,106,5,124,1,
25,0,125,4,116,6,124,3,124,4,131,2,1,0,116,4,
106,5,124,1,25,0,83,0,116,7,124,3,131,1,83,0,
41,3,122,128,76,111,97,100,32,116,104,101,32,115,112,101,
41,3,122,130,76,111,97,100,32,116,104,101,32,115,112,101,
99,105,102,105,101,100,32,109,111,100,117,108,101,32,105,110,
116,111,32,115,121,115,46,109,111,100,117,108,101,115,32,97,
110,100,32,114,101,116,117,114,110,32,105,116,46,10,10,32,
32,32,32,84,104,105,115,32,109,101,116,104,111,100,32,105,
115,32,100,101,112,114,101,99,97,116,101,100,46,32,32,85,
115,101,32,108,111,97,100,101,114,46,101,120,101,99,95,109,
111,100,117,108,101,32,105,110,115,116,101,97,100,46,10,10,
32,32,32,32,122,103,116,104,101,32,108,111,97,100,95,109,
111,100,117,108,101,40,41,32,109,101,116,104,111,100,32,105,
115,32,100,101,112,114,101,99,97,116,101,100,32,97,110,100,
32,115,108,97,116,101,100,32,102,111,114,32,114,101,109,111,
118,97,108,32,105,110,32,80,121,116,104,111,110,32,51,46,
49,50,59,32,117,115,101,32,101,120,101,99,95,109,111,100,
117,108,101,40,41,32,105,110,115,116,101,97,100,78,41,8,
218,9,95,119,97,114,110,105,110,103,115,218,4,119,97,114,
110,218,18,68,101,112,114,101,99,97,116,105,111,110,87,97,
114,110,105,110,103,218,16,115,112,101,99,95,102,114,111,109,
95,108,111,97,100,101,114,114,18,0,0,0,218,7,109,111,
100,117,108,101,115,218,5,95,101,120,101,99,218,5,95,108,
111,97,100,41,5,114,33,0,0,0,114,89,0,0,0,218,
3,109,115,103,218,4,115,112,101,99,218,6,109,111,100,117,
108,101,114,5,0,0,0,114,5,0,0,0,114,6,0,0,
0,218,17,95,108,111,97,100,95,109,111,100,117,108,101,95,
115,104,105,109,19,1,0,0,115,18,0,0,0,4,6,12,
2,10,1,10,1,10,1,10,1,10,1,8,2,255,128,114,
111,0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,
0,5,0,0,0,8,0,0,0,67,0,0,0,115,206,0,
0,0,116,0,124,0,100,1,100,0,131,3,125,1,116,1,
124,1,100,2,131,2,114,50,122,12,124,1,160,2,124,0,
161,1,87,0,83,0,4,0,116,3,121,204,1,0,1,0,
1,0,89,0,122,10,124,0,106,4,125,2,87,0,110,16,
4,0,116,5,121,202,1,0,1,0,1,0,89,0,110,16,
124,2,100,0,117,1,114,94,116,6,124,2,131,1,83,0,
122,10,124,0,106,7,125,3,87,0,110,18,4,0,116,5,
121,200,1,0,1,0,1,0,100,3,125,3,89,0,122,10,
124,0,106,8,125,4,87,0,110,50,4,0,116,5,121,198,
1,0,1,0,1,0,124,1,100,0,117,0,114,170,100,4,
160,9,124,3,161,1,6,0,89,0,83,0,100,5,160,9,
124,3,124,1,161,2,6,0,89,0,83,0,100,6,160,9,
124,3,124,4,161,2,83,0,119,0,119,0,119,0,119,0,
41,7,78,218,10,95,95,108,111,97,100,101,114,95,95,218,
11,109,111,100,117,108,101,95,114,101,112,114,250,1,63,250,
13,60,109,111,100,117,108,101,32,123,33,114,125,62,250,20,
60,109,111,100,117,108,101,32,123,33,114,125,32,40,123,33,
114,125,41,62,250,23,60,109,111,100,117,108,101,32,123,33,
114,125,32,102,114,111,109,32,123,33,114,125,62,41,10,114,
13,0,0,0,114,11,0,0,0,114,113,0,0,0,218,9,
69,120,99,101,112,116,105,111,110,218,8,95,95,115,112,101,
99,95,95,114,2,0,0,0,218,22,95,109,111,100,117,108,
111,100,117,108,101,40,41,32,105,110,115,116,101,97,100,46,
10,10,32,32,32,32,122,103,116,104,101,32,108,111,97,100,
95,109,111,100,117,108,101,40,41,32,109,101,116,104,111,100,
32,105,115,32,100,101,112,114,101,99,97,116,101,100,32,97,
110,100,32,115,108,97,116,101,100,32,102,111,114,32,114,101,
109,111,118,97,108,32,105,110,32,80,121,116,104,111,110,32,
51,46,49,50,59,32,117,115,101,32,101,120,101,99,95,109,
111,100,117,108,101,40,41,32,105,110,115,116,101,97,100,78,
41,8,218,9,95,119,97,114,110,105,110,103,115,218,4,119,
97,114,110,218,18,68,101,112,114,101,99,97,116,105,111,110,
87,97,114,110,105,110,103,218,16,115,112,101,99,95,102,114,
111,109,95,108,111,97,100,101,114,114,18,0,0,0,218,7,
109,111,100,117,108,101,115,218,5,95,101,120,101,99,218,5,
95,108,111,97,100,41,5,114,33,0,0,0,114,89,0,0,
0,218,3,109,115,103,218,4,115,112,101,99,218,6,109,111,
100,117,108,101,114,5,0,0,0,114,5,0,0,0,114,6,
0,0,0,218,17,95,108,111,97,100,95,109,111,100,117,108,
101,95,115,104,105,109,19,1,0,0,115,18,0,0,0,4,
6,12,2,10,1,10,1,10,1,10,1,10,1,8,2,255,
128,114,111,0,0,0,99,1,0,0,0,0,0,0,0,0,
0,0,0,5,0,0,0,8,0,0,0,67,0,0,0,115,
184,0,0,0,116,0,124,0,100,1,100,2,131,3,125,1,
116,0,124,0,100,3,100,2,131,3,4,0,125,2,114,36,
116,1,124,2,131,1,83,0,116,2,124,1,100,4,131,2,
114,74,122,12,124,1,160,3,124,0,161,1,87,0,83,0,
4,0,116,4,121,182,1,0,1,0,1,0,89,0,122,10,
124,0,106,5,125,3,87,0,110,18,4,0,116,6,121,180,
1,0,1,0,1,0,100,5,125,3,89,0,122,10,124,0,
106,7,125,4,87,0,110,50,4,0,116,6,121,178,1,0,
1,0,1,0,124,1,100,2,117,0,114,150,100,6,160,8,
124,3,161,1,6,0,89,0,83,0,100,7,160,8,124,3,
124,1,161,2,6,0,89,0,83,0,100,8,160,8,124,3,
124,4,161,2,83,0,119,0,119,0,119,0,41,9,122,44,
84,104,101,32,105,109,112,108,101,109,101,110,116,97,116,105,
111,110,32,111,102,32,77,111,100,117,108,101,84,121,112,101,
46,95,95,114,101,112,114,95,95,40,41,46,218,10,95,95,
108,111,97,100,101,114,95,95,78,218,8,95,95,115,112,101,
99,95,95,218,11,109,111,100,117,108,101,95,114,101,112,114,
250,1,63,250,13,60,109,111,100,117,108,101,32,123,33,114,
125,62,250,20,60,109,111,100,117,108,101,32,123,33,114,125,
32,40,123,33,114,125,41,62,250,23,60,109,111,100,117,108,
101,32,123,33,114,125,32,102,114,111,109,32,123,33,114,125,
62,41,9,114,13,0,0,0,218,22,95,109,111,100,117,108,
101,95,114,101,112,114,95,102,114,111,109,95,115,112,101,99,
114,9,0,0,0,218,8,95,95,102,105,108,101,95,95,114,
50,0,0,0,41,5,114,110,0,0,0,218,6,108,111,97,
100,101,114,114,109,0,0,0,114,20,0,0,0,218,8,102,
105,108,101,110,97,109,101,114,5,0,0,0,114,5,0,0,
0,114,6,0,0,0,218,12,95,109,111,100,117,108,101,95,
114,101,112,114,38,1,0,0,115,56,0,0,0,12,2,10,
1,2,4,12,1,12,1,2,1,2,1,10,1,12,1,4,
1,8,2,8,1,2,4,10,1,12,1,6,1,2,1,10,
1,12,1,8,1,14,1,16,2,12,2,2,250,2,252,2,
246,2,252,255,128,114,124,0,0,0,99,0,0,0,0,0,
114,11,0,0,0,114,114,0,0,0,218,9,69,120,99,101,
112,116,105,111,110,114,9,0,0,0,114,2,0,0,0,218,
8,95,95,102,105,108,101,95,95,114,50,0,0,0,41,5,
114,110,0,0,0,218,6,108,111,97,100,101,114,114,109,0,
0,0,114,20,0,0,0,218,8,102,105,108,101,110,97,109,
101,114,5,0,0,0,114,5,0,0,0,114,6,0,0,0,
218,12,95,109,111,100,117,108,101,95,114,101,112,114,38,1,
0,0,115,46,0,0,0,12,2,16,1,8,1,10,1,2,
1,12,1,12,1,2,1,2,4,10,1,12,1,6,1,2,
1,10,1,12,1,8,1,14,1,16,2,12,2,2,250,2,
252,2,249,255,128,114,124,0,0,0,99,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,64,
0,0,0,115,114,0,0,0,101,0,90,1,100,0,90,2,
100,1,90,3,100,2,100,2,100,2,100,3,156,3,100,4,
@ -671,7 +672,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
99,104,101,100,41,6,114,33,0,0,0,114,20,0,0,0,
114,122,0,0,0,114,126,0,0,0,114,127,0,0,0,114,
128,0,0,0,114,5,0,0,0,114,5,0,0,0,114,6,
0,0,0,114,34,0,0,0,111,1,0,0,115,16,0,0,
0,0,0,114,34,0,0,0,103,1,0,0,115,16,0,0,
0,6,2,6,1,6,1,6,1,14,1,6,3,10,1,255,
128,122,19,77,111,100,117,108,101,83,112,101,99,46,95,95,
105,110,105,116,95,95,99,1,0,0,0,0,0,0,0,0,
@ -693,7 +694,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
218,9,95,95,99,108,97,115,115,95,95,114,9,0,0,0,
218,4,106,111,105,110,41,2,114,33,0,0,0,114,62,0,
0,0,114,5,0,0,0,114,5,0,0,0,114,6,0,0,
0,114,53,0,0,0,123,1,0,0,115,22,0,0,0,10,
0,114,53,0,0,0,115,1,0,0,115,22,0,0,0,10,
1,10,1,4,255,10,2,18,1,10,1,6,1,8,1,4,
255,22,2,255,128,122,19,77,111,100,117,108,101,83,112,101,
99,46,95,95,114,101,112,114,95,95,99,2,0,0,0,0,
@ -711,7 +712,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
2,0,0,0,218,14,78,111,116,73,109,112,108,101,109,101,
110,116,101,100,41,3,114,33,0,0,0,90,5,111,116,104,
101,114,90,4,115,109,115,108,114,5,0,0,0,114,5,0,
0,0,114,6,0,0,0,218,6,95,95,101,113,95,95,133,
0,0,114,6,0,0,0,218,6,95,95,101,113,95,95,125,
1,0,0,115,34,0,0,0,6,1,2,1,12,1,10,1,
2,255,10,2,2,254,8,3,2,253,10,4,2,252,10,5,
4,251,12,6,8,1,2,255,255,128,122,17,77,111,100,117,
@ -727,7 +728,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
218,19,78,111,116,73,109,112,108,101,109,101,110,116,101,100,
69,114,114,111,114,90,11,95,103,101,116,95,99,97,99,104,
101,100,114,52,0,0,0,114,5,0,0,0,114,5,0,0,
0,114,6,0,0,0,114,135,0,0,0,145,1,0,0,115,
0,114,6,0,0,0,114,135,0,0,0,137,1,0,0,115,
14,0,0,0,10,2,16,1,8,1,4,1,14,1,6,1,
255,128,122,17,77,111,100,117,108,101,83,112,101,99,46,99,
97,99,104,101,100,99,2,0,0,0,0,0,0,0,0,0,
@ -735,7 +736,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,0,0,124,1,124,0,95,0,100,0,83,0,114,0,0,
0,0,41,1,114,131,0,0,0,41,2,114,33,0,0,0,
114,135,0,0,0,114,5,0,0,0,114,5,0,0,0,114,
6,0,0,0,114,135,0,0,0,154,1,0,0,115,4,0,
6,0,0,0,114,135,0,0,0,146,1,0,0,115,4,0,
0,0,10,2,255,128,99,1,0,0,0,0,0,0,0,0,
0,0,0,1,0,0,0,3,0,0,0,67,0,0,0,115,
32,0,0,0,124,0,106,0,100,1,117,0,114,26,124,0,
@ -746,14 +747,14 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,41,3,114,129,0,0,0,114,20,0,0,0,218,10,114,
112,97,114,116,105,116,105,111,110,114,52,0,0,0,114,5,
0,0,0,114,5,0,0,0,114,6,0,0,0,218,6,112,
97,114,101,110,116,158,1,0,0,115,8,0,0,0,10,3,
97,114,101,110,116,150,1,0,0,115,8,0,0,0,10,3,
16,1,6,2,255,128,122,17,77,111,100,117,108,101,83,112,
101,99,46,112,97,114,101,110,116,99,1,0,0,0,0,0,
0,0,0,0,0,0,1,0,0,0,1,0,0,0,67,0,
0,0,115,6,0,0,0,124,0,106,0,83,0,114,0,0,
0,0,41,1,114,130,0,0,0,114,52,0,0,0,114,5,
0,0,0,114,5,0,0,0,114,6,0,0,0,114,136,0,
0,0,166,1,0,0,115,4,0,0,0,6,2,255,128,122,
0,0,158,1,0,0,115,4,0,0,0,6,2,255,128,122,
23,77,111,100,117,108,101,83,112,101,99,46,104,97,115,95,
108,111,99,97,116,105,111,110,99,2,0,0,0,0,0,0,
0,0,0,0,0,2,0,0,0,2,0,0,0,67,0,0,
@ -761,14 +762,14 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
100,0,83,0,114,0,0,0,0,41,2,218,4,98,111,111,
108,114,130,0,0,0,41,2,114,33,0,0,0,218,5,118,
97,108,117,101,114,5,0,0,0,114,5,0,0,0,114,6,
0,0,0,114,136,0,0,0,170,1,0,0,115,4,0,0,
0,0,0,114,136,0,0,0,162,1,0,0,115,4,0,0,
0,14,2,255,128,41,12,114,9,0,0,0,114,8,0,0,
0,114,1,0,0,0,114,10,0,0,0,114,34,0,0,0,
114,53,0,0,0,114,138,0,0,0,218,8,112,114,111,112,
101,114,116,121,114,135,0,0,0,218,6,115,101,116,116,101,
114,114,143,0,0,0,114,136,0,0,0,114,5,0,0,0,
114,5,0,0,0,114,5,0,0,0,114,6,0,0,0,114,
125,0,0,0,74,1,0,0,115,36,0,0,0,8,0,4,
125,0,0,0,66,1,0,0,115,36,0,0,0,8,0,4,
1,4,36,2,1,12,255,8,12,8,10,2,12,10,1,4,
8,10,1,2,3,10,1,2,7,10,1,4,3,14,1,255,
128,114,125,0,0,0,169,2,114,126,0,0,0,114,128,0,
@ -796,7 +797,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
114,125,0,0,0,41,6,114,20,0,0,0,114,122,0,0,
0,114,126,0,0,0,114,128,0,0,0,114,149,0,0,0,
90,6,115,101,97,114,99,104,114,5,0,0,0,114,5,0,
0,0,114,6,0,0,0,114,104,0,0,0,175,1,0,0,
0,0,114,6,0,0,0,114,104,0,0,0,167,1,0,0,
115,40,0,0,0,10,2,8,1,4,1,6,1,8,2,12,
1,12,1,6,1,2,1,6,255,8,3,10,1,2,1,14,
1,12,1,8,1,4,3,16,2,2,250,255,128,114,104,0,
@ -821,7 +822,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
117,0,144,1,114,10,100,2,110,2,100,3,124,3,95,10,
124,6,124,3,95,11,124,7,124,3,95,12,124,3,83,0,
119,0,119,0,119,0,119,0,119,0,119,0,41,4,78,169,
1,114,126,0,0,0,70,84,41,13,114,119,0,0,0,114,
1,114,126,0,0,0,70,84,41,13,114,113,0,0,0,114,
2,0,0,0,114,9,0,0,0,114,112,0,0,0,114,121,
0,0,0,218,7,95,79,82,73,71,73,78,218,10,95,95,
99,97,99,104,101,100,95,95,218,4,108,105,115,116,218,8,
@ -831,7 +832,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,0,114,20,0,0,0,90,8,108,111,99,97,116,105,111,
110,114,135,0,0,0,114,129,0,0,0,114,5,0,0,0,
114,5,0,0,0,114,6,0,0,0,218,17,95,115,112,101,
99,95,102,114,111,109,95,109,111,100,117,108,101,201,1,0,
99,95,102,114,111,109,95,109,111,100,117,108,101,193,1,0,
0,115,86,0,0,0,2,2,10,1,14,1,4,1,8,2,
4,1,6,2,8,1,2,1,10,1,14,1,2,2,2,1,
10,1,14,1,6,1,8,1,8,1,2,1,10,1,14,1,
@ -878,13 +879,13 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,218,16,95,78,97,109,101,115,112,97,99,101,76,111,97,
100,101,114,218,7,95,95,110,101,119,95,95,90,5,95,112,
97,116,104,114,121,0,0,0,114,112,0,0,0,114,143,0,
0,0,114,158,0,0,0,114,119,0,0,0,114,154,0,0,
0,0,114,158,0,0,0,114,113,0,0,0,114,154,0,0,
0,114,136,0,0,0,114,126,0,0,0,114,135,0,0,0,
114,152,0,0,0,41,5,114,109,0,0,0,114,110,0,0,
0,114,157,0,0,0,114,122,0,0,0,114,159,0,0,0,
114,5,0,0,0,114,5,0,0,0,114,6,0,0,0,218,
18,95,105,110,105,116,95,109,111,100,117,108,101,95,97,116,
116,114,115,246,1,0,0,115,114,0,0,0,20,4,2,1,
116,114,115,238,1,0,0,115,114,0,0,0,20,4,2,1,
12,1,14,1,2,1,20,2,6,1,8,1,10,2,8,1,
4,1,6,1,10,2,8,1,6,1,6,11,2,1,10,1,
14,1,2,1,20,2,2,1,12,1,14,1,2,1,2,2,
@ -913,7 +914,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,0,0,114,161,0,0,0,169,2,114,109,0,0,0,114,
110,0,0,0,114,5,0,0,0,114,5,0,0,0,114,6,
0,0,0,218,16,109,111,100,117,108,101,95,102,114,111,109,
95,115,112,101,99,62,2,0,0,115,20,0,0,0,4,3,
95,115,112,101,99,54,2,0,0,115,20,0,0,0,4,3,
12,1,14,3,12,1,8,1,8,2,10,1,10,1,4,1,
255,128,114,165,0,0,0,99,1,0,0,0,0,0,0,0,
0,0,0,0,2,0,0,0,4,0,0,0,67,0,0,0,
@ -926,15 +927,15 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,124,0,106,1,161,2,83,0,41,7,122,38,82,101,116,
117,114,110,32,116,104,101,32,114,101,112,114,32,116,111,32,
117,115,101,32,102,111,114,32,116,104,101,32,109,111,100,117,
108,101,46,78,114,114,0,0,0,114,115,0,0,0,114,116,
0,0,0,114,117,0,0,0,250,18,60,109,111,100,117,108,
108,101,46,78,114,115,0,0,0,114,116,0,0,0,114,117,
0,0,0,114,118,0,0,0,250,18,60,109,111,100,117,108,
101,32,123,33,114,125,32,40,123,125,41,62,41,5,114,20,
0,0,0,114,126,0,0,0,114,122,0,0,0,114,50,0,
0,0,114,136,0,0,0,41,2,114,109,0,0,0,114,20,
0,0,0,114,5,0,0,0,114,5,0,0,0,114,6,0,
0,0,114,120,0,0,0,79,2,0,0,115,18,0,0,0,
0,0,114,119,0,0,0,71,2,0,0,115,18,0,0,0,
20,3,10,1,10,1,10,1,14,2,6,2,14,1,16,2,
255,128,114,120,0,0,0,99,2,0,0,0,0,0,0,0,
255,128,114,119,0,0,0,99,2,0,0,0,0,0,0,0,
0,0,0,0,4,0,0,0,10,0,0,0,67,0,0,0,
115,26,1,0,0,124,0,106,0,125,2,116,1,124,2,131,
1,143,246,1,0,116,2,106,3,160,4,124,2,161,1,124,
@ -975,7 +976,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
95,109,111,100,117,108,101,114,163,0,0,0,218,3,112,111,
112,41,4,114,109,0,0,0,114,110,0,0,0,114,20,0,
0,0,114,108,0,0,0,114,5,0,0,0,114,5,0,0,
0,114,6,0,0,0,114,106,0,0,0,96,2,0,0,115,
0,114,6,0,0,0,114,106,0,0,0,88,2,0,0,115,
50,0,0,0,6,2,10,1,16,1,10,1,12,1,2,1,
10,1,10,1,14,1,16,2,14,2,12,1,16,1,12,2,
14,1,12,2,2,128,14,4,14,1,14,255,26,1,4,1,
@ -1000,15 +1001,15 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
8,144,1,121,12,1,0,1,0,1,0,89,0,124,1,83,
0,124,1,83,0,119,0,119,0,119,0,41,7,78,114,112,
0,0,0,114,158,0,0,0,114,154,0,0,0,114,141,0,
0,0,114,25,0,0,0,114,119,0,0,0,41,14,114,122,
0,0,114,25,0,0,0,114,113,0,0,0,41,14,114,122,
0,0,0,114,170,0,0,0,114,20,0,0,0,114,18,0,
0,0,114,105,0,0,0,114,171,0,0,0,114,13,0,0,
0,114,112,0,0,0,114,2,0,0,0,114,9,0,0,0,
114,158,0,0,0,114,11,0,0,0,114,142,0,0,0,114,
119,0,0,0,114,164,0,0,0,114,5,0,0,0,114,5,
113,0,0,0,114,164,0,0,0,114,5,0,0,0,114,5,
0,0,0,114,6,0,0,0,218,25,95,108,111,97,100,95,
98,97,99,107,119,97,114,100,95,99,111,109,112,97,116,105,
98,108,101,126,2,0,0,115,66,0,0,0,2,3,18,1,
98,108,101,118,2,0,0,115,66,0,0,0,2,3,18,1,
6,1,12,1,14,1,12,1,2,1,14,3,12,1,16,1,
2,1,12,1,14,1,2,1,16,1,2,1,8,4,10,1,
18,1,4,128,14,1,2,1,18,1,2,1,8,1,4,3,
@ -1042,7 +1043,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,114,83,0,0,0,41,3,114,109,0,0,0,114,108,0,
0,0,114,110,0,0,0,114,5,0,0,0,114,5,0,0,
0,114,6,0,0,0,218,14,95,108,111,97,100,95,117,110,
108,111,99,107,101,100,162,2,0,0,115,62,0,0,0,10,
108,111,99,107,101,100,154,2,0,0,115,62,0,0,0,10,
2,12,2,16,1,12,2,8,1,8,2,6,5,2,1,12,
1,2,1,10,1,10,1,14,1,2,255,12,4,4,128,6,
1,2,1,12,1,2,3,12,254,2,1,2,1,14,5,12,
@ -1067,7 +1068,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
101,100,46,10,10,32,32,32,32,78,41,3,114,57,0,0,
0,114,20,0,0,0,114,173,0,0,0,169,1,114,109,0,
0,0,114,5,0,0,0,114,5,0,0,0,114,6,0,0,
0,114,107,0,0,0,207,2,0,0,115,8,0,0,0,12,
0,114,107,0,0,0,199,2,0,0,115,8,0,0,0,12,
9,22,1,20,128,255,128,114,107,0,0,0,99,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,
0,64,0,0,0,115,140,0,0,0,101,0,90,1,100,0,
@ -1104,7 +1105,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
122,8,60,109,111,100,117,108,101,32,122,2,32,40,122,2,
41,62,78,41,3,114,9,0,0,0,114,175,0,0,0,114,
151,0,0,0,169,1,114,110,0,0,0,114,5,0,0,0,
114,5,0,0,0,114,6,0,0,0,114,113,0,0,0,233,
114,5,0,0,0,114,6,0,0,0,114,114,0,0,0,225,
2,0,0,115,4,0,0,0,22,7,255,128,122,27,66,117,
105,108,116,105,110,73,109,112,111,114,116,101,114,46,109,111,
100,117,108,101,95,114,101,112,114,78,99,4,0,0,0,0,
@ -1117,7 +1118,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,0,114,151,0,0,0,169,4,218,3,99,108,115,114,89,
0,0,0,218,4,112,97,116,104,218,6,116,97,114,103,101,
116,114,5,0,0,0,114,5,0,0,0,114,6,0,0,0,
218,9,102,105,110,100,95,115,112,101,99,242,2,0,0,115,
218,9,102,105,110,100,95,115,112,101,99,234,2,0,0,115,
12,0,0,0,8,2,4,1,10,1,16,1,4,2,255,128,
122,25,66,117,105,108,116,105,110,73,109,112,111,114,116,101,
114,46,102,105,110,100,95,115,112,101,99,99,3,0,0,0,
@ -1139,7 +1140,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,0,114,122,0,0,0,41,4,114,180,0,0,0,114,89,
0,0,0,114,181,0,0,0,114,109,0,0,0,114,5,0,
0,0,114,5,0,0,0,114,6,0,0,0,218,11,102,105,
110,100,95,109,111,100,117,108,101,251,2,0,0,115,6,0,
110,100,95,109,111,100,117,108,101,243,2,0,0,115,6,0,
0,0,12,9,18,1,255,128,122,27,66,117,105,108,116,105,
110,73,109,112,111,114,116,101,114,46,102,105,110,100,95,109,
111,100,117,108,101,99,1,0,0,0,0,0,0,0,0,0,
@ -1154,7 +1155,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,0,0,114,74,0,0,0,114,64,0,0,0,90,14,99,
114,101,97,116,101,95,98,117,105,108,116,105,110,114,174,0,
0,0,114,5,0,0,0,114,5,0,0,0,114,6,0,0,
0,114,162,0,0,0,7,3,0,0,115,12,0,0,0,12,
0,114,162,0,0,0,255,2,0,0,115,12,0,0,0,12,
3,12,1,4,1,6,255,12,2,255,128,122,29,66,117,105,
108,116,105,110,73,109,112,111,114,116,101,114,46,99,114,101,
97,116,101,95,109,111,100,117,108,101,99,1,0,0,0,0,
@ -1165,7 +1166,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
108,101,78,41,3,114,74,0,0,0,114,64,0,0,0,90,
12,101,120,101,99,95,98,117,105,108,116,105,110,114,177,0,
0,0,114,5,0,0,0,114,5,0,0,0,114,6,0,0,
0,114,163,0,0,0,15,3,0,0,115,4,0,0,0,16,
0,114,163,0,0,0,7,3,0,0,115,4,0,0,0,16,
3,255,128,122,27,66,117,105,108,116,105,110,73,109,112,111,
114,116,101,114,46,101,120,101,99,95,109,111,100,117,108,101,
99,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,
@ -1176,7 +1177,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
101,32,99,111,100,101,32,111,98,106,101,99,116,115,46,78,
114,5,0,0,0,169,2,114,180,0,0,0,114,89,0,0,
0,114,5,0,0,0,114,5,0,0,0,114,6,0,0,0,
218,8,103,101,116,95,99,111,100,101,20,3,0,0,243,4,
218,8,103,101,116,95,99,111,100,101,12,3,0,0,243,4,
0,0,0,4,4,255,128,122,24,66,117,105,108,116,105,110,
73,109,112,111,114,116,101,114,46,103,101,116,95,99,111,100,
101,99,2,0,0,0,0,0,0,0,0,0,0,0,2,0,
@ -1187,7 +1188,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
111,117,114,99,101,32,99,111,100,101,46,78,114,5,0,0,
0,114,186,0,0,0,114,5,0,0,0,114,5,0,0,0,
114,6,0,0,0,218,10,103,101,116,95,115,111,117,114,99,
101,26,3,0,0,114,188,0,0,0,122,26,66,117,105,108,
101,18,3,0,0,114,188,0,0,0,122,26,66,117,105,108,
116,105,110,73,109,112,111,114,116,101,114,46,103,101,116,95,
115,111,117,114,99,101,99,2,0,0,0,0,0,0,0,0,
0,0,0,2,0,0,0,1,0,0,0,67,0,0,0,114,
@ -1196,18 +1197,18 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
32,109,111,100,117,108,101,115,32,97,114,101,32,110,101,118,
101,114,32,112,97,99,107,97,103,101,115,46,70,78,114,5,
0,0,0,114,186,0,0,0,114,5,0,0,0,114,5,0,
0,0,114,6,0,0,0,114,128,0,0,0,32,3,0,0,
0,0,114,6,0,0,0,114,128,0,0,0,24,3,0,0,
114,188,0,0,0,122,26,66,117,105,108,116,105,110,73,109,
112,111,114,116,101,114,46,105,115,95,112,97,99,107,97,103,
101,41,2,78,78,41,1,78,41,18,114,9,0,0,0,114,
8,0,0,0,114,1,0,0,0,114,10,0,0,0,114,151,
0,0,0,218,12,115,116,97,116,105,99,109,101,116,104,111,
100,114,113,0,0,0,218,11,99,108,97,115,115,109,101,116,
100,114,114,0,0,0,218,11,99,108,97,115,115,109,101,116,
104,111,100,114,183,0,0,0,114,184,0,0,0,114,162,0,
0,0,114,163,0,0,0,114,95,0,0,0,114,187,0,0,
0,114,189,0,0,0,114,128,0,0,0,114,111,0,0,0,
114,170,0,0,0,114,5,0,0,0,114,5,0,0,0,114,
5,0,0,0,114,6,0,0,0,114,175,0,0,0,222,2,
5,0,0,0,114,6,0,0,0,114,175,0,0,0,214,2,
0,0,115,48,0,0,0,8,0,4,2,4,7,2,2,10,
1,2,8,12,1,2,8,12,1,2,11,10,1,2,7,10,
1,2,4,2,1,12,1,2,4,2,1,12,1,2,4,2,
@ -1239,7 +1240,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
83,0,41,3,114,176,0,0,0,114,166,0,0,0,78,41,
4,114,50,0,0,0,114,9,0,0,0,114,192,0,0,0,
114,151,0,0,0,41,1,218,1,109,114,5,0,0,0,114,
5,0,0,0,114,6,0,0,0,114,113,0,0,0,52,3,
5,0,0,0,114,6,0,0,0,114,114,0,0,0,44,3,
0,0,115,4,0,0,0,16,7,255,128,122,26,70,114,111,
122,101,110,73,109,112,111,114,116,101,114,46,109,111,100,117,
108,101,95,114,101,112,114,78,99,4,0,0,0,0,0,0,
@ -1249,7 +1250,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
100,0,83,0,114,178,0,0,0,41,4,114,64,0,0,0,
114,98,0,0,0,114,104,0,0,0,114,151,0,0,0,114,
179,0,0,0,114,5,0,0,0,114,5,0,0,0,114,6,
0,0,0,114,183,0,0,0,61,3,0,0,115,8,0,0,
0,0,0,114,183,0,0,0,53,3,0,0,115,8,0,0,
0,10,2,16,1,4,2,255,128,122,24,70,114,111,122,101,
110,73,109,112,111,114,116,101,114,46,102,105,110,100,95,115,
112,101,99,99,3,0,0,0,0,0,0,0,0,0,0,0,
@ -1264,7 +1265,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
32,32,32,32,78,41,2,114,64,0,0,0,114,98,0,0,
0,41,3,114,180,0,0,0,114,89,0,0,0,114,181,0,
0,0,114,5,0,0,0,114,5,0,0,0,114,6,0,0,
0,114,184,0,0,0,68,3,0,0,115,4,0,0,0,18,
0,114,184,0,0,0,60,3,0,0,115,4,0,0,0,18,
7,255,128,122,26,70,114,111,122,101,110,73,109,112,111,114,
116,101,114,46,102,105,110,100,95,109,111,100,117,108,101,99,
1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,
@ -1273,7 +1274,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
97,110,116,105,99,115,32,102,111,114,32,109,111,100,117,108,
101,32,99,114,101,97,116,105,111,110,46,78,114,5,0,0,
0,114,174,0,0,0,114,5,0,0,0,114,5,0,0,0,
114,6,0,0,0,114,162,0,0,0,77,3,0,0,115,4,
114,6,0,0,0,114,162,0,0,0,69,3,0,0,115,4,
0,0,0,4,0,255,128,122,28,70,114,111,122,101,110,73,
109,112,111,114,116,101,114,46,99,114,101,97,116,101,95,109,
111,100,117,108,101,99,1,0,0,0,0,0,0,0,0,0,
@ -1282,14 +1283,14 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
1,161,1,115,36,116,4,100,1,160,5,124,1,161,1,124,
1,100,2,141,2,130,1,116,6,116,2,106,7,124,1,131,
2,125,2,116,8,124,2,124,0,106,9,131,2,1,0,100,
0,83,0,114,97,0,0,0,41,10,114,119,0,0,0,114,
0,83,0,114,97,0,0,0,41,10,114,113,0,0,0,114,
20,0,0,0,114,64,0,0,0,114,98,0,0,0,114,87,
0,0,0,114,50,0,0,0,114,74,0,0,0,218,17,103,
101,116,95,102,114,111,122,101,110,95,111,98,106,101,99,116,
218,4,101,120,101,99,114,14,0,0,0,41,3,114,110,0,
0,0,114,20,0,0,0,218,4,99,111,100,101,114,5,0,
0,0,114,5,0,0,0,114,6,0,0,0,114,163,0,0,
0,81,3,0,0,115,16,0,0,0,8,2,10,1,10,1,
0,73,3,0,0,115,16,0,0,0,8,2,10,1,10,1,
2,1,6,255,12,2,16,1,255,128,122,26,70,114,111,122,
101,110,73,109,112,111,114,116,101,114,46,101,120,101,99,95,
109,111,100,117,108,101,99,2,0,0,0,0,0,0,0,0,
@ -1303,7 +1304,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
110,115,116,101,97,100,46,10,10,32,32,32,32,32,32,32,
32,78,41,1,114,111,0,0,0,114,186,0,0,0,114,5,
0,0,0,114,5,0,0,0,114,6,0,0,0,114,170,0,
0,0,90,3,0,0,115,4,0,0,0,10,8,255,128,122,
0,0,82,3,0,0,115,4,0,0,0,10,8,255,128,122,
26,70,114,111,122,101,110,73,109,112,111,114,116,101,114,46,
108,111,97,100,95,109,111,100,117,108,101,99,2,0,0,0,
0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,
@ -1313,7 +1314,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
114,32,116,104,101,32,102,114,111,122,101,110,32,109,111,100,
117,108,101,46,78,41,2,114,64,0,0,0,114,194,0,0,
0,114,186,0,0,0,114,5,0,0,0,114,5,0,0,0,
114,6,0,0,0,114,187,0,0,0,100,3,0,0,243,4,
114,6,0,0,0,114,187,0,0,0,92,3,0,0,243,4,
0,0,0,10,4,255,128,122,23,70,114,111,122,101,110,73,
109,112,111,114,116,101,114,46,103,101,116,95,99,111,100,101,
99,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,
@ -1323,7 +1324,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
100,111,32,110,111,116,32,104,97,118,101,32,115,111,117,114,
99,101,32,99,111,100,101,46,78,114,5,0,0,0,114,186,
0,0,0,114,5,0,0,0,114,5,0,0,0,114,6,0,
0,0,114,189,0,0,0,106,3,0,0,114,188,0,0,0,
0,0,114,189,0,0,0,98,3,0,0,114,188,0,0,0,
122,25,70,114,111,122,101,110,73,109,112,111,114,116,101,114,
46,103,101,116,95,115,111,117,114,99,101,99,2,0,0,0,
0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,
@ -1333,17 +1334,17 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
32,97,32,112,97,99,107,97,103,101,46,78,41,2,114,64,
0,0,0,90,17,105,115,95,102,114,111,122,101,110,95,112,
97,99,107,97,103,101,114,186,0,0,0,114,5,0,0,0,
114,5,0,0,0,114,6,0,0,0,114,128,0,0,0,112,
114,5,0,0,0,114,6,0,0,0,114,128,0,0,0,104,
3,0,0,114,198,0,0,0,122,25,70,114,111,122,101,110,
73,109,112,111,114,116,101,114,46,105,115,95,112,97,99,107,
97,103,101,41,2,78,78,41,1,78,41,17,114,9,0,0,
0,114,8,0,0,0,114,1,0,0,0,114,10,0,0,0,
114,151,0,0,0,114,190,0,0,0,114,113,0,0,0,114,
114,151,0,0,0,114,190,0,0,0,114,114,0,0,0,114,
191,0,0,0,114,183,0,0,0,114,184,0,0,0,114,162,
0,0,0,114,163,0,0,0,114,170,0,0,0,114,100,0,
0,0,114,187,0,0,0,114,189,0,0,0,114,128,0,0,
0,114,5,0,0,0,114,5,0,0,0,114,5,0,0,0,
114,6,0,0,0,114,192,0,0,0,41,3,0,0,115,50,
114,6,0,0,0,114,192,0,0,0,33,3,0,0,115,50,
0,0,0,8,0,4,2,4,7,2,2,10,1,2,8,12,
1,2,6,12,1,2,8,10,1,2,3,10,1,2,8,10,
1,2,9,2,1,12,1,2,4,2,1,12,1,2,4,2,
@ -1362,7 +1363,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
112,111,114,116,32,108,111,99,107,46,78,41,2,114,64,0,
0,0,114,65,0,0,0,114,52,0,0,0,114,5,0,0,
0,114,5,0,0,0,114,6,0,0,0,114,61,0,0,0,
125,3,0,0,243,4,0,0,0,12,2,255,128,122,28,95,
117,3,0,0,243,4,0,0,0,12,2,255,128,122,28,95,
73,109,112,111,114,116,76,111,99,107,67,111,110,116,101,120,
116,46,95,95,101,110,116,101,114,95,95,99,4,0,0,0,
0,0,0,0,0,0,0,0,4,0,0,0,2,0,0,0,
@ -1375,13 +1376,13 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
120,99,95,116,121,112,101,218,9,101,120,99,95,118,97,108,
117,101,218,13,101,120,99,95,116,114,97,99,101,98,97,99,
107,114,5,0,0,0,114,5,0,0,0,114,6,0,0,0,
114,63,0,0,0,129,3,0,0,114,201,0,0,0,122,27,
114,63,0,0,0,121,3,0,0,114,201,0,0,0,122,27,
95,73,109,112,111,114,116,76,111,99,107,67,111,110,116,101,
120,116,46,95,95,101,120,105,116,95,95,78,41,6,114,9,
0,0,0,114,8,0,0,0,114,1,0,0,0,114,10,0,
0,0,114,61,0,0,0,114,63,0,0,0,114,5,0,0,
0,114,5,0,0,0,114,5,0,0,0,114,6,0,0,0,
114,199,0,0,0,121,3,0,0,115,10,0,0,0,8,0,
114,199,0,0,0,113,3,0,0,115,10,0,0,0,8,0,
4,2,8,2,12,4,255,128,114,199,0,0,0,99,3,0,
0,0,0,0,0,0,0,0,0,0,5,0,0,0,5,0,
0,0,67,0,0,0,115,64,0,0,0,124,1,160,0,100,
@ -1402,7 +1403,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
99,107,97,103,101,218,5,108,101,118,101,108,90,4,98,105,
116,115,90,4,98,97,115,101,114,5,0,0,0,114,5,0,
0,0,114,6,0,0,0,218,13,95,114,101,115,111,108,118,
101,95,110,97,109,101,134,3,0,0,115,12,0,0,0,16,
101,95,110,97,109,101,126,3,0,0,115,12,0,0,0,16,
2,12,1,8,1,8,1,20,1,255,128,114,210,0,0,0,
99,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,
0,4,0,0,0,67,0,0,0,115,34,0,0,0,124,0,
@ -1412,7 +1413,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,41,4,218,6,102,105,110,100,101,114,114,20,0,0,0,
114,181,0,0,0,114,122,0,0,0,114,5,0,0,0,114,
5,0,0,0,114,6,0,0,0,218,17,95,102,105,110,100,
95,115,112,101,99,95,108,101,103,97,99,121,143,3,0,0,
95,115,112,101,99,95,108,101,103,97,99,121,135,3,0,0,
115,10,0,0,0,12,3,8,1,4,1,10,1,255,128,114,
212,0,0,0,99,3,0,0,0,0,0,0,0,0,0,0,
0,10,0,0,0,10,0,0,0,67,0,0,0,115,36,1,
@ -1444,13 +1445,13 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
12,114,18,0,0,0,218,9,109,101,116,97,95,112,97,116,
104,114,87,0,0,0,114,101,0,0,0,114,102,0,0,0,
114,169,0,0,0,114,105,0,0,0,114,199,0,0,0,114,
183,0,0,0,114,2,0,0,0,114,212,0,0,0,114,119,
183,0,0,0,114,2,0,0,0,114,212,0,0,0,114,113,
0,0,0,41,10,114,20,0,0,0,114,181,0,0,0,114,
182,0,0,0,114,213,0,0,0,90,9,105,115,95,114,101,
108,111,97,100,114,211,0,0,0,114,183,0,0,0,114,109,
0,0,0,114,110,0,0,0,114,119,0,0,0,114,5,0,
0,0,0,114,110,0,0,0,114,113,0,0,0,114,5,0,
0,0,114,5,0,0,0,114,6,0,0,0,218,10,95,102,
105,110,100,95,115,112,101,99,152,3,0,0,115,66,0,0,
105,110,100,95,115,112,101,99,144,3,0,0,115,66,0,0,
0,6,2,8,1,8,2,4,3,12,1,10,5,8,1,8,
1,2,1,10,1,14,1,12,1,8,1,16,1,4,255,12,
3,30,128,10,1,18,2,10,1,2,1,10,1,14,1,12,
@ -1483,7 +1484,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
87,0,0,0,169,3,114,20,0,0,0,114,208,0,0,0,
114,209,0,0,0,114,5,0,0,0,114,5,0,0,0,114,
6,0,0,0,218,13,95,115,97,110,105,116,121,95,99,104,
101,99,107,199,3,0,0,115,26,0,0,0,10,2,18,1,
101,99,107,191,3,0,0,115,26,0,0,0,10,2,18,1,
8,1,8,1,8,1,10,1,8,1,4,1,8,1,12,2,
8,1,8,255,255,128,114,220,0,0,0,122,16,78,111,32,
109,111,100,117,108,101,32,110,97,109,101,100,32,122,4,123,
@ -1525,7 +1526,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,0,90,5,99,104,105,108,100,114,5,0,0,0,114,5,
0,0,0,114,6,0,0,0,218,23,95,102,105,110,100,95,
97,110,100,95,108,111,97,100,95,117,110,108,111,99,107,101,
100,218,3,0,0,115,60,0,0,0,4,1,14,1,4,1,
100,210,3,0,0,115,60,0,0,0,4,1,14,1,4,1,
10,1,10,1,10,2,10,1,10,1,2,1,10,1,14,1,
16,1,14,1,10,1,8,1,18,1,8,2,6,1,10,2,
14,1,2,1,14,1,4,4,14,253,16,1,14,1,8,1,
@ -1551,7 +1552,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
41,4,114,20,0,0,0,114,224,0,0,0,114,110,0,0,
0,114,82,0,0,0,114,5,0,0,0,114,5,0,0,0,
114,6,0,0,0,218,14,95,102,105,110,100,95,97,110,100,
95,108,111,97,100,253,3,0,0,115,28,0,0,0,10,2,
95,108,111,97,100,245,3,0,0,115,28,0,0,0,10,2,
14,1,8,1,24,1,14,255,16,128,8,3,2,1,6,1,
2,255,12,2,8,2,4,1,255,128,114,227,0,0,0,114,
25,0,0,0,99,3,0,0,0,0,0,0,0,0,0,0,
@ -1582,7 +1583,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,0,114,210,0,0,0,114,227,0,0,0,218,11,95,103,
99,100,95,105,109,112,111,114,116,114,219,0,0,0,114,5,
0,0,0,114,5,0,0,0,114,6,0,0,0,114,228,0,
0,0,13,4,0,0,115,10,0,0,0,12,9,8,1,12,
0,0,5,4,0,0,115,10,0,0,0,12,9,8,1,12,
1,10,1,255,128,114,228,0,0,0,169,1,218,9,114,101,
99,117,114,115,105,118,101,99,3,0,0,0,0,0,0,0,
1,0,0,0,8,0,0,0,11,0,0,0,67,0,0,0,
@ -1630,7 +1631,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
114,224,0,0,0,114,230,0,0,0,218,1,120,90,5,119,
104,101,114,101,90,9,102,114,111,109,95,110,97,109,101,90,
3,101,120,99,114,5,0,0,0,114,5,0,0,0,114,6,
0,0,0,114,233,0,0,0,28,4,0,0,115,58,0,0,
0,0,0,114,233,0,0,0,20,4,0,0,115,58,0,0,
0,8,10,10,1,4,1,12,1,4,2,10,1,8,1,8,
255,8,2,14,1,10,1,2,1,6,255,2,128,10,2,14,
1,2,1,14,1,14,1,10,4,16,1,2,255,12,2,2,
@ -1657,7 +1658,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
101,110,116,32,116,104,97,116,32,105,116,115,32,112,114,111,
112,101,114,32,118,97,108,117,101,32,105,115,32,117,110,107,
110,111,119,110,46,10,10,32,32,32,32,114,158,0,0,0,
114,119,0,0,0,78,122,32,95,95,112,97,99,107,97,103,
114,113,0,0,0,78,122,32,95,95,112,97,99,107,97,103,
101,95,95,32,33,61,32,95,95,115,112,101,99,95,95,46,
112,97,114,101,110,116,32,40,122,4,32,33,61,32,250,1,
41,233,3,0,0,0,41,1,90,10,115,116,97,99,107,108,
@ -1673,7 +1674,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,0,0,41,3,218,7,103,108,111,98,97,108,115,114,208,
0,0,0,114,109,0,0,0,114,5,0,0,0,114,5,0,
0,0,114,6,0,0,0,218,17,95,99,97,108,99,95,95,
95,112,97,99,107,97,103,101,95,95,65,4,0,0,115,44,
95,112,97,99,107,97,103,101,95,95,57,4,0,0,115,44,
0,0,0,10,7,10,1,8,1,18,1,6,1,2,1,4,
255,4,1,6,255,4,2,6,254,4,3,8,1,6,1,6,
2,4,2,6,254,8,3,8,1,14,1,4,1,255,128,114,
@ -1729,7 +1730,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,114,209,0,0,0,114,110,0,0,0,90,8,103,108,111,
98,97,108,115,95,114,208,0,0,0,90,7,99,117,116,95,
111,102,102,114,5,0,0,0,114,5,0,0,0,114,6,0,
0,0,218,10,95,95,105,109,112,111,114,116,95,95,92,4,
0,0,218,10,95,95,105,109,112,111,114,116,95,95,84,4,
0,0,115,32,0,0,0,8,11,10,1,16,2,8,1,12,
1,4,1,8,3,18,1,4,1,4,1,26,4,30,3,10,
1,12,1,4,2,255,128,114,242,0,0,0,99,1,0,0,
@ -1743,7 +1744,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
173,0,0,0,41,2,114,20,0,0,0,114,109,0,0,0,
114,5,0,0,0,114,5,0,0,0,114,6,0,0,0,218,
18,95,98,117,105,108,116,105,110,95,102,114,111,109,95,110,
97,109,101,129,4,0,0,115,10,0,0,0,10,1,8,1,
97,109,101,121,4,0,0,115,10,0,0,0,10,1,8,1,
12,1,8,1,255,128,114,243,0,0,0,99,2,0,0,0,
0,0,0,0,0,0,0,0,10,0,0,0,5,0,0,0,
67,0,0,0,115,166,0,0,0,124,1,97,0,124,0,97,
@ -1786,7 +1787,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
95,109,111,100,117,108,101,90,12,98,117,105,108,116,105,110,
95,110,97,109,101,90,14,98,117,105,108,116,105,110,95,109,
111,100,117,108,101,114,5,0,0,0,114,5,0,0,0,114,
6,0,0,0,218,6,95,115,101,116,117,112,136,4,0,0,
6,0,0,0,218,6,95,115,101,116,117,112,128,4,0,0,
115,42,0,0,0,4,9,4,1,8,3,18,1,10,1,10,
1,6,1,10,1,6,1,2,2,10,1,10,1,2,128,10,
3,8,1,10,1,10,1,10,2,14,1,4,251,255,128,114,
@ -1802,7 +1803,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,0,0,114,175,0,0,0,114,192,0,0,0,41,2,114,
245,0,0,0,114,246,0,0,0,114,5,0,0,0,114,5,
0,0,0,114,6,0,0,0,218,8,95,105,110,115,116,97,
108,108,171,4,0,0,115,8,0,0,0,10,2,12,2,16,
108,108,163,4,0,0,115,8,0,0,0,10,2,12,2,16,
1,255,128,114,248,0,0,0,99,0,0,0,0,0,0,0,
0,0,0,0,0,1,0,0,0,4,0,0,0,67,0,0,
0,115,32,0,0,0,100,1,100,2,108,0,125,0,124,0,
@ -1818,7 +1819,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
41,1,114,249,0,0,0,114,5,0,0,0,114,5,0,0,
0,114,6,0,0,0,218,27,95,105,110,115,116,97,108,108,
95,101,120,116,101,114,110,97,108,95,105,109,112,111,114,116,
101,114,115,179,4,0,0,115,8,0,0,0,8,3,4,1,
101,114,115,171,4,0,0,115,8,0,0,0,8,3,4,1,
20,1,255,128,114,250,0,0,0,41,2,78,78,41,1,78,
41,2,78,114,25,0,0,0,41,4,78,78,114,5,0,0,
0,114,25,0,0,0,41,54,114,10,0,0,0,114,7,0,
@ -1830,7 +1831,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
0,0,114,83,0,0,0,114,95,0,0,0,114,100,0,0,
0,114,111,0,0,0,114,124,0,0,0,114,125,0,0,0,
114,104,0,0,0,114,155,0,0,0,114,161,0,0,0,114,
165,0,0,0,114,120,0,0,0,114,106,0,0,0,114,172,
165,0,0,0,114,119,0,0,0,114,106,0,0,0,114,172,
0,0,0,114,173,0,0,0,114,107,0,0,0,114,175,0,
0,0,114,192,0,0,0,114,199,0,0,0,114,210,0,0,
0,114,212,0,0,0,114,214,0,0,0,114,220,0,0,0,
@ -1844,7 +1845,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
108,101,62,1,0,0,0,115,106,0,0,0,4,0,8,22,
4,9,4,1,4,1,4,3,8,3,8,8,4,8,4,2,
16,3,14,4,14,77,14,21,8,16,8,37,8,17,14,11,
8,8,8,11,8,12,8,19,14,36,16,101,10,26,14,45,
8,8,8,11,8,12,8,19,14,28,16,101,10,26,14,45,
8,72,8,17,8,17,8,30,8,36,8,45,14,15,14,75,
14,80,8,13,8,9,10,9,8,47,4,16,8,1,8,2,
6,32,8,3,10,16,14,15,8,37,10,27,8,37,8,7,