Fix bug in __import__ during Python shutdown

Issue #26637: The importlib module now emits an ImportError rather than a
TypeError if __import__() is tried during the Python shutdown process but
sys.path is already cleared (set to None).
This commit is contained in:
Victor Stinner 2016-03-25 00:40:59 +01:00
parent e091d32a7a
commit 4f17426437
3 changed files with 459 additions and 441 deletions

View File

@ -878,13 +878,20 @@ def _find_spec_legacy(finder, name, path):
def _find_spec(name, path, target=None): def _find_spec(name, path, target=None):
"""Find a module's loader.""" """Find a module's loader."""
if sys.meta_path is not None and not sys.meta_path: meta_path = sys.meta_path
if meta_path is None:
# PyImport_Cleanup() is running or has been called.
raise ImportError("sys.meta_path is None, Python is likely "
"shutting down")
if not meta_path:
_warnings.warn('sys.meta_path is empty', ImportWarning) _warnings.warn('sys.meta_path is empty', ImportWarning)
# We check sys.modules here for the reload case. While a passed-in # We check sys.modules here for the reload case. While a passed-in
# target will usually indicate a reload there is no guarantee, whereas # target will usually indicate a reload there is no guarantee, whereas
# sys.modules provides one. # sys.modules provides one.
is_reload = name in sys.modules is_reload = name in sys.modules
for finder in sys.meta_path: for finder in meta_path:
with _ImportLockContext(): with _ImportLockContext():
try: try:
find_spec = finder.find_spec find_spec = finder.find_spec

View File

@ -232,6 +232,11 @@ Core and Builtins
Library Library
------- -------
- Issue #26637: The :mod:`importlib` module now emits an :exc:`ImportError`
rather than a :exc:`TypeError` if :func:`__import__` is tried during the
Python shutdown process but :data:`sys.path` is already cleared (set to
``None``).
- Issue #21925: :func:`warnings.formatwarning` now catches exceptions when - Issue #21925: :func:`warnings.formatwarning` now catches exceptions when
calling :func;`linecache.getline` and calling :func;`linecache.getline` and
:func:`tracemalloc.get_object_traceback` to be able to log :func:`tracemalloc.get_object_traceback` to be able to log

View File

@ -1573,443 +1573,449 @@ const unsigned char _Py_M__importlib[] = {
11,0,0,0,218,17,95,102,105,110,100,95,115,112,101,99, 11,0,0,0,218,17,95,102,105,110,100,95,115,112,101,99,
95,108,101,103,97,99,121,102,3,0,0,115,8,0,0,0, 95,108,101,103,97,99,121,102,3,0,0,115,8,0,0,0,
0,3,18,1,12,1,4,1,114,174,0,0,0,99,3,0, 0,3,18,1,12,1,4,1,114,174,0,0,0,99,3,0,
0,0,0,0,0,0,9,0,0,0,27,0,0,0,67,0, 0,0,0,0,0,0,10,0,0,0,27,0,0,0,67,0,
0,0,115,42,1,0,0,116,0,0,106,1,0,100,1,0, 0,0,115,53,1,0,0,116,0,0,106,1,0,125,3,0,
107,9,0,114,41,0,116,0,0,106,1,0,12,114,41,0, 124,3,0,100,1,0,107,8,0,114,33,0,116,2,0,100,
116,2,0,106,3,0,100,2,0,116,4,0,131,2,0,1, 2,0,131,1,0,130,1,0,124,3,0,115,55,0,116,3,
124,0,0,116,0,0,106,5,0,107,6,0,125,3,0,120, 0,106,4,0,100,3,0,116,5,0,131,2,0,1,124,0,
235,0,116,0,0,106,1,0,68,93,220,0,125,4,0,116, 0,116,0,0,106,6,0,107,6,0,125,4,0,120,232,0,
6,0,131,0,0,143,90,0,1,121,13,0,124,4,0,106, 124,3,0,68,93,220,0,125,5,0,116,7,0,131,0,0,
7,0,125,5,0,87,110,51,0,4,116,8,0,107,10,0, 143,90,0,1,121,13,0,124,5,0,106,8,0,125,6,0,
114,148,0,1,1,1,116,9,0,124,4,0,124,0,0,124, 87,110,51,0,4,116,9,0,107,10,0,114,159,0,1,1,
1,0,131,3,0,125,6,0,124,6,0,100,1,0,107,8, 1,116,10,0,124,5,0,124,0,0,124,1,0,131,3,0,
0,114,144,0,119,66,0,89,110,19,0,88,124,5,0,124, 125,7,0,124,7,0,100,1,0,107,8,0,114,155,0,119,
0,0,124,1,0,124,2,0,131,3,0,125,6,0,87,100, 77,0,89,110,19,0,88,124,6,0,124,0,0,124,1,0,
1,0,81,82,88,124,6,0,100,1,0,107,9,0,114,66, 124,2,0,131,3,0,125,7,0,87,100,1,0,81,82,88,
0,124,3,0,12,114,26,1,124,0,0,116,0,0,106,5, 124,7,0,100,1,0,107,9,0,114,77,0,124,4,0,12,
0,107,6,0,114,26,1,116,0,0,106,5,0,124,0,0, 114,37,1,124,0,0,116,0,0,106,6,0,107,6,0,114,
25,125,7,0,121,13,0,124,7,0,106,10,0,125,8,0, 37,1,116,0,0,106,6,0,124,0,0,25,125,8,0,121,
87,110,22,0,4,116,8,0,107,10,0,114,2,1,1,1, 13,0,124,8,0,106,11,0,125,9,0,87,110,22,0,4,
1,124,6,0,83,89,113,30,1,88,124,8,0,100,1,0, 116,9,0,107,10,0,114,13,1,1,1,1,124,7,0,83,
107,8,0,114,19,1,124,6,0,83,124,8,0,83,113,66, 89,113,41,1,88,124,9,0,100,1,0,107,8,0,114,30,
0,124,6,0,83,113,66,0,87,100,1,0,83,100,1,0, 1,124,7,0,83,124,9,0,83,113,77,0,124,7,0,83,
83,41,3,122,23,70,105,110,100,32,97,32,109,111,100,117, 113,77,0,87,100,1,0,83,100,1,0,83,41,4,122,23,
108,101,39,115,32,108,111,97,100,101,114,46,78,122,22,115, 70,105,110,100,32,97,32,109,111,100,117,108,101,39,115,32,
121,115,46,109,101,116,97,95,112,97,116,104,32,105,115,32, 108,111,97,100,101,114,46,78,122,53,115,121,115,46,109,101,
101,109,112,116,121,41,11,114,14,0,0,0,218,9,109,101, 116,97,95,112,97,116,104,32,105,115,32,78,111,110,101,44,
116,97,95,112,97,116,104,114,142,0,0,0,114,143,0,0, 32,80,121,116,104,111,110,32,105,115,32,108,105,107,101,108,
0,218,13,73,109,112,111,114,116,87,97,114,110,105,110,103, 121,32,115,104,117,116,116,105,110,103,32,100,111,119,110,122,
114,21,0,0,0,114,166,0,0,0,114,155,0,0,0,114, 22,115,121,115,46,109,101,116,97,95,112,97,116,104,32,105,
96,0,0,0,114,174,0,0,0,114,95,0,0,0,41,9, 115,32,101,109,112,116,121,41,12,114,14,0,0,0,218,9,
114,15,0,0,0,114,153,0,0,0,114,154,0,0,0,90, 109,101,116,97,95,112,97,116,104,114,77,0,0,0,114,142,
9,105,115,95,114,101,108,111,97,100,114,173,0,0,0,114, 0,0,0,114,143,0,0,0,218,13,73,109,112,111,114,116,
155,0,0,0,114,88,0,0,0,114,89,0,0,0,114,95, 87,97,114,110,105,110,103,114,21,0,0,0,114,166,0,0,
0,0,0,114,10,0,0,0,114,10,0,0,0,114,11,0, 0,114,155,0,0,0,114,96,0,0,0,114,174,0,0,0,
0,0,218,10,95,102,105,110,100,95,115,112,101,99,111,3, 114,95,0,0,0,41,10,114,15,0,0,0,114,153,0,0,
0,0,115,48,0,0,0,0,2,25,1,16,4,15,1,16, 0,114,154,0,0,0,114,175,0,0,0,90,9,105,115,95,
1,10,1,3,1,13,1,13,1,18,1,12,1,8,2,25, 114,101,108,111,97,100,114,173,0,0,0,114,155,0,0,0,
1,12,2,22,1,13,1,3,1,13,1,13,4,9,2,12, 114,88,0,0,0,114,89,0,0,0,114,95,0,0,0,114,
1,4,2,7,2,8,2,114,177,0,0,0,99,3,0,0, 10,0,0,0,114,10,0,0,0,114,11,0,0,0,218,10,
0,0,0,0,0,4,0,0,0,4,0,0,0,67,0,0, 95,102,105,110,100,95,115,112,101,99,111,3,0,0,115,54,
0,115,206,0,0,0,116,0,0,124,0,0,116,1,0,131, 0,0,0,0,2,9,1,12,2,12,3,6,1,16,5,15,
2,0,115,42,0,116,2,0,100,1,0,106,3,0,116,4, 1,13,1,10,1,3,1,13,1,13,1,18,1,12,1,8,
0,124,0,0,131,1,0,131,1,0,131,1,0,130,1,0, 2,25,1,12,2,22,1,13,1,3,1,13,1,13,4,9,
124,2,0,100,2,0,107,0,0,114,66,0,116,5,0,100, 2,12,1,4,2,7,2,8,2,114,177,0,0,0,99,3,
3,0,131,1,0,130,1,0,124,2,0,100,2,0,107,4, 0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,67,
0,114,171,0,116,0,0,124,1,0,116,1,0,131,2,0, 0,0,0,115,206,0,0,0,116,0,0,124,0,0,116,1,
115,108,0,116,2,0,100,4,0,131,1,0,130,1,0,110, 0,131,2,0,115,42,0,116,2,0,100,1,0,106,3,0,
63,0,124,1,0,115,129,0,116,6,0,100,5,0,131,1, 116,4,0,124,0,0,131,1,0,131,1,0,131,1,0,130,
0,130,1,0,110,42,0,124,1,0,116,7,0,106,8,0, 1,0,124,2,0,100,2,0,107,0,0,114,66,0,116,5,
107,7,0,114,171,0,100,6,0,125,3,0,116,9,0,124, 0,100,3,0,131,1,0,130,1,0,124,2,0,100,2,0,
3,0,106,3,0,124,1,0,131,1,0,131,1,0,130,1, 107,4,0,114,171,0,116,0,0,124,1,0,116,1,0,131,
0,124,0,0,12,114,202,0,124,2,0,100,2,0,107,2, 2,0,115,108,0,116,2,0,100,4,0,131,1,0,130,1,
0,114,202,0,116,5,0,100,7,0,131,1,0,130,1,0, 0,110,63,0,124,1,0,115,129,0,116,6,0,100,5,0,
100,8,0,83,41,9,122,28,86,101,114,105,102,121,32,97, 131,1,0,130,1,0,110,42,0,124,1,0,116,7,0,106,
114,103,117,109,101,110,116,115,32,97,114,101,32,34,115,97, 8,0,107,7,0,114,171,0,100,6,0,125,3,0,116,9,
110,101,34,46,122,31,109,111,100,117,108,101,32,110,97,109, 0,124,3,0,106,3,0,124,1,0,131,1,0,131,1,0,
101,32,109,117,115,116,32,98,101,32,115,116,114,44,32,110, 130,1,0,124,0,0,12,114,202,0,124,2,0,100,2,0,
111,116,32,123,125,114,33,0,0,0,122,18,108,101,118,101, 107,2,0,114,202,0,116,5,0,100,7,0,131,1,0,130,
108,32,109,117,115,116,32,98,101,32,62,61,32,48,122,31, 1,0,100,8,0,83,41,9,122,28,86,101,114,105,102,121,
95,95,112,97,99,107,97,103,101,95,95,32,110,111,116,32, 32,97,114,103,117,109,101,110,116,115,32,97,114,101,32,34,
115,101,116,32,116,111,32,97,32,115,116,114,105,110,103,122, 115,97,110,101,34,46,122,31,109,111,100,117,108,101,32,110,
54,97,116,116,101,109,112,116,101,100,32,114,101,108,97,116, 97,109,101,32,109,117,115,116,32,98,101,32,115,116,114,44,
105,118,101,32,105,109,112,111,114,116,32,119,105,116,104,32, 32,110,111,116,32,123,125,114,33,0,0,0,122,18,108,101,
110,111,32,107,110,111,119,110,32,112,97,114,101,110,116,32, 118,101,108,32,109,117,115,116,32,98,101,32,62,61,32,48,
112,97,99,107,97,103,101,122,61,80,97,114,101,110,116,32, 122,31,95,95,112,97,99,107,97,103,101,95,95,32,110,111,
109,111,100,117,108,101,32,123,33,114,125,32,110,111,116,32, 116,32,115,101,116,32,116,111,32,97,32,115,116,114,105,110,
108,111,97,100,101,100,44,32,99,97,110,110,111,116,32,112, 103,122,54,97,116,116,101,109,112,116,101,100,32,114,101,108,
101,114,102,111,114,109,32,114,101,108,97,116,105,118,101,32, 97,116,105,118,101,32,105,109,112,111,114,116,32,119,105,116,
105,109,112,111,114,116,122,17,69,109,112,116,121,32,109,111, 104,32,110,111,32,107,110,111,119,110,32,112,97,114,101,110,
100,117,108,101,32,110,97,109,101,78,41,10,218,10,105,115, 116,32,112,97,99,107,97,103,101,122,61,80,97,114,101,110,
105,110,115,116,97,110,99,101,218,3,115,116,114,218,9,84, 116,32,109,111,100,117,108,101,32,123,33,114,125,32,110,111,
121,112,101,69,114,114,111,114,114,50,0,0,0,114,13,0, 116,32,108,111,97,100,101,100,44,32,99,97,110,110,111,116,
0,0,114,169,0,0,0,114,77,0,0,0,114,14,0,0, 32,112,101,114,102,111,114,109,32,114,101,108,97,116,105,118,
0,114,21,0,0,0,218,11,83,121,115,116,101,109,69,114, 101,32,105,109,112,111,114,116,122,17,69,109,112,116,121,32,
114,111,114,41,4,114,15,0,0,0,114,170,0,0,0,114, 109,111,100,117,108,101,32,110,97,109,101,78,41,10,218,10,
171,0,0,0,114,148,0,0,0,114,10,0,0,0,114,10, 105,115,105,110,115,116,97,110,99,101,218,3,115,116,114,218,
0,0,0,114,11,0,0,0,218,13,95,115,97,110,105,116, 9,84,121,112,101,69,114,114,111,114,114,50,0,0,0,114,
121,95,99,104,101,99,107,151,3,0,0,115,28,0,0,0, 13,0,0,0,114,169,0,0,0,114,77,0,0,0,114,14,
0,2,15,1,27,1,12,1,12,1,12,1,15,1,15,1, 0,0,0,114,21,0,0,0,218,11,83,121,115,116,101,109,
6,1,15,2,15,1,6,2,21,1,19,1,114,182,0,0, 69,114,114,111,114,41,4,114,15,0,0,0,114,170,0,0,
0,122,16,78,111,32,109,111,100,117,108,101,32,110,97,109, 0,114,171,0,0,0,114,148,0,0,0,114,10,0,0,0,
101,100,32,122,4,123,33,114,125,99,2,0,0,0,0,0, 114,10,0,0,0,114,11,0,0,0,218,13,95,115,97,110,
0,0,8,0,0,0,12,0,0,0,67,0,0,0,115,40, 105,116,121,95,99,104,101,99,107,158,3,0,0,115,28,0,
1,0,0,100,0,0,125,2,0,124,0,0,106,0,0,100, 0,0,0,2,15,1,27,1,12,1,12,1,12,1,15,1,
1,0,131,1,0,100,2,0,25,125,3,0,124,3,0,114, 15,1,6,1,15,2,15,1,6,2,21,1,19,1,114,182,
175,0,124,3,0,116,1,0,106,2,0,107,7,0,114,59, 0,0,0,122,16,78,111,32,109,111,100,117,108,101,32,110,
0,116,3,0,124,1,0,124,3,0,131,2,0,1,124,0, 97,109,101,100,32,122,4,123,33,114,125,99,2,0,0,0,
0,116,1,0,106,2,0,107,6,0,114,85,0,116,1,0, 0,0,0,0,8,0,0,0,12,0,0,0,67,0,0,0,
106,2,0,124,0,0,25,83,116,1,0,106,2,0,124,3, 115,40,1,0,0,100,0,0,125,2,0,124,0,0,106,0,
0,25,125,4,0,121,13,0,124,4,0,106,4,0,125,2, 0,100,1,0,131,1,0,100,2,0,25,125,3,0,124,3,
0,87,110,61,0,4,116,5,0,107,10,0,114,174,0,1, 0,114,175,0,124,3,0,116,1,0,106,2,0,107,7,0,
1,1,116,6,0,100,3,0,23,106,7,0,124,0,0,124, 114,59,0,116,3,0,124,1,0,124,3,0,131,2,0,1,
3,0,131,2,0,125,5,0,116,8,0,124,5,0,100,4, 124,0,0,116,1,0,106,2,0,107,6,0,114,85,0,116,
0,124,0,0,131,1,1,100,0,0,130,2,0,89,110,1, 1,0,106,2,0,124,0,0,25,83,116,1,0,106,2,0,
0,88,116,9,0,124,0,0,124,2,0,131,2,0,125,6, 124,3,0,25,125,4,0,121,13,0,124,4,0,106,4,0,
0,124,6,0,100,0,0,107,8,0,114,232,0,116,8,0, 125,2,0,87,110,61,0,4,116,5,0,107,10,0,114,174,
116,6,0,106,7,0,124,0,0,131,1,0,100,4,0,124, 0,1,1,1,116,6,0,100,3,0,23,106,7,0,124,0,
0,0,131,1,1,130,1,0,110,12,0,116,10,0,124,6, 0,124,3,0,131,2,0,125,5,0,116,8,0,124,5,0,
0,131,1,0,125,7,0,124,3,0,114,36,1,116,1,0, 100,4,0,124,0,0,131,1,1,100,0,0,130,2,0,89,
106,2,0,124,3,0,25,125,4,0,116,11,0,124,4,0, 110,1,0,88,116,9,0,124,0,0,124,2,0,131,2,0,
124,0,0,106,0,0,100,1,0,131,1,0,100,5,0,25, 125,6,0,124,6,0,100,0,0,107,8,0,114,232,0,116,
124,7,0,131,3,0,1,124,7,0,83,41,6,78,114,121, 8,0,116,6,0,106,7,0,124,0,0,131,1,0,100,4,
0,0,0,114,33,0,0,0,122,23,59,32,123,33,114,125, 0,124,0,0,131,1,1,130,1,0,110,12,0,116,10,0,
32,105,115,32,110,111,116,32,97,32,112,97,99,107,97,103, 124,6,0,131,1,0,125,7,0,124,3,0,114,36,1,116,
101,114,15,0,0,0,114,141,0,0,0,41,12,114,122,0, 1,0,106,2,0,124,3,0,25,125,4,0,116,11,0,124,
0,0,114,14,0,0,0,114,21,0,0,0,114,65,0,0, 4,0,124,0,0,106,0,0,100,1,0,131,1,0,100,5,
0,114,131,0,0,0,114,96,0,0,0,218,8,95,69,82, 0,25,124,7,0,131,3,0,1,124,7,0,83,41,6,78,
82,95,77,83,71,114,50,0,0,0,114,77,0,0,0,114, 114,121,0,0,0,114,33,0,0,0,122,23,59,32,123,33,
177,0,0,0,114,150,0,0,0,114,5,0,0,0,41,8, 114,125,32,105,115,32,110,111,116,32,97,32,112,97,99,107,
114,15,0,0,0,218,7,105,109,112,111,114,116,95,114,153, 97,103,101,114,15,0,0,0,114,141,0,0,0,41,12,114,
0,0,0,114,123,0,0,0,90,13,112,97,114,101,110,116, 122,0,0,0,114,14,0,0,0,114,21,0,0,0,114,65,
95,109,111,100,117,108,101,114,148,0,0,0,114,88,0,0, 0,0,0,114,131,0,0,0,114,96,0,0,0,218,8,95,
0,114,89,0,0,0,114,10,0,0,0,114,10,0,0,0, 69,82,82,95,77,83,71,114,50,0,0,0,114,77,0,0,
114,11,0,0,0,218,23,95,102,105,110,100,95,97,110,100, 0,114,177,0,0,0,114,150,0,0,0,114,5,0,0,0,
95,108,111,97,100,95,117,110,108,111,99,107,101,100,174,3, 41,8,114,15,0,0,0,218,7,105,109,112,111,114,116,95,
0,0,115,42,0,0,0,0,1,6,1,19,1,6,1,15, 114,153,0,0,0,114,123,0,0,0,90,13,112,97,114,101,
1,13,2,15,1,11,1,13,1,3,1,13,1,13,1,22, 110,116,95,109,111,100,117,108,101,114,148,0,0,0,114,88,
1,26,1,15,1,12,1,30,2,12,1,6,2,13,1,29, 0,0,0,114,89,0,0,0,114,10,0,0,0,114,10,0,
1,114,185,0,0,0,99,2,0,0,0,0,0,0,0,2, 0,0,114,11,0,0,0,218,23,95,102,105,110,100,95,97,
0,0,0,10,0,0,0,67,0,0,0,115,37,0,0,0, 110,100,95,108,111,97,100,95,117,110,108,111,99,107,101,100,
116,0,0,124,0,0,131,1,0,143,18,0,1,116,1,0, 181,3,0,0,115,42,0,0,0,0,1,6,1,19,1,6,
124,0,0,124,1,0,131,2,0,83,87,100,1,0,81,82, 1,15,1,13,2,15,1,11,1,13,1,3,1,13,1,13,
88,100,1,0,83,41,2,122,54,70,105,110,100,32,97,110, 1,22,1,26,1,15,1,12,1,30,2,12,1,6,2,13,
100,32,108,111,97,100,32,116,104,101,32,109,111,100,117,108, 1,29,1,114,185,0,0,0,99,2,0,0,0,0,0,0,
101,44,32,97,110,100,32,114,101,108,101,97,115,101,32,116, 0,2,0,0,0,10,0,0,0,67,0,0,0,115,37,0,
104,101,32,105,109,112,111,114,116,32,108,111,99,107,46,78, 0,0,116,0,0,124,0,0,131,1,0,143,18,0,1,116,
41,2,114,54,0,0,0,114,185,0,0,0,41,2,114,15, 1,0,124,0,0,124,1,0,131,2,0,83,87,100,1,0,
0,0,0,114,184,0,0,0,114,10,0,0,0,114,10,0, 81,82,88,100,1,0,83,41,2,122,54,70,105,110,100,32,
0,0,114,11,0,0,0,218,14,95,102,105,110,100,95,97, 97,110,100,32,108,111,97,100,32,116,104,101,32,109,111,100,
110,100,95,108,111,97,100,201,3,0,0,115,4,0,0,0, 117,108,101,44,32,97,110,100,32,114,101,108,101,97,115,101,
0,2,13,1,114,186,0,0,0,114,33,0,0,0,99,3, 32,116,104,101,32,105,109,112,111,114,116,32,108,111,99,107,
0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,67, 46,78,41,2,114,54,0,0,0,114,185,0,0,0,41,2,
0,0,0,115,166,0,0,0,116,0,0,124,0,0,124,1, 114,15,0,0,0,114,184,0,0,0,114,10,0,0,0,114,
0,124,2,0,131,3,0,1,124,2,0,100,1,0,107,4, 10,0,0,0,114,11,0,0,0,218,14,95,102,105,110,100,
0,114,46,0,116,1,0,124,0,0,124,1,0,124,2,0, 95,97,110,100,95,108,111,97,100,208,3,0,0,115,4,0,
131,3,0,125,0,0,116,2,0,106,3,0,131,0,0,1, 0,0,0,2,13,1,114,186,0,0,0,114,33,0,0,0,
124,0,0,116,4,0,106,5,0,107,7,0,114,84,0,116, 99,3,0,0,0,0,0,0,0,5,0,0,0,4,0,0,
6,0,124,0,0,116,7,0,131,2,0,83,116,4,0,106, 0,67,0,0,0,115,166,0,0,0,116,0,0,124,0,0,
5,0,124,0,0,25,125,3,0,124,3,0,100,2,0,107, 124,1,0,124,2,0,131,3,0,1,124,2,0,100,1,0,
8,0,114,152,0,116,2,0,106,8,0,131,0,0,1,100, 107,4,0,114,46,0,116,1,0,124,0,0,124,1,0,124,
3,0,106,9,0,124,0,0,131,1,0,125,4,0,116,10, 2,0,131,3,0,125,0,0,116,2,0,106,3,0,131,0,
0,124,4,0,100,4,0,124,0,0,131,1,1,130,1,0, 0,1,124,0,0,116,4,0,106,5,0,107,7,0,114,84,
116,11,0,124,0,0,131,1,0,1,124,3,0,83,41,5, 0,116,6,0,124,0,0,116,7,0,131,2,0,83,116,4,
97,50,1,0,0,73,109,112,111,114,116,32,97,110,100,32, 0,106,5,0,124,0,0,25,125,3,0,124,3,0,100,2,
114,101,116,117,114,110,32,116,104,101,32,109,111,100,117,108, 0,107,8,0,114,152,0,116,2,0,106,8,0,131,0,0,
101,32,98,97,115,101,100,32,111,110,32,105,116,115,32,110, 1,100,3,0,106,9,0,124,0,0,131,1,0,125,4,0,
97,109,101,44,32,116,104,101,32,112,97,99,107,97,103,101, 116,10,0,124,4,0,100,4,0,124,0,0,131,1,1,130,
32,116,104,101,32,99,97,108,108,32,105,115,10,32,32,32, 1,0,116,11,0,124,0,0,131,1,0,1,124,3,0,83,
32,98,101,105,110,103,32,109,97,100,101,32,102,114,111,109, 41,5,97,50,1,0,0,73,109,112,111,114,116,32,97,110,
44,32,97,110,100,32,116,104,101,32,108,101,118,101,108,32, 100,32,114,101,116,117,114,110,32,116,104,101,32,109,111,100,
97,100,106,117,115,116,109,101,110,116,46,10,10,32,32,32, 117,108,101,32,98,97,115,101,100,32,111,110,32,105,116,115,
32,84,104,105,115,32,102,117,110,99,116,105,111,110,32,114, 32,110,97,109,101,44,32,116,104,101,32,112,97,99,107,97,
101,112,114,101,115,101,110,116,115,32,116,104,101,32,103,114, 103,101,32,116,104,101,32,99,97,108,108,32,105,115,10,32,
101,97,116,101,115,116,32,99,111,109,109,111,110,32,100,101, 32,32,32,98,101,105,110,103,32,109,97,100,101,32,102,114,
110,111,109,105,110,97,116,111,114,32,111,102,32,102,117,110, 111,109,44,32,97,110,100,32,116,104,101,32,108,101,118,101,
99,116,105,111,110,97,108,105,116,121,10,32,32,32,32,98, 108,32,97,100,106,117,115,116,109,101,110,116,46,10,10,32,
101,116,119,101,101,110,32,105,109,112,111,114,116,95,109,111, 32,32,32,84,104,105,115,32,102,117,110,99,116,105,111,110,
100,117,108,101,32,97,110,100,32,95,95,105,109,112,111,114, 32,114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,
116,95,95,46,32,84,104,105,115,32,105,110,99,108,117,100, 103,114,101,97,116,101,115,116,32,99,111,109,109,111,110,32,
101,115,32,115,101,116,116,105,110,103,32,95,95,112,97,99, 100,101,110,111,109,105,110,97,116,111,114,32,111,102,32,102,
107,97,103,101,95,95,32,105,102,10,32,32,32,32,116,104, 117,110,99,116,105,111,110,97,108,105,116,121,10,32,32,32,
101,32,108,111,97,100,101,114,32,100,105,100,32,110,111,116, 32,98,101,116,119,101,101,110,32,105,109,112,111,114,116,95,
46,10,10,32,32,32,32,114,33,0,0,0,78,122,40,105, 109,111,100,117,108,101,32,97,110,100,32,95,95,105,109,112,
109,112,111,114,116,32,111,102,32,123,125,32,104,97,108,116, 111,114,116,95,95,46,32,84,104,105,115,32,105,110,99,108,
101,100,59,32,78,111,110,101,32,105,110,32,115,121,115,46, 117,100,101,115,32,115,101,116,116,105,110,103,32,95,95,112,
109,111,100,117,108,101,115,114,15,0,0,0,41,12,114,182, 97,99,107,97,103,101,95,95,32,105,102,10,32,32,32,32,
0,0,0,114,172,0,0,0,114,57,0,0,0,114,146,0, 116,104,101,32,108,111,97,100,101,114,32,100,105,100,32,110,
0,0,114,14,0,0,0,114,21,0,0,0,114,186,0,0, 111,116,46,10,10,32,32,32,32,114,33,0,0,0,78,122,
0,218,11,95,103,99,100,95,105,109,112,111,114,116,114,58, 40,105,109,112,111,114,116,32,111,102,32,123,125,32,104,97,
0,0,0,114,50,0,0,0,114,77,0,0,0,114,63,0, 108,116,101,100,59,32,78,111,110,101,32,105,110,32,115,121,
0,0,41,5,114,15,0,0,0,114,170,0,0,0,114,171, 115,46,109,111,100,117,108,101,115,114,15,0,0,0,41,12,
0,0,0,114,89,0,0,0,114,74,0,0,0,114,10,0, 114,182,0,0,0,114,172,0,0,0,114,57,0,0,0,114,
0,0,114,10,0,0,0,114,11,0,0,0,114,187,0,0, 146,0,0,0,114,14,0,0,0,114,21,0,0,0,114,186,
0,207,3,0,0,115,28,0,0,0,0,9,16,1,12,1, 0,0,0,218,11,95,103,99,100,95,105,109,112,111,114,116,
18,1,10,1,15,1,13,1,13,1,12,1,10,1,6,1, 114,58,0,0,0,114,50,0,0,0,114,77,0,0,0,114,
9,1,18,1,10,1,114,187,0,0,0,99,3,0,0,0, 63,0,0,0,41,5,114,15,0,0,0,114,170,0,0,0,
0,0,0,0,6,0,0,0,17,0,0,0,67,0,0,0, 114,171,0,0,0,114,89,0,0,0,114,74,0,0,0,114,
115,239,0,0,0,116,0,0,124,0,0,100,1,0,131,2, 10,0,0,0,114,10,0,0,0,114,11,0,0,0,114,187,
0,114,235,0,100,2,0,124,1,0,107,6,0,114,83,0, 0,0,0,214,3,0,0,115,28,0,0,0,0,9,16,1,
116,1,0,124,1,0,131,1,0,125,1,0,124,1,0,106, 12,1,18,1,10,1,15,1,13,1,13,1,12,1,10,1,
2,0,100,2,0,131,1,0,1,116,0,0,124,0,0,100, 6,1,9,1,18,1,10,1,114,187,0,0,0,99,3,0,
3,0,131,2,0,114,83,0,124,1,0,106,3,0,124,0, 0,0,0,0,0,0,6,0,0,0,17,0,0,0,67,0,
0,106,4,0,131,1,0,1,120,149,0,124,1,0,68,93, 0,0,115,239,0,0,0,116,0,0,124,0,0,100,1,0,
141,0,125,3,0,116,0,0,124,0,0,124,3,0,131,2, 131,2,0,114,235,0,100,2,0,124,1,0,107,6,0,114,
0,115,90,0,100,4,0,106,5,0,124,0,0,106,6,0, 83,0,116,1,0,124,1,0,131,1,0,125,1,0,124,1,
124,3,0,131,2,0,125,4,0,121,17,0,116,7,0,124, 0,106,2,0,100,2,0,131,1,0,1,116,0,0,124,0,
2,0,124,4,0,131,2,0,1,87,113,90,0,4,116,8, 0,100,3,0,131,2,0,114,83,0,124,1,0,106,3,0,
0,107,10,0,114,230,0,1,125,5,0,1,122,47,0,116, 124,0,0,106,4,0,131,1,0,1,120,149,0,124,1,0,
9,0,124,5,0,131,1,0,106,10,0,116,11,0,131,1, 68,93,141,0,125,3,0,116,0,0,124,0,0,124,3,0,
0,114,209,0,124,5,0,106,12,0,124,4,0,107,2,0, 131,2,0,115,90,0,100,4,0,106,5,0,124,0,0,106,
114,209,0,119,90,0,130,0,0,87,89,100,5,0,100,5, 6,0,124,3,0,131,2,0,125,4,0,121,17,0,116,7,
0,125,5,0,126,5,0,88,113,90,0,88,113,90,0,87, 0,124,2,0,124,4,0,131,2,0,1,87,113,90,0,4,
124,0,0,83,41,6,122,238,70,105,103,117,114,101,32,111, 116,8,0,107,10,0,114,230,0,1,125,5,0,1,122,47,
117,116,32,119,104,97,116,32,95,95,105,109,112,111,114,116, 0,116,9,0,124,5,0,131,1,0,106,10,0,116,11,0,
95,95,32,115,104,111,117,108,100,32,114,101,116,117,114,110, 131,1,0,114,209,0,124,5,0,106,12,0,124,4,0,107,
46,10,10,32,32,32,32,84,104,101,32,105,109,112,111,114, 2,0,114,209,0,119,90,0,130,0,0,87,89,100,5,0,
116,95,32,112,97,114,97,109,101,116,101,114,32,105,115,32, 100,5,0,125,5,0,126,5,0,88,113,90,0,88,113,90,
97,32,99,97,108,108,97,98,108,101,32,119,104,105,99,104, 0,87,124,0,0,83,41,6,122,238,70,105,103,117,114,101,
32,116,97,107,101,115,32,116,104,101,32,110,97,109,101,32, 32,111,117,116,32,119,104,97,116,32,95,95,105,109,112,111,
111,102,32,109,111,100,117,108,101,32,116,111,10,32,32,32, 114,116,95,95,32,115,104,111,117,108,100,32,114,101,116,117,
32,105,109,112,111,114,116,46,32,73,116,32,105,115,32,114, 114,110,46,10,10,32,32,32,32,84,104,101,32,105,109,112,
101,113,117,105,114,101,100,32,116,111,32,100,101,99,111,117, 111,114,116,95,32,112,97,114,97,109,101,116,101,114,32,105,
112,108,101,32,116,104,101,32,102,117,110,99,116,105,111,110, 115,32,97,32,99,97,108,108,97,98,108,101,32,119,104,105,
32,102,114,111,109,32,97,115,115,117,109,105,110,103,32,105, 99,104,32,116,97,107,101,115,32,116,104,101,32,110,97,109,
109,112,111,114,116,108,105,98,39,115,10,32,32,32,32,105, 101,32,111,102,32,109,111,100,117,108,101,32,116,111,10,32,
109,112,111,114,116,32,105,109,112,108,101,109,101,110,116,97, 32,32,32,105,109,112,111,114,116,46,32,73,116,32,105,115,
116,105,111,110,32,105,115,32,100,101,115,105,114,101,100,46, 32,114,101,113,117,105,114,101,100,32,116,111,32,100,101,99,
10,10,32,32,32,32,114,131,0,0,0,250,1,42,218,7, 111,117,112,108,101,32,116,104,101,32,102,117,110,99,116,105,
95,95,97,108,108,95,95,122,5,123,125,46,123,125,78,41, 111,110,32,102,114,111,109,32,97,115,115,117,109,105,110,103,
13,114,4,0,0,0,114,130,0,0,0,218,6,114,101,109, 32,105,109,112,111,114,116,108,105,98,39,115,10,32,32,32,
111,118,101,218,6,101,120,116,101,110,100,114,189,0,0,0, 32,105,109,112,111,114,116,32,105,109,112,108,101,109,101,110,
114,50,0,0,0,114,1,0,0,0,114,65,0,0,0,114, 116,97,116,105,111,110,32,105,115,32,100,101,115,105,114,101,
77,0,0,0,114,179,0,0,0,114,71,0,0,0,218,15, 100,46,10,10,32,32,32,32,114,131,0,0,0,250,1,42,
95,69,82,82,95,77,83,71,95,80,82,69,70,73,88,114, 218,7,95,95,97,108,108,95,95,122,5,123,125,46,123,125,
15,0,0,0,41,6,114,89,0,0,0,218,8,102,114,111, 78,41,13,114,4,0,0,0,114,130,0,0,0,218,6,114,
109,108,105,115,116,114,184,0,0,0,218,1,120,90,9,102, 101,109,111,118,101,218,6,101,120,116,101,110,100,114,189,0,
114,111,109,95,110,97,109,101,90,3,101,120,99,114,10,0, 0,0,114,50,0,0,0,114,1,0,0,0,114,65,0,0,
0,0,114,10,0,0,0,114,11,0,0,0,218,16,95,104, 0,114,77,0,0,0,114,179,0,0,0,114,71,0,0,0,
97,110,100,108,101,95,102,114,111,109,108,105,115,116,231,3, 218,15,95,69,82,82,95,77,83,71,95,80,82,69,70,73,
0,0,115,34,0,0,0,0,10,15,1,12,1,12,1,13, 88,114,15,0,0,0,41,6,114,89,0,0,0,218,8,102,
1,15,1,16,1,13,1,15,1,21,1,3,1,17,1,18, 114,111,109,108,105,115,116,114,184,0,0,0,218,1,120,90,
4,21,1,15,1,3,1,26,1,114,195,0,0,0,99,1, 9,102,114,111,109,95,110,97,109,101,90,3,101,120,99,114,
0,0,0,0,0,0,0,3,0,0,0,7,0,0,0,67, 10,0,0,0,114,10,0,0,0,114,11,0,0,0,218,16,
0,0,0,115,214,0,0,0,124,0,0,106,0,0,100,1, 95,104,97,110,100,108,101,95,102,114,111,109,108,105,115,116,
0,131,1,0,125,1,0,124,0,0,106,0,0,100,2,0, 238,3,0,0,115,34,0,0,0,0,10,15,1,12,1,12,
131,1,0,125,2,0,124,1,0,100,3,0,107,9,0,114, 1,13,1,15,1,16,1,13,1,15,1,21,1,3,1,17,
128,0,124,2,0,100,3,0,107,9,0,114,124,0,124,1, 1,18,4,21,1,15,1,3,1,26,1,114,195,0,0,0,
0,124,2,0,106,1,0,107,3,0,114,124,0,116,2,0, 99,1,0,0,0,0,0,0,0,3,0,0,0,7,0,0,
106,3,0,100,4,0,106,4,0,100,5,0,124,1,0,155, 0,67,0,0,0,115,214,0,0,0,124,0,0,106,0,0,
2,0,100,6,0,124,2,0,106,1,0,155,2,0,100,7, 100,1,0,131,1,0,125,1,0,124,0,0,106,0,0,100,
0,103,5,0,131,1,0,116,5,0,100,8,0,100,9,0, 2,0,131,1,0,125,2,0,124,1,0,100,3,0,107,9,
131,2,1,1,124,1,0,83,124,2,0,100,3,0,107,9, 0,114,128,0,124,2,0,100,3,0,107,9,0,114,124,0,
0,114,147,0,124,2,0,106,1,0,83,116,2,0,106,3, 124,1,0,124,2,0,106,1,0,107,3,0,114,124,0,116,
0,100,10,0,116,5,0,100,8,0,100,9,0,131,2,1, 2,0,106,3,0,100,4,0,106,4,0,100,5,0,124,1,
1,124,0,0,100,11,0,25,125,1,0,100,12,0,124,0, 0,155,2,0,100,6,0,124,2,0,106,1,0,155,2,0,
0,107,7,0,114,210,0,124,1,0,106,6,0,100,13,0, 100,7,0,103,5,0,131,1,0,116,5,0,100,8,0,100,
131,1,0,100,14,0,25,125,1,0,124,1,0,83,41,15, 9,0,131,2,1,1,124,1,0,83,124,2,0,100,3,0,
122,167,67,97,108,99,117,108,97,116,101,32,119,104,97,116, 107,9,0,114,147,0,124,2,0,106,1,0,83,116,2,0,
32,95,95,112,97,99,107,97,103,101,95,95,32,115,104,111, 106,3,0,100,10,0,116,5,0,100,8,0,100,9,0,131,
117,108,100,32,98,101,46,10,10,32,32,32,32,95,95,112, 2,1,1,124,0,0,100,11,0,25,125,1,0,100,12,0,
97,99,107,97,103,101,95,95,32,105,115,32,110,111,116,32, 124,0,0,107,7,0,114,210,0,124,1,0,106,6,0,100,
103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101, 13,0,131,1,0,100,14,0,25,125,1,0,124,1,0,83,
32,100,101,102,105,110,101,100,32,111,114,32,99,111,117,108, 41,15,122,167,67,97,108,99,117,108,97,116,101,32,119,104,
100,32,98,101,32,115,101,116,32,116,111,32,78,111,110,101, 97,116,32,95,95,112,97,99,107,97,103,101,95,95,32,115,
10,32,32,32,32,116,111,32,114,101,112,114,101,115,101,110, 104,111,117,108,100,32,98,101,46,10,10,32,32,32,32,95,
116,32,116,104,97,116,32,105,116,115,32,112,114,111,112,101, 95,112,97,99,107,97,103,101,95,95,32,105,115,32,110,111,
114,32,118,97,108,117,101,32,105,115,32,117,110,107,110,111, 116,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,
119,110,46,10,10,32,32,32,32,114,134,0,0,0,114,95, 98,101,32,100,101,102,105,110,101,100,32,111,114,32,99,111,
0,0,0,78,218,0,122,32,95,95,112,97,99,107,97,103, 117,108,100,32,98,101,32,115,101,116,32,116,111,32,78,111,
101,95,95,32,33,61,32,95,95,115,112,101,99,95,95,46, 110,101,10,32,32,32,32,116,111,32,114,101,112,114,101,115,
112,97,114,101,110,116,32,40,122,4,32,33,61,32,250,1, 101,110,116,32,116,104,97,116,32,105,116,115,32,112,114,111,
41,114,140,0,0,0,233,3,0,0,0,122,89,99,97,110, 112,101,114,32,118,97,108,117,101,32,105,115,32,117,110,107,
39,116,32,114,101,115,111,108,118,101,32,112,97,99,107,97, 110,111,119,110,46,10,10,32,32,32,32,114,134,0,0,0,
103,101,32,102,114,111,109,32,95,95,115,112,101,99,95,95, 114,95,0,0,0,78,218,0,122,32,95,95,112,97,99,107,
32,111,114,32,95,95,112,97,99,107,97,103,101,95,95,44, 97,103,101,95,95,32,33,61,32,95,95,115,112,101,99,95,
32,102,97,108,108,105,110,103,32,98,97,99,107,32,111,110, 95,46,112,97,114,101,110,116,32,40,122,4,32,33,61,32,
32,95,95,110,97,109,101,95,95,32,97,110,100,32,95,95, 250,1,41,114,140,0,0,0,233,3,0,0,0,122,89,99,
112,97,116,104,95,95,114,1,0,0,0,114,131,0,0,0, 97,110,39,116,32,114,101,115,111,108,118,101,32,112,97,99,
114,121,0,0,0,114,33,0,0,0,41,7,114,42,0,0, 107,97,103,101,32,102,114,111,109,32,95,95,115,112,101,99,
0,114,123,0,0,0,114,142,0,0,0,114,143,0,0,0, 95,95,32,111,114,32,95,95,112,97,99,107,97,103,101,95,
114,115,0,0,0,114,176,0,0,0,114,122,0,0,0,41, 95,44,32,102,97,108,108,105,110,103,32,98,97,99,107,32,
3,218,7,103,108,111,98,97,108,115,114,170,0,0,0,114, 111,110,32,95,95,110,97,109,101,95,95,32,97,110,100,32,
88,0,0,0,114,10,0,0,0,114,10,0,0,0,114,11, 95,95,112,97,116,104,95,95,114,1,0,0,0,114,131,0,
0,0,0,218,17,95,99,97,108,99,95,95,95,112,97,99, 0,0,114,121,0,0,0,114,33,0,0,0,41,7,114,42,
107,97,103,101,95,95,7,4,0,0,115,30,0,0,0,0, 0,0,0,114,123,0,0,0,114,142,0,0,0,114,143,0,
7,15,1,15,1,12,1,27,1,42,2,13,1,4,1,12, 0,0,114,115,0,0,0,114,176,0,0,0,114,122,0,0,
1,7,2,9,2,13,1,10,1,12,1,19,1,114,200,0, 0,41,3,218,7,103,108,111,98,97,108,115,114,170,0,0,
0,0,99,5,0,0,0,0,0,0,0,9,0,0,0,5, 0,114,88,0,0,0,114,10,0,0,0,114,10,0,0,0,
0,0,0,67,0,0,0,115,227,0,0,0,124,4,0,100, 114,11,0,0,0,218,17,95,99,97,108,99,95,95,95,112,
1,0,107,2,0,114,27,0,116,0,0,124,0,0,131,1, 97,99,107,97,103,101,95,95,14,4,0,0,115,30,0,0,
0,125,5,0,110,54,0,124,1,0,100,2,0,107,9,0, 0,0,7,15,1,15,1,12,1,27,1,42,2,13,1,4,
114,45,0,124,1,0,110,3,0,105,0,0,125,6,0,116, 1,12,1,7,2,9,2,13,1,10,1,12,1,19,1,114,
1,0,124,6,0,131,1,0,125,7,0,116,0,0,124,0, 200,0,0,0,99,5,0,0,0,0,0,0,0,9,0,0,
0,124,7,0,124,4,0,131,3,0,125,5,0,124,3,0, 0,5,0,0,0,67,0,0,0,115,227,0,0,0,124,4,
115,207,0,124,4,0,100,1,0,107,2,0,114,122,0,116, 0,100,1,0,107,2,0,114,27,0,116,0,0,124,0,0,
0,0,124,0,0,106,2,0,100,3,0,131,1,0,100,1, 131,1,0,125,5,0,110,54,0,124,1,0,100,2,0,107,
0,25,131,1,0,83,124,0,0,115,132,0,124,5,0,83, 9,0,114,45,0,124,1,0,110,3,0,105,0,0,125,6,
116,3,0,124,0,0,131,1,0,116,3,0,124,0,0,106, 0,116,1,0,124,6,0,131,1,0,125,7,0,116,0,0,
2,0,100,3,0,131,1,0,100,1,0,25,131,1,0,24, 124,0,0,124,7,0,124,4,0,131,3,0,125,5,0,124,
125,8,0,116,4,0,106,5,0,124,5,0,106,6,0,100, 3,0,115,207,0,124,4,0,100,1,0,107,2,0,114,122,
2,0,116,3,0,124,5,0,106,6,0,131,1,0,124,8, 0,116,0,0,124,0,0,106,2,0,100,3,0,131,1,0,
0,24,133,2,0,25,25,83,110,16,0,116,7,0,124,5, 100,1,0,25,131,1,0,83,124,0,0,115,132,0,124,5,
0,124,3,0,116,0,0,131,3,0,83,100,2,0,83,41, 0,83,116,3,0,124,0,0,131,1,0,116,3,0,124,0,
4,97,214,1,0,0,73,109,112,111,114,116,32,97,32,109, 0,106,2,0,100,3,0,131,1,0,100,1,0,25,131,1,
111,100,117,108,101,46,10,10,32,32,32,32,84,104,101,32, 0,24,125,8,0,116,4,0,106,5,0,124,5,0,106,6,
39,103,108,111,98,97,108,115,39,32,97,114,103,117,109,101, 0,100,2,0,116,3,0,124,5,0,106,6,0,131,1,0,
110,116,32,105,115,32,117,115,101,100,32,116,111,32,105,110, 124,8,0,24,133,2,0,25,25,83,110,16,0,116,7,0,
102,101,114,32,119,104,101,114,101,32,116,104,101,32,105,109, 124,5,0,124,3,0,116,0,0,131,3,0,83,100,2,0,
112,111,114,116,32,105,115,32,111,99,99,117,114,105,110,103, 83,41,4,97,214,1,0,0,73,109,112,111,114,116,32,97,
32,102,114,111,109,10,32,32,32,32,116,111,32,104,97,110, 32,109,111,100,117,108,101,46,10,10,32,32,32,32,84,104,
100,108,101,32,114,101,108,97,116,105,118,101,32,105,109,112, 101,32,39,103,108,111,98,97,108,115,39,32,97,114,103,117,
111,114,116,115,46,32,84,104,101,32,39,108,111,99,97,108, 109,101,110,116,32,105,115,32,117,115,101,100,32,116,111,32,
115,39,32,97,114,103,117,109,101,110,116,32,105,115,32,105, 105,110,102,101,114,32,119,104,101,114,101,32,116,104,101,32,
103,110,111,114,101,100,46,32,84,104,101,10,32,32,32,32, 105,109,112,111,114,116,32,105,115,32,111,99,99,117,114,105,
39,102,114,111,109,108,105,115,116,39,32,97,114,103,117,109, 110,103,32,102,114,111,109,10,32,32,32,32,116,111,32,104,
101,110,116,32,115,112,101,99,105,102,105,101,115,32,119,104, 97,110,100,108,101,32,114,101,108,97,116,105,118,101,32,105,
97,116,32,115,104,111,117,108,100,32,101,120,105,115,116,32, 109,112,111,114,116,115,46,32,84,104,101,32,39,108,111,99,
97,115,32,97,116,116,114,105,98,117,116,101,115,32,111,110, 97,108,115,39,32,97,114,103,117,109,101,110,116,32,105,115,
32,116,104,101,32,109,111,100,117,108,101,10,32,32,32,32, 32,105,103,110,111,114,101,100,46,32,84,104,101,10,32,32,
98,101,105,110,103,32,105,109,112,111,114,116,101,100,32,40, 32,32,39,102,114,111,109,108,105,115,116,39,32,97,114,103,
101,46,103,46,32,96,96,102,114,111,109,32,109,111,100,117, 117,109,101,110,116,32,115,112,101,99,105,102,105,101,115,32,
108,101,32,105,109,112,111,114,116,32,60,102,114,111,109,108, 119,104,97,116,32,115,104,111,117,108,100,32,101,120,105,115,
105,115,116,62,96,96,41,46,32,32,84,104,101,32,39,108, 116,32,97,115,32,97,116,116,114,105,98,117,116,101,115,32,
101,118,101,108,39,10,32,32,32,32,97,114,103,117,109,101, 111,110,32,116,104,101,32,109,111,100,117,108,101,10,32,32,
110,116,32,114,101,112,114,101,115,101,110,116,115,32,116,104, 32,32,98,101,105,110,103,32,105,109,112,111,114,116,101,100,
101,32,112,97,99,107,97,103,101,32,108,111,99,97,116,105, 32,40,101,46,103,46,32,96,96,102,114,111,109,32,109,111,
111,110,32,116,111,32,105,109,112,111,114,116,32,102,114,111, 100,117,108,101,32,105,109,112,111,114,116,32,60,102,114,111,
109,32,105,110,32,97,32,114,101,108,97,116,105,118,101,10, 109,108,105,115,116,62,96,96,41,46,32,32,84,104,101,32,
32,32,32,32,105,109,112,111,114,116,32,40,101,46,103,46, 39,108,101,118,101,108,39,10,32,32,32,32,97,114,103,117,
32,96,96,102,114,111,109,32,46,46,112,107,103,32,105,109, 109,101,110,116,32,114,101,112,114,101,115,101,110,116,115,32,
112,111,114,116,32,109,111,100,96,96,32,119,111,117,108,100, 116,104,101,32,112,97,99,107,97,103,101,32,108,111,99,97,
32,104,97,118,101,32,97,32,39,108,101,118,101,108,39,32, 116,105,111,110,32,116,111,32,105,109,112,111,114,116,32,102,
111,102,32,50,41,46,10,10,32,32,32,32,114,33,0,0, 114,111,109,32,105,110,32,97,32,114,101,108,97,116,105,118,
0,78,114,121,0,0,0,41,8,114,187,0,0,0,114,200, 101,10,32,32,32,32,105,109,112,111,114,116,32,40,101,46,
0,0,0,218,9,112,97,114,116,105,116,105,111,110,114,168, 103,46,32,96,96,102,114,111,109,32,46,46,112,107,103,32,
0,0,0,114,14,0,0,0,114,21,0,0,0,114,1,0, 105,109,112,111,114,116,32,109,111,100,96,96,32,119,111,117,
0,0,114,195,0,0,0,41,9,114,15,0,0,0,114,199, 108,100,32,104,97,118,101,32,97,32,39,108,101,118,101,108,
0,0,0,218,6,108,111,99,97,108,115,114,193,0,0,0, 39,32,111,102,32,50,41,46,10,10,32,32,32,32,114,33,
114,171,0,0,0,114,89,0,0,0,90,8,103,108,111,98, 0,0,0,78,114,121,0,0,0,41,8,114,187,0,0,0,
97,108,115,95,114,170,0,0,0,90,7,99,117,116,95,111, 114,200,0,0,0,218,9,112,97,114,116,105,116,105,111,110,
102,102,114,10,0,0,0,114,10,0,0,0,114,11,0,0, 114,168,0,0,0,114,14,0,0,0,114,21,0,0,0,114,
0,218,10,95,95,105,109,112,111,114,116,95,95,34,4,0, 1,0,0,0,114,195,0,0,0,41,9,114,15,0,0,0,
0,115,26,0,0,0,0,11,12,1,15,2,24,1,12,1, 114,199,0,0,0,218,6,108,111,99,97,108,115,114,193,0,
18,1,6,3,12,1,23,1,6,1,4,4,35,3,40,2, 0,0,114,171,0,0,0,114,89,0,0,0,90,8,103,108,
114,203,0,0,0,99,1,0,0,0,0,0,0,0,2,0, 111,98,97,108,115,95,114,170,0,0,0,90,7,99,117,116,
0,0,3,0,0,0,67,0,0,0,115,53,0,0,0,116, 95,111,102,102,114,10,0,0,0,114,10,0,0,0,114,11,
0,0,106,1,0,124,0,0,131,1,0,125,1,0,124,1, 0,0,0,218,10,95,95,105,109,112,111,114,116,95,95,41,
0,100,0,0,107,8,0,114,43,0,116,2,0,100,1,0, 4,0,0,115,26,0,0,0,0,11,12,1,15,2,24,1,
124,0,0,23,131,1,0,130,1,0,116,3,0,124,1,0, 12,1,18,1,6,3,12,1,23,1,6,1,4,4,35,3,
131,1,0,83,41,2,78,122,25,110,111,32,98,117,105,108, 40,2,114,203,0,0,0,99,1,0,0,0,0,0,0,0,
116,45,105,110,32,109,111,100,117,108,101,32,110,97,109,101, 2,0,0,0,3,0,0,0,67,0,0,0,115,53,0,0,
100,32,41,4,114,151,0,0,0,114,155,0,0,0,114,77, 0,116,0,0,106,1,0,124,0,0,131,1,0,125,1,0,
0,0,0,114,150,0,0,0,41,2,114,15,0,0,0,114, 124,1,0,100,0,0,107,8,0,114,43,0,116,2,0,100,
88,0,0,0,114,10,0,0,0,114,10,0,0,0,114,11, 1,0,124,0,0,23,131,1,0,130,1,0,116,3,0,124,
0,0,0,218,18,95,98,117,105,108,116,105,110,95,102,114, 1,0,131,1,0,83,41,2,78,122,25,110,111,32,98,117,
111,109,95,110,97,109,101,69,4,0,0,115,8,0,0,0, 105,108,116,45,105,110,32,109,111,100,117,108,101,32,110,97,
0,1,15,1,12,1,16,1,114,204,0,0,0,99,2,0, 109,101,100,32,41,4,114,151,0,0,0,114,155,0,0,0,
0,0,0,0,0,0,12,0,0,0,12,0,0,0,67,0, 114,77,0,0,0,114,150,0,0,0,41,2,114,15,0,0,
0,0,115,74,1,0,0,124,1,0,97,0,0,124,0,0, 0,114,88,0,0,0,114,10,0,0,0,114,10,0,0,0,
97,1,0,116,2,0,116,1,0,131,1,0,125,2,0,120, 114,11,0,0,0,218,18,95,98,117,105,108,116,105,110,95,
123,0,116,1,0,106,3,0,106,4,0,131,0,0,68,93, 102,114,111,109,95,110,97,109,101,76,4,0,0,115,8,0,
106,0,92,2,0,125,3,0,125,4,0,116,5,0,124,4, 0,0,0,1,15,1,12,1,16,1,114,204,0,0,0,99,
0,124,2,0,131,2,0,114,40,0,124,3,0,116,1,0, 2,0,0,0,0,0,0,0,12,0,0,0,12,0,0,0,
106,6,0,107,6,0,114,91,0,116,7,0,125,5,0,110, 67,0,0,0,115,74,1,0,0,124,1,0,97,0,0,124,
27,0,116,0,0,106,8,0,124,3,0,131,1,0,114,40, 0,0,97,1,0,116,2,0,116,1,0,131,1,0,125,2,
0,116,9,0,125,5,0,110,3,0,113,40,0,116,10,0, 0,120,123,0,116,1,0,106,3,0,106,4,0,131,0,0,
124,4,0,124,5,0,131,2,0,125,6,0,116,11,0,124, 68,93,106,0,92,2,0,125,3,0,125,4,0,116,5,0,
6,0,124,4,0,131,2,0,1,113,40,0,87,116,1,0, 124,4,0,124,2,0,131,2,0,114,40,0,124,3,0,116,
106,3,0,116,12,0,25,125,7,0,120,73,0,100,5,0, 1,0,106,6,0,107,6,0,114,91,0,116,7,0,125,5,
68,93,65,0,125,8,0,124,8,0,116,1,0,106,3,0, 0,110,27,0,116,0,0,106,8,0,124,3,0,131,1,0,
107,7,0,114,206,0,116,13,0,124,8,0,131,1,0,125, 114,40,0,116,9,0,125,5,0,110,3,0,113,40,0,116,
9,0,110,13,0,116,1,0,106,3,0,124,8,0,25,125, 10,0,124,4,0,124,5,0,131,2,0,125,6,0,116,11,
9,0,116,14,0,124,7,0,124,8,0,124,9,0,131,3, 0,124,6,0,124,4,0,131,2,0,1,113,40,0,87,116,
0,1,113,170,0,87,121,16,0,116,13,0,100,2,0,131, 1,0,106,3,0,116,12,0,25,125,7,0,120,73,0,100,
1,0,125,10,0,87,110,24,0,4,116,15,0,107,10,0, 5,0,68,93,65,0,125,8,0,124,8,0,116,1,0,106,
114,25,1,1,1,1,100,3,0,125,10,0,89,110,1,0, 3,0,107,7,0,114,206,0,116,13,0,124,8,0,131,1,
88,116,14,0,124,7,0,100,2,0,124,10,0,131,3,0, 0,125,9,0,110,13,0,116,1,0,106,3,0,124,8,0,
1,116,13,0,100,4,0,131,1,0,125,11,0,116,14,0, 25,125,9,0,116,14,0,124,7,0,124,8,0,124,9,0,
124,7,0,100,4,0,124,11,0,131,3,0,1,100,3,0, 131,3,0,1,113,170,0,87,121,16,0,116,13,0,100,2,
83,41,6,122,250,83,101,116,117,112,32,105,109,112,111,114, 0,131,1,0,125,10,0,87,110,24,0,4,116,15,0,107,
116,108,105,98,32,98,121,32,105,109,112,111,114,116,105,110, 10,0,114,25,1,1,1,1,100,3,0,125,10,0,89,110,
103,32,110,101,101,100,101,100,32,98,117,105,108,116,45,105, 1,0,88,116,14,0,124,7,0,100,2,0,124,10,0,131,
110,32,109,111,100,117,108,101,115,32,97,110,100,32,105,110, 3,0,1,116,13,0,100,4,0,131,1,0,125,11,0,116,
106,101,99,116,105,110,103,32,116,104,101,109,10,32,32,32, 14,0,124,7,0,100,4,0,124,11,0,131,3,0,1,100,
32,105,110,116,111,32,116,104,101,32,103,108,111,98,97,108, 3,0,83,41,6,122,250,83,101,116,117,112,32,105,109,112,
32,110,97,109,101,115,112,97,99,101,46,10,10,32,32,32, 111,114,116,108,105,98,32,98,121,32,105,109,112,111,114,116,
32,65,115,32,115,121,115,32,105,115,32,110,101,101,100,101, 105,110,103,32,110,101,101,100,101,100,32,98,117,105,108,116,
100,32,102,111,114,32,115,121,115,46,109,111,100,117,108,101, 45,105,110,32,109,111,100,117,108,101,115,32,97,110,100,32,
115,32,97,99,99,101,115,115,32,97,110,100,32,95,105,109, 105,110,106,101,99,116,105,110,103,32,116,104,101,109,10,32,
112,32,105,115,32,110,101,101,100,101,100,32,116,111,32,108, 32,32,32,105,110,116,111,32,116,104,101,32,103,108,111,98,
111,97,100,32,98,117,105,108,116,45,105,110,10,32,32,32, 97,108,32,110,97,109,101,115,112,97,99,101,46,10,10,32,
32,109,111,100,117,108,101,115,44,32,116,104,111,115,101,32, 32,32,32,65,115,32,115,121,115,32,105,115,32,110,101,101,
116,119,111,32,109,111,100,117,108,101,115,32,109,117,115,116, 100,101,100,32,102,111,114,32,115,121,115,46,109,111,100,117,
32,98,101,32,101,120,112,108,105,99,105,116,108,121,32,112, 108,101,115,32,97,99,99,101,115,115,32,97,110,100,32,95,
97,115,115,101,100,32,105,110,46,10,10,32,32,32,32,114, 105,109,112,32,105,115,32,110,101,101,100,101,100,32,116,111,
142,0,0,0,114,34,0,0,0,78,114,62,0,0,0,41, 32,108,111,97,100,32,98,117,105,108,116,45,105,110,10,32,
1,122,9,95,119,97,114,110,105,110,103,115,41,16,114,57, 32,32,32,109,111,100,117,108,101,115,44,32,116,104,111,115,
0,0,0,114,14,0,0,0,114,13,0,0,0,114,21,0, 101,32,116,119,111,32,109,111,100,117,108,101,115,32,109,117,
0,0,218,5,105,116,101,109,115,114,178,0,0,0,114,76, 115,116,32,98,101,32,101,120,112,108,105,99,105,116,108,121,
0,0,0,114,151,0,0,0,114,82,0,0,0,114,161,0, 32,112,97,115,115,101,100,32,105,110,46,10,10,32,32,32,
0,0,114,132,0,0,0,114,137,0,0,0,114,1,0,0, 32,114,142,0,0,0,114,34,0,0,0,78,114,62,0,0,
0,114,204,0,0,0,114,5,0,0,0,114,77,0,0,0, 0,41,1,122,9,95,119,97,114,110,105,110,103,115,41,16,
41,12,218,10,115,121,115,95,109,111,100,117,108,101,218,11, 114,57,0,0,0,114,14,0,0,0,114,13,0,0,0,114,
95,105,109,112,95,109,111,100,117,108,101,90,11,109,111,100, 21,0,0,0,218,5,105,116,101,109,115,114,178,0,0,0,
117,108,101,95,116,121,112,101,114,15,0,0,0,114,89,0, 114,76,0,0,0,114,151,0,0,0,114,82,0,0,0,114,
0,0,114,99,0,0,0,114,88,0,0,0,90,11,115,101, 161,0,0,0,114,132,0,0,0,114,137,0,0,0,114,1,
108,102,95,109,111,100,117,108,101,90,12,98,117,105,108,116, 0,0,0,114,204,0,0,0,114,5,0,0,0,114,77,0,
105,110,95,110,97,109,101,90,14,98,117,105,108,116,105,110, 0,0,41,12,218,10,115,121,115,95,109,111,100,117,108,101,
95,109,111,100,117,108,101,90,13,116,104,114,101,97,100,95, 218,11,95,105,109,112,95,109,111,100,117,108,101,90,11,109,
109,111,100,117,108,101,90,14,119,101,97,107,114,101,102,95, 111,100,117,108,101,95,116,121,112,101,114,15,0,0,0,114,
109,111,100,117,108,101,114,10,0,0,0,114,10,0,0,0, 89,0,0,0,114,99,0,0,0,114,88,0,0,0,90,11,
114,11,0,0,0,218,6,95,115,101,116,117,112,76,4,0, 115,101,108,102,95,109,111,100,117,108,101,90,12,98,117,105,
0,115,50,0,0,0,0,9,6,1,6,3,12,1,28,1, 108,116,105,110,95,110,97,109,101,90,14,98,117,105,108,116,
15,1,15,1,9,1,15,1,9,2,3,1,15,1,17,3, 105,110,95,109,111,100,117,108,101,90,13,116,104,114,101,97,
13,1,13,1,15,1,15,2,13,1,20,3,3,1,16,1, 100,95,109,111,100,117,108,101,90,14,119,101,97,107,114,101,
13,2,11,1,16,3,12,1,114,208,0,0,0,99,2,0, 102,95,109,111,100,117,108,101,114,10,0,0,0,114,10,0,
0,0,0,0,0,0,3,0,0,0,3,0,0,0,67,0, 0,0,114,11,0,0,0,218,6,95,115,101,116,117,112,83,
0,0,115,87,0,0,0,116,0,0,124,0,0,124,1,0, 4,0,0,115,50,0,0,0,0,9,6,1,6,3,12,1,
131,2,0,1,116,1,0,106,2,0,106,3,0,116,4,0, 28,1,15,1,15,1,9,1,15,1,9,2,3,1,15,1,
131,1,0,1,116,1,0,106,2,0,106,3,0,116,5,0, 17,3,13,1,13,1,15,1,15,2,13,1,20,3,3,1,
131,1,0,1,100,1,0,100,2,0,108,6,0,125,2,0, 16,1,13,2,11,1,16,3,12,1,114,208,0,0,0,99,
124,2,0,97,7,0,124,2,0,106,8,0,116,1,0,106, 2,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,
9,0,116,10,0,25,131,1,0,1,100,2,0,83,41,3, 67,0,0,0,115,87,0,0,0,116,0,0,124,0,0,124,
122,50,73,110,115,116,97,108,108,32,105,109,112,111,114,116, 1,0,131,2,0,1,116,1,0,106,2,0,106,3,0,116,
108,105,98,32,97,115,32,116,104,101,32,105,109,112,108,101, 4,0,131,1,0,1,116,1,0,106,2,0,106,3,0,116,
109,101,110,116,97,116,105,111,110,32,111,102,32,105,109,112, 5,0,131,1,0,1,100,1,0,100,2,0,108,6,0,125,
111,114,116,46,114,33,0,0,0,78,41,11,114,208,0,0, 2,0,124,2,0,97,7,0,124,2,0,106,8,0,116,1,
0,114,14,0,0,0,114,175,0,0,0,114,113,0,0,0, 0,106,9,0,116,10,0,25,131,1,0,1,100,2,0,83,
114,151,0,0,0,114,161,0,0,0,218,26,95,102,114,111, 41,3,122,50,73,110,115,116,97,108,108,32,105,109,112,111,
122,101,110,95,105,109,112,111,114,116,108,105,98,95,101,120, 114,116,108,105,98,32,97,115,32,116,104,101,32,105,109,112,
116,101,114,110,97,108,114,119,0,0,0,218,8,95,105,110, 108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,105,
115,116,97,108,108,114,21,0,0,0,114,1,0,0,0,41, 109,112,111,114,116,46,114,33,0,0,0,78,41,11,114,208,
3,114,206,0,0,0,114,207,0,0,0,114,209,0,0,0, 0,0,0,114,14,0,0,0,114,175,0,0,0,114,113,0,
114,10,0,0,0,114,10,0,0,0,114,11,0,0,0,114, 0,0,114,151,0,0,0,114,161,0,0,0,218,26,95,102,
210,0,0,0,123,4,0,0,115,12,0,0,0,0,2,13, 114,111,122,101,110,95,105,109,112,111,114,116,108,105,98,95,
2,16,1,16,3,12,1,6,1,114,210,0,0,0,41,51, 101,120,116,101,114,110,97,108,114,119,0,0,0,218,8,95,
114,3,0,0,0,114,119,0,0,0,114,12,0,0,0,114, 105,110,115,116,97,108,108,114,21,0,0,0,114,1,0,0,
16,0,0,0,114,17,0,0,0,114,59,0,0,0,114,41, 0,41,3,114,206,0,0,0,114,207,0,0,0,114,209,0,
0,0,0,114,48,0,0,0,114,31,0,0,0,114,32,0, 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0,
0,0,114,53,0,0,0,114,54,0,0,0,114,56,0,0, 0,114,210,0,0,0,130,4,0,0,115,12,0,0,0,0,
0,114,63,0,0,0,114,65,0,0,0,114,75,0,0,0, 2,13,2,16,1,16,3,12,1,6,1,114,210,0,0,0,
114,81,0,0,0,114,84,0,0,0,114,90,0,0,0,114, 41,51,114,3,0,0,0,114,119,0,0,0,114,12,0,0,
101,0,0,0,114,102,0,0,0,114,106,0,0,0,114,85, 0,114,16,0,0,0,114,17,0,0,0,114,59,0,0,0,
0,0,0,218,6,111,98,106,101,99,116,90,9,95,80,79, 114,41,0,0,0,114,48,0,0,0,114,31,0,0,0,114,
80,85,76,65,84,69,114,132,0,0,0,114,137,0,0,0, 32,0,0,0,114,53,0,0,0,114,54,0,0,0,114,56,
114,145,0,0,0,114,97,0,0,0,114,86,0,0,0,114, 0,0,0,114,63,0,0,0,114,65,0,0,0,114,75,0,
149,0,0,0,114,150,0,0,0,114,87,0,0,0,114,151, 0,0,114,81,0,0,0,114,84,0,0,0,114,90,0,0,
0,0,0,114,161,0,0,0,114,166,0,0,0,114,172,0, 0,114,101,0,0,0,114,102,0,0,0,114,106,0,0,0,
0,0,114,174,0,0,0,114,177,0,0,0,114,182,0,0, 114,85,0,0,0,218,6,111,98,106,101,99,116,90,9,95,
0,114,192,0,0,0,114,183,0,0,0,114,185,0,0,0, 80,79,80,85,76,65,84,69,114,132,0,0,0,114,137,0,
114,186,0,0,0,114,187,0,0,0,114,195,0,0,0,114, 0,0,114,145,0,0,0,114,97,0,0,0,114,86,0,0,
200,0,0,0,114,203,0,0,0,114,204,0,0,0,114,208, 0,114,149,0,0,0,114,150,0,0,0,114,87,0,0,0,
0,0,0,114,210,0,0,0,114,10,0,0,0,114,10,0, 114,151,0,0,0,114,161,0,0,0,114,166,0,0,0,114,
0,0,114,10,0,0,0,114,11,0,0,0,218,8,60,109, 172,0,0,0,114,174,0,0,0,114,177,0,0,0,114,182,
111,100,117,108,101,62,8,0,0,0,115,96,0,0,0,6, 0,0,0,114,192,0,0,0,114,183,0,0,0,114,185,0,
17,6,2,12,8,12,4,19,20,6,2,6,3,22,4,19, 0,0,114,186,0,0,0,114,187,0,0,0,114,195,0,0,
68,19,21,19,19,12,19,12,19,12,11,18,8,12,11,12, 0,114,200,0,0,0,114,203,0,0,0,114,204,0,0,0,
12,12,16,12,36,19,27,19,101,24,26,9,3,18,45,18, 114,208,0,0,0,114,210,0,0,0,114,10,0,0,0,114,
60,12,18,12,17,12,25,12,29,12,23,12,16,19,73,19, 10,0,0,0,114,10,0,0,0,114,11,0,0,0,218,8,
77,19,13,12,9,12,9,15,40,12,20,6,1,10,2,12, 60,109,111,100,117,108,101,62,8,0,0,0,115,96,0,0,
27,12,6,18,24,12,32,12,27,24,35,12,7,12,47, 0,6,17,6,2,12,8,12,4,19,20,6,2,6,3,22,
4,19,68,19,21,19,19,12,19,12,19,12,11,18,8,12,
11,12,12,12,16,12,36,19,27,19,101,24,26,9,3,18,
45,18,60,12,18,12,17,12,25,12,29,12,23,12,16,19,
73,19,77,19,13,12,9,12,9,15,47,12,20,6,1,10,
2,12,27,12,6,18,24,12,32,12,27,24,35,12,7,12,
47,
}; };