summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrett Cannon <brett@python.org>2013-02-01 20:31:49 (GMT)
committerBrett Cannon <brett@python.org>2013-02-01 20:31:49 (GMT)
commitda9cf0eef8c9cb338ad71330345423c9de2e0a01 (patch)
tree6308525f9a2e565f482746c6b399e808773bef73
parente7387b470876e6f3a2f4b45ed47a7a061c9fdc99 (diff)
downloadcpython-da9cf0eef8c9cb338ad71330345423c9de2e0a01.zip
cpython-da9cf0eef8c9cb338ad71330345423c9de2e0a01.tar.gz
cpython-da9cf0eef8c9cb338ad71330345423c9de2e0a01.tar.bz2
Issue #17098: Be more stringent of setting __loader__ on early imported
modules. Also made test more rigorous.
-rw-r--r--Lib/importlib/_bootstrap.py7
-rw-r--r--Lib/test/test_importlib/test_api.py6
-rw-r--r--Python/importlib.h591
3 files changed, 310 insertions, 294 deletions
diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
index 320ec64..15fe156 100644
--- a/Lib/importlib/_bootstrap.py
+++ b/Lib/importlib/_bootstrap.py
@@ -1704,10 +1704,13 @@ def _setup(sys_module, _imp_module):
BYTECODE_SUFFIXES = DEBUG_BYTECODE_SUFFIXES
module_type = type(sys)
- for module in sys.modules.values():
+ for name, module in sys.modules.items():
if isinstance(module, module_type):
if not hasattr(module, '__loader__'):
- module.__loader__ = BuiltinImporter
+ if name in sys.builtin_module_names:
+ module.__loader__ = BuiltinImporter
+ elif _imp.is_frozen(name):
+ module.__loader__ = FrozenImporter
self_module = sys.modules[__name__]
for builtin_name in ('_io', '_warnings', 'builtins', 'marshal'):
diff --git a/Lib/test/test_importlib/test_api.py b/Lib/test/test_importlib/test_api.py
index 3c3ba89..5d63d85 100644
--- a/Lib/test/test_importlib/test_api.py
+++ b/Lib/test/test_importlib/test_api.py
@@ -184,6 +184,12 @@ class StartupTests(unittest.TestCase):
if isinstance(module, types.ModuleType):
self.assertTrue(hasattr(module, '__loader__'),
'{!r} lacks a __loader__ attribute'.format(name))
+ if name in sys.builtin_module_names:
+ self.assertEqual(importlib.machinery.BuiltinImporter,
+ module.__loader__)
+ elif imp.is_frozen(name):
+ self.assertEqual(importlib.machinery.FrozenImporter,
+ module.__loader__)
def test_main():
from test.support import run_unittest
diff --git a/Python/importlib.h b/Python/importlib.h
index b8d4632..83d7937 100644
--- a/Python/importlib.h
+++ b/Python/importlib.h
@@ -4119,299 +4119,306 @@ unsigned char _Py_M__importlib[] = {
0,11,12,1,15,2,24,1,12,1,18,1,6,3,12,1,
23,1,6,1,4,4,35,3,40,2,117,10,0,0,0,95,
95,105,109,112,111,114,116,95,95,99,2,0,0,0,0,0,
- 0,0,15,0,0,0,13,0,0,0,67,0,0,0,115,229,
- 2,0,0,124,1,0,97,0,0,124,0,0,97,1,0,116,
+ 0,0,16,0,0,0,13,0,0,0,67,0,0,0,115,24,
+ 3,0,0,124,1,0,97,0,0,124,0,0,97,1,0,116,
1,0,106,2,0,106,3,0,114,33,0,116,4,0,97,5,
0,110,6,0,116,6,0,97,5,0,116,7,0,116,1,0,
- 131,1,0,125,2,0,120,68,0,116,1,0,106,8,0,106,
- 9,0,131,0,0,68,93,51,0,125,3,0,116,10,0,124,
- 3,0,124,2,0,131,2,0,114,67,0,116,11,0,124,3,
- 0,100,1,0,131,2,0,115,118,0,116,12,0,124,3,0,
- 95,13,0,113,118,0,113,67,0,113,67,0,87,116,1,0,
- 106,8,0,116,14,0,25,125,4,0,120,76,0,100,28,0,
- 68,93,68,0,125,5,0,124,5,0,116,1,0,106,8,0,
- 107,7,0,114,181,0,116,12,0,106,15,0,124,5,0,131,
- 1,0,125,6,0,110,13,0,116,1,0,106,8,0,124,5,
- 0,25,125,6,0,116,16,0,124,4,0,124,5,0,124,6,
- 0,131,3,0,1,113,142,0,87,100,6,0,100,7,0,103,
- 1,0,102,2,0,100,8,0,100,9,0,100,7,0,103,2,
- 0,102,2,0,100,10,0,100,9,0,100,7,0,103,2,0,
- 102,2,0,102,3,0,125,7,0,120,189,0,124,7,0,68,
- 93,169,0,92,2,0,125,8,0,125,9,0,116,17,0,100,
- 11,0,100,12,0,132,0,0,124,9,0,68,131,1,0,131,
- 1,0,115,56,1,116,18,0,130,1,0,124,9,0,100,13,
- 0,25,125,10,0,124,8,0,116,1,0,106,8,0,107,6,
- 0,114,98,1,116,1,0,106,8,0,124,8,0,25,125,11,
- 0,80,113,13,1,121,60,0,116,12,0,106,15,0,124,8,
- 0,131,1,0,125,11,0,124,8,0,100,10,0,107,2,0,
- 114,156,1,100,14,0,116,1,0,106,19,0,107,6,0,114,
- 156,1,124,9,0,100,15,0,25,125,10,0,110,0,0,80,
- 87,113,13,1,4,116,20,0,107,10,0,114,181,1,1,1,
- 1,119,13,1,89,113,13,1,88,113,13,1,87,116,20,0,
- 100,16,0,131,1,0,130,1,0,121,19,0,116,12,0,106,
- 15,0,100,17,0,131,1,0,125,12,0,87,110,24,0,4,
- 116,20,0,107,10,0,114,243,1,1,1,1,100,27,0,125,
- 12,0,89,110,1,0,88,116,12,0,106,15,0,100,18,0,
- 131,1,0,125,13,0,124,8,0,100,8,0,107,2,0,114,
- 49,2,116,12,0,106,15,0,100,19,0,131,1,0,125,14,
- 0,116,16,0,124,4,0,100,20,0,124,14,0,131,3,0,
- 1,110,0,0,116,16,0,124,4,0,100,21,0,124,11,0,
- 131,3,0,1,116,16,0,124,4,0,100,17,0,124,12,0,
- 131,3,0,1,116,16,0,124,4,0,100,18,0,124,13,0,
- 131,3,0,1,116,16,0,124,4,0,100,22,0,124,10,0,
- 131,3,0,1,116,16,0,124,4,0,100,23,0,116,22,0,
- 124,9,0,131,1,0,131,3,0,1,116,16,0,124,4,0,
- 100,24,0,116,23,0,131,0,0,131,3,0,1,116,24,0,
- 106,25,0,116,0,0,106,26,0,131,0,0,131,1,0,1,
- 124,8,0,100,8,0,107,2,0,114,225,2,116,27,0,106,
- 28,0,100,25,0,131,1,0,1,100,26,0,116,24,0,107,
- 6,0,114,225,2,100,29,0,116,30,0,95,31,0,113,225,
- 2,110,0,0,100,27,0,83,40,30,0,0,0,117,250,0,
- 0,0,83,101,116,117,112,32,105,109,112,111,114,116,108,105,
- 98,32,98,121,32,105,109,112,111,114,116,105,110,103,32,110,
- 101,101,100,101,100,32,98,117,105,108,116,45,105,110,32,109,
- 111,100,117,108,101,115,32,97,110,100,32,105,110,106,101,99,
- 116,105,110,103,32,116,104,101,109,10,32,32,32,32,105,110,
- 116,111,32,116,104,101,32,103,108,111,98,97,108,32,110,97,
- 109,101,115,112,97,99,101,46,10,10,32,32,32,32,65,115,
- 32,115,121,115,32,105,115,32,110,101,101,100,101,100,32,102,
- 111,114,32,115,121,115,46,109,111,100,117,108,101,115,32,97,
- 99,99,101,115,115,32,97,110,100,32,95,105,109,112,32,105,
- 115,32,110,101,101,100,101,100,32,116,111,32,108,111,97,100,
- 32,98,117,105,108,116,45,105,110,10,32,32,32,32,109,111,
- 100,117,108,101,115,44,32,116,104,111,115,101,32,116,119,111,
- 32,109,111,100,117,108,101,115,32,109,117,115,116,32,98,101,
- 32,101,120,112,108,105,99,105,116,108,121,32,112,97,115,115,
- 101,100,32,105,110,46,10,10,32,32,32,32,117,10,0,0,
- 0,95,95,108,111,97,100,101,114,95,95,117,3,0,0,0,
- 95,105,111,117,9,0,0,0,95,119,97,114,110,105,110,103,
- 115,117,8,0,0,0,98,117,105,108,116,105,110,115,117,7,
- 0,0,0,109,97,114,115,104,97,108,117,5,0,0,0,112,
- 111,115,105,120,117,1,0,0,0,47,117,2,0,0,0,110,
- 116,117,1,0,0,0,92,117,3,0,0,0,111,115,50,99,
- 1,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,
- 115,0,0,0,115,33,0,0,0,124,0,0,93,23,0,125,
- 1,0,116,0,0,124,1,0,131,1,0,100,0,0,107,2,
- 0,86,1,113,3,0,100,1,0,83,40,2,0,0,0,105,
- 1,0,0,0,78,40,1,0,0,0,117,3,0,0,0,108,
- 101,110,40,2,0,0,0,117,2,0,0,0,46,48,117,3,
- 0,0,0,115,101,112,40,0,0,0,0,40,0,0,0,0,
- 117,29,0,0,0,60,102,114,111,122,101,110,32,105,109,112,
- 111,114,116,108,105,98,46,95,98,111,111,116,115,116,114,97,
- 112,62,117,9,0,0,0,60,103,101,110,101,120,112,114,62,
- 187,6,0,0,115,2,0,0,0,6,0,117,25,0,0,0,
- 95,115,101,116,117,112,46,60,108,111,99,97,108,115,62,46,
- 60,103,101,110,101,120,112,114,62,105,0,0,0,0,117,7,
- 0,0,0,69,77,88,32,71,67,67,105,1,0,0,0,117,
- 30,0,0,0,105,109,112,111,114,116,108,105,98,32,114,101,
- 113,117,105,114,101,115,32,112,111,115,105,120,32,111,114,32,
- 110,116,117,7,0,0,0,95,116,104,114,101,97,100,117,8,
- 0,0,0,95,119,101,97,107,114,101,102,117,6,0,0,0,
- 119,105,110,114,101,103,117,7,0,0,0,95,119,105,110,114,
- 101,103,117,3,0,0,0,95,111,115,117,8,0,0,0,112,
- 97,116,104,95,115,101,112,117,15,0,0,0,112,97,116,104,
- 95,115,101,112,97,114,97,116,111,114,115,117,11,0,0,0,
- 95,114,101,108,97,120,95,99,97,115,101,117,4,0,0,0,
- 46,112,121,119,117,6,0,0,0,95,100,46,112,121,100,78,
- 40,4,0,0,0,117,3,0,0,0,95,105,111,117,9,0,
- 0,0,95,119,97,114,110,105,110,103,115,117,8,0,0,0,
- 98,117,105,108,116,105,110,115,117,7,0,0,0,109,97,114,
- 115,104,97,108,84,40,32,0,0,0,117,4,0,0,0,95,
- 105,109,112,117,3,0,0,0,115,121,115,117,5,0,0,0,
- 102,108,97,103,115,117,8,0,0,0,111,112,116,105,109,105,
- 122,101,117,27,0,0,0,79,80,84,73,77,73,90,69,68,
- 95,66,89,84,69,67,79,68,69,95,83,85,70,70,73,88,
- 69,83,117,17,0,0,0,66,89,84,69,67,79,68,69,95,
- 83,85,70,70,73,88,69,83,117,23,0,0,0,68,69,66,
- 85,71,95,66,89,84,69,67,79,68,69,95,83,85,70,70,
- 73,88,69,83,117,4,0,0,0,116,121,112,101,117,7,0,
- 0,0,109,111,100,117,108,101,115,117,6,0,0,0,118,97,
- 108,117,101,115,117,10,0,0,0,105,115,105,110,115,116,97,
- 110,99,101,117,7,0,0,0,104,97,115,97,116,116,114,117,
- 15,0,0,0,66,117,105,108,116,105,110,73,109,112,111,114,
- 116,101,114,117,10,0,0,0,95,95,108,111,97,100,101,114,
- 95,95,117,8,0,0,0,95,95,110,97,109,101,95,95,117,
- 11,0,0,0,108,111,97,100,95,109,111,100,117,108,101,117,
- 7,0,0,0,115,101,116,97,116,116,114,117,3,0,0,0,
- 97,108,108,117,14,0,0,0,65,115,115,101,114,116,105,111,
- 110,69,114,114,111,114,117,7,0,0,0,118,101,114,115,105,
- 111,110,117,11,0,0,0,73,109,112,111,114,116,69,114,114,
- 111,114,117,4,0,0,0,78,111,110,101,117,3,0,0,0,
- 115,101,116,117,16,0,0,0,95,109,97,107,101,95,114,101,
- 108,97,120,95,99,97,115,101,117,18,0,0,0,69,88,84,
- 69,78,83,73,79,78,95,83,85,70,70,73,88,69,83,117,
- 6,0,0,0,101,120,116,101,110,100,117,18,0,0,0,101,
- 120,116,101,110,115,105,111,110,95,115,117,102,102,105,120,101,
- 115,117,15,0,0,0,83,79,85,82,67,69,95,83,85,70,
- 70,73,88,69,83,117,6,0,0,0,97,112,112,101,110,100,
- 117,4,0,0,0,84,114,117,101,117,21,0,0,0,87,105,
- 110,100,111,119,115,82,101,103,105,115,116,114,121,70,105,110,
- 100,101,114,117,11,0,0,0,68,69,66,85,71,95,66,85,
- 73,76,68,40,15,0,0,0,117,10,0,0,0,115,121,115,
- 95,109,111,100,117,108,101,117,11,0,0,0,95,105,109,112,
- 95,109,111,100,117,108,101,117,11,0,0,0,109,111,100,117,
- 108,101,95,116,121,112,101,117,6,0,0,0,109,111,100,117,
- 108,101,117,11,0,0,0,115,101,108,102,95,109,111,100,117,
- 108,101,117,12,0,0,0,98,117,105,108,116,105,110,95,110,
- 97,109,101,117,14,0,0,0,98,117,105,108,116,105,110,95,
- 109,111,100,117,108,101,117,10,0,0,0,111,115,95,100,101,
- 116,97,105,108,115,117,10,0,0,0,98,117,105,108,116,105,
- 110,95,111,115,117,15,0,0,0,112,97,116,104,95,115,101,
- 112,97,114,97,116,111,114,115,117,8,0,0,0,112,97,116,
- 104,95,115,101,112,117,9,0,0,0,111,115,95,109,111,100,
- 117,108,101,117,13,0,0,0,116,104,114,101,97,100,95,109,
- 111,100,117,108,101,117,14,0,0,0,119,101,97,107,114,101,
- 102,95,109,111,100,117,108,101,117,13,0,0,0,119,105,110,
- 114,101,103,95,109,111,100,117,108,101,40,0,0,0,0,40,
- 0,0,0,0,117,29,0,0,0,60,102,114,111,122,101,110,
- 32,105,109,112,111,114,116,108,105,98,46,95,98,111,111,116,
- 115,116,114,97,112,62,117,6,0,0,0,95,115,101,116,117,
- 112,153,6,0,0,115,100,0,0,0,0,9,6,1,6,2,
- 12,1,9,2,6,2,12,1,22,1,15,1,15,1,19,2,
- 13,1,13,1,15,1,18,2,13,1,20,2,48,1,19,2,
- 31,1,10,1,15,1,13,1,4,2,3,1,15,2,27,1,
- 13,1,5,1,13,1,12,2,12,2,3,1,19,1,13,2,
- 11,1,15,2,12,1,15,1,19,2,16,1,16,1,16,1,
- 16,1,22,2,19,1,19,1,12,1,13,1,12,1,117,6,
- 0,0,0,95,115,101,116,117,112,99,2,0,0,0,0,0,
- 0,0,3,0,0,0,3,0,0,0,67,0,0,0,115,136,
- 0,0,0,116,0,0,124,0,0,124,1,0,131,2,0,1,
- 116,1,0,131,0,0,125,2,0,116,2,0,106,3,0,106,
- 4,0,116,5,0,106,6,0,124,2,0,140,0,0,103,1,
- 0,131,1,0,1,116,2,0,106,7,0,106,8,0,116,9,
- 0,131,1,0,1,116,2,0,106,7,0,106,8,0,116,10,
- 0,131,1,0,1,116,11,0,106,12,0,100,1,0,107,2,
- 0,114,116,0,116,2,0,106,7,0,106,8,0,116,13,0,
- 131,1,0,1,110,0,0,116,2,0,106,7,0,106,8,0,
- 116,14,0,131,1,0,1,100,2,0,83,40,3,0,0,0,
- 117,50,0,0,0,73,110,115,116,97,108,108,32,105,109,112,
- 111,114,116,108,105,98,32,97,115,32,116,104,101,32,105,109,
- 112,108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,
- 105,109,112,111,114,116,46,117,2,0,0,0,110,116,78,40,
- 15,0,0,0,117,6,0,0,0,95,115,101,116,117,112,117,
- 27,0,0,0,95,103,101,116,95,115,117,112,112,111,114,116,
- 101,100,95,102,105,108,101,95,108,111,97,100,101,114,115,117,
- 3,0,0,0,115,121,115,117,10,0,0,0,112,97,116,104,
- 95,104,111,111,107,115,117,6,0,0,0,101,120,116,101,110,
- 100,117,10,0,0,0,70,105,108,101,70,105,110,100,101,114,
- 117,9,0,0,0,112,97,116,104,95,104,111,111,107,117,9,
- 0,0,0,109,101,116,97,95,112,97,116,104,117,6,0,0,
- 0,97,112,112,101,110,100,117,15,0,0,0,66,117,105,108,
- 116,105,110,73,109,112,111,114,116,101,114,117,14,0,0,0,
- 70,114,111,122,101,110,73,109,112,111,114,116,101,114,117,3,
- 0,0,0,95,111,115,117,8,0,0,0,95,95,110,97,109,
- 101,95,95,117,21,0,0,0,87,105,110,100,111,119,115,82,
- 101,103,105,115,116,114,121,70,105,110,100,101,114,117,10,0,
- 0,0,80,97,116,104,70,105,110,100,101,114,40,3,0,0,
- 0,117,10,0,0,0,115,121,115,95,109,111,100,117,108,101,
- 117,11,0,0,0,95,105,109,112,95,109,111,100,117,108,101,
- 117,17,0,0,0,115,117,112,112,111,114,116,101,100,95,108,
- 111,97,100,101,114,115,40,0,0,0,0,40,0,0,0,0,
- 117,29,0,0,0,60,102,114,111,122,101,110,32,105,109,112,
- 111,114,116,108,105,98,46,95,98,111,111,116,115,116,114,97,
- 112,62,117,8,0,0,0,95,105,110,115,116,97,108,108,229,
- 6,0,0,115,16,0,0,0,0,2,13,1,9,1,28,1,
- 16,1,16,1,15,1,19,1,117,8,0,0,0,95,105,110,
- 115,116,97,108,108,78,40,3,0,0,0,117,3,0,0,0,
- 119,105,110,117,6,0,0,0,99,121,103,119,105,110,117,6,
- 0,0,0,100,97,114,119,105,110,40,74,0,0,0,117,7,
- 0,0,0,95,95,100,111,99,95,95,117,27,0,0,0,95,
- 67,65,83,69,95,73,78,83,69,78,83,73,84,73,86,69,
- 95,80,76,65,84,70,79,82,77,83,117,16,0,0,0,95,
- 109,97,107,101,95,114,101,108,97,120,95,99,97,115,101,117,
- 7,0,0,0,95,119,95,108,111,110,103,117,7,0,0,0,
- 95,114,95,108,111,110,103,117,10,0,0,0,95,112,97,116,
- 104,95,106,111,105,110,117,11,0,0,0,95,112,97,116,104,
- 95,115,112,108,105,116,117,18,0,0,0,95,112,97,116,104,
- 95,105,115,95,109,111,100,101,95,116,121,112,101,117,12,0,
- 0,0,95,112,97,116,104,95,105,115,102,105,108,101,117,11,
- 0,0,0,95,112,97,116,104,95,105,115,100,105,114,117,13,
- 0,0,0,95,119,114,105,116,101,95,97,116,111,109,105,99,
- 117,5,0,0,0,95,119,114,97,112,117,4,0,0,0,116,
- 121,112,101,117,8,0,0,0,95,95,99,111,100,101,95,95,
- 117,10,0,0,0,95,99,111,100,101,95,116,121,112,101,117,
- 10,0,0,0,110,101,119,95,109,111,100,117,108,101,117,13,
- 0,0,0,95,109,111,100,117,108,101,95,108,111,99,107,115,
- 117,12,0,0,0,95,98,108,111,99,107,105,110,103,95,111,
- 110,117,12,0,0,0,82,117,110,116,105,109,101,69,114,114,
- 111,114,117,14,0,0,0,95,68,101,97,100,108,111,99,107,
- 69,114,114,111,114,117,11,0,0,0,95,77,111,100,117,108,
- 101,76,111,99,107,117,16,0,0,0,95,68,117,109,109,121,
- 77,111,100,117,108,101,76,111,99,107,117,16,0,0,0,95,
- 103,101,116,95,109,111,100,117,108,101,95,108,111,99,107,117,
- 19,0,0,0,95,108,111,99,107,95,117,110,108,111,99,107,
- 95,109,111,100,117,108,101,117,25,0,0,0,95,99,97,108,
- 108,95,119,105,116,104,95,102,114,97,109,101,115,95,114,101,
- 109,111,118,101,100,117,3,0,0,0,111,114,100,117,17,0,
- 0,0,95,82,65,87,95,77,65,71,73,67,95,78,85,77,
- 66,69,82,117,5,0,0,0,98,121,116,101,115,117,5,0,
- 0,0,114,97,110,103,101,117,12,0,0,0,95,77,65,71,
- 73,67,95,66,89,84,69,83,117,8,0,0,0,95,80,89,
- 67,65,67,72,69,117,15,0,0,0,83,79,85,82,67,69,
- 95,83,85,70,70,73,88,69,83,117,23,0,0,0,68,69,
- 66,85,71,95,66,89,84,69,67,79,68,69,95,83,85,70,
- 70,73,88,69,83,117,27,0,0,0,79,80,84,73,77,73,
+ 131,1,0,125,2,0,120,119,0,116,1,0,106,8,0,106,
+ 9,0,131,0,0,68,93,102,0,92,2,0,125,3,0,125,
+ 4,0,116,10,0,124,4,0,124,2,0,131,2,0,114,67,
+ 0,116,11,0,124,4,0,100,1,0,131,2,0,115,169,0,
+ 124,3,0,116,1,0,106,12,0,107,6,0,114,136,0,116,
+ 13,0,124,4,0,95,14,0,113,166,0,116,0,0,106,15,
+ 0,124,3,0,131,1,0,114,166,0,116,16,0,124,4,0,
+ 95,14,0,113,166,0,113,169,0,113,67,0,113,67,0,87,
+ 116,1,0,106,8,0,116,17,0,25,125,5,0,120,76,0,
+ 100,28,0,68,93,68,0,125,6,0,124,6,0,116,1,0,
+ 106,8,0,107,7,0,114,232,0,116,13,0,106,18,0,124,
+ 6,0,131,1,0,125,7,0,110,13,0,116,1,0,106,8,
+ 0,124,6,0,25,125,7,0,116,19,0,124,5,0,124,6,
+ 0,124,7,0,131,3,0,1,113,193,0,87,100,6,0,100,
+ 7,0,103,1,0,102,2,0,100,8,0,100,9,0,100,7,
+ 0,103,2,0,102,2,0,100,10,0,100,9,0,100,7,0,
+ 103,2,0,102,2,0,102,3,0,125,8,0,120,189,0,124,
+ 8,0,68,93,169,0,92,2,0,125,9,0,125,10,0,116,
+ 20,0,100,11,0,100,12,0,132,0,0,124,10,0,68,131,
+ 1,0,131,1,0,115,107,1,116,21,0,130,1,0,124,10,
+ 0,100,13,0,25,125,11,0,124,9,0,116,1,0,106,8,
+ 0,107,6,0,114,149,1,116,1,0,106,8,0,124,9,0,
+ 25,125,12,0,80,113,64,1,121,60,0,116,13,0,106,18,
+ 0,124,9,0,131,1,0,125,12,0,124,9,0,100,10,0,
+ 107,2,0,114,207,1,100,14,0,116,1,0,106,22,0,107,
+ 6,0,114,207,1,124,10,0,100,15,0,25,125,11,0,110,
+ 0,0,80,87,113,64,1,4,116,23,0,107,10,0,114,232,
+ 1,1,1,1,119,64,1,89,113,64,1,88,113,64,1,87,
+ 116,23,0,100,16,0,131,1,0,130,1,0,121,19,0,116,
+ 13,0,106,18,0,100,17,0,131,1,0,125,13,0,87,110,
+ 24,0,4,116,23,0,107,10,0,114,38,2,1,1,1,100,
+ 27,0,125,13,0,89,110,1,0,88,116,13,0,106,18,0,
+ 100,18,0,131,1,0,125,14,0,124,9,0,100,8,0,107,
+ 2,0,114,100,2,116,13,0,106,18,0,100,19,0,131,1,
+ 0,125,15,0,116,19,0,124,5,0,100,20,0,124,15,0,
+ 131,3,0,1,110,0,0,116,19,0,124,5,0,100,21,0,
+ 124,12,0,131,3,0,1,116,19,0,124,5,0,100,17,0,
+ 124,13,0,131,3,0,1,116,19,0,124,5,0,100,18,0,
+ 124,14,0,131,3,0,1,116,19,0,124,5,0,100,22,0,
+ 124,11,0,131,3,0,1,116,19,0,124,5,0,100,23,0,
+ 116,25,0,124,10,0,131,1,0,131,3,0,1,116,19,0,
+ 124,5,0,100,24,0,116,26,0,131,0,0,131,3,0,1,
+ 116,27,0,106,28,0,116,0,0,106,29,0,131,0,0,131,
+ 1,0,1,124,9,0,100,8,0,107,2,0,114,20,3,116,
+ 30,0,106,31,0,100,25,0,131,1,0,1,100,26,0,116,
+ 27,0,107,6,0,114,20,3,100,29,0,116,33,0,95,34,
+ 0,113,20,3,110,0,0,100,27,0,83,40,30,0,0,0,
+ 117,250,0,0,0,83,101,116,117,112,32,105,109,112,111,114,
+ 116,108,105,98,32,98,121,32,105,109,112,111,114,116,105,110,
+ 103,32,110,101,101,100,101,100,32,98,117,105,108,116,45,105,
+ 110,32,109,111,100,117,108,101,115,32,97,110,100,32,105,110,
+ 106,101,99,116,105,110,103,32,116,104,101,109,10,32,32,32,
+ 32,105,110,116,111,32,116,104,101,32,103,108,111,98,97,108,
+ 32,110,97,109,101,115,112,97,99,101,46,10,10,32,32,32,
+ 32,65,115,32,115,121,115,32,105,115,32,110,101,101,100,101,
+ 100,32,102,111,114,32,115,121,115,46,109,111,100,117,108,101,
+ 115,32,97,99,99,101,115,115,32,97,110,100,32,95,105,109,
+ 112,32,105,115,32,110,101,101,100,101,100,32,116,111,32,108,
+ 111,97,100,32,98,117,105,108,116,45,105,110,10,32,32,32,
+ 32,109,111,100,117,108,101,115,44,32,116,104,111,115,101,32,
+ 116,119,111,32,109,111,100,117,108,101,115,32,109,117,115,116,
+ 32,98,101,32,101,120,112,108,105,99,105,116,108,121,32,112,
+ 97,115,115,101,100,32,105,110,46,10,10,32,32,32,32,117,
+ 10,0,0,0,95,95,108,111,97,100,101,114,95,95,117,3,
+ 0,0,0,95,105,111,117,9,0,0,0,95,119,97,114,110,
+ 105,110,103,115,117,8,0,0,0,98,117,105,108,116,105,110,
+ 115,117,7,0,0,0,109,97,114,115,104,97,108,117,5,0,
+ 0,0,112,111,115,105,120,117,1,0,0,0,47,117,2,0,
+ 0,0,110,116,117,1,0,0,0,92,117,3,0,0,0,111,
+ 115,50,99,1,0,0,0,0,0,0,0,2,0,0,0,3,
+ 0,0,0,115,0,0,0,115,33,0,0,0,124,0,0,93,
+ 23,0,125,1,0,116,0,0,124,1,0,131,1,0,100,0,
+ 0,107,2,0,86,1,113,3,0,100,1,0,83,40,2,0,
+ 0,0,105,1,0,0,0,78,40,1,0,0,0,117,3,0,
+ 0,0,108,101,110,40,2,0,0,0,117,2,0,0,0,46,
+ 48,117,3,0,0,0,115,101,112,40,0,0,0,0,40,0,
+ 0,0,0,117,29,0,0,0,60,102,114,111,122,101,110,32,
+ 105,109,112,111,114,116,108,105,98,46,95,98,111,111,116,115,
+ 116,114,97,112,62,117,9,0,0,0,60,103,101,110,101,120,
+ 112,114,62,190,6,0,0,115,2,0,0,0,6,0,117,25,
+ 0,0,0,95,115,101,116,117,112,46,60,108,111,99,97,108,
+ 115,62,46,60,103,101,110,101,120,112,114,62,105,0,0,0,
+ 0,117,7,0,0,0,69,77,88,32,71,67,67,105,1,0,
+ 0,0,117,30,0,0,0,105,109,112,111,114,116,108,105,98,
+ 32,114,101,113,117,105,114,101,115,32,112,111,115,105,120,32,
+ 111,114,32,110,116,117,7,0,0,0,95,116,104,114,101,97,
+ 100,117,8,0,0,0,95,119,101,97,107,114,101,102,117,6,
+ 0,0,0,119,105,110,114,101,103,117,7,0,0,0,95,119,
+ 105,110,114,101,103,117,3,0,0,0,95,111,115,117,8,0,
+ 0,0,112,97,116,104,95,115,101,112,117,15,0,0,0,112,
+ 97,116,104,95,115,101,112,97,114,97,116,111,114,115,117,11,
+ 0,0,0,95,114,101,108,97,120,95,99,97,115,101,117,4,
+ 0,0,0,46,112,121,119,117,6,0,0,0,95,100,46,112,
+ 121,100,78,40,4,0,0,0,117,3,0,0,0,95,105,111,
+ 117,9,0,0,0,95,119,97,114,110,105,110,103,115,117,8,
+ 0,0,0,98,117,105,108,116,105,110,115,117,7,0,0,0,
+ 109,97,114,115,104,97,108,84,40,35,0,0,0,117,4,0,
+ 0,0,95,105,109,112,117,3,0,0,0,115,121,115,117,5,
+ 0,0,0,102,108,97,103,115,117,8,0,0,0,111,112,116,
+ 105,109,105,122,101,117,27,0,0,0,79,80,84,73,77,73,
90,69,68,95,66,89,84,69,67,79,68,69,95,83,85,70,
- 70,73,88,69,83,117,4,0,0,0,78,111,110,101,117,17,
- 0,0,0,99,97,99,104,101,95,102,114,111,109,95,115,111,
- 117,114,99,101,117,17,0,0,0,115,111,117,114,99,101,95,
- 102,114,111,109,95,99,97,99,104,101,117,15,0,0,0,95,
- 103,101,116,95,115,111,117,114,99,101,102,105,108,101,117,16,
- 0,0,0,95,118,101,114,98,111,115,101,95,109,101,115,115,
- 97,103,101,117,11,0,0,0,115,101,116,95,112,97,99,107,
- 97,103,101,117,10,0,0,0,115,101,116,95,108,111,97,100,
- 101,114,117,17,0,0,0,109,111,100,117,108,101,95,102,111,
- 114,95,108,111,97,100,101,114,117,11,0,0,0,95,99,104,
- 101,99,107,95,110,97,109,101,117,17,0,0,0,95,114,101,
- 113,117,105,114,101,115,95,98,117,105,108,116,105,110,117,16,
- 0,0,0,95,114,101,113,117,105,114,101,115,95,102,114,111,
- 122,101,110,117,17,0,0,0,95,102,105,110,100,95,109,111,
- 100,117,108,101,95,115,104,105,109,117,15,0,0,0,66,117,
- 105,108,116,105,110,73,109,112,111,114,116,101,114,117,14,0,
- 0,0,70,114,111,122,101,110,73,109,112,111,114,116,101,114,
- 117,21,0,0,0,87,105,110,100,111,119,115,82,101,103,105,
- 115,116,114,121,70,105,110,100,101,114,117,13,0,0,0,95,
- 76,111,97,100,101,114,66,97,115,105,99,115,117,12,0,0,
- 0,83,111,117,114,99,101,76,111,97,100,101,114,117,10,0,
- 0,0,70,105,108,101,76,111,97,100,101,114,117,16,0,0,
- 0,83,111,117,114,99,101,70,105,108,101,76,111,97,100,101,
- 114,117,20,0,0,0,83,111,117,114,99,101,108,101,115,115,
- 70,105,108,101,76,111,97,100,101,114,117,18,0,0,0,69,
- 88,84,69,78,83,73,79,78,95,83,85,70,70,73,88,69,
- 83,117,19,0,0,0,69,120,116,101,110,115,105,111,110,70,
- 105,108,101,76,111,97,100,101,114,117,14,0,0,0,95,78,
- 97,109,101,115,112,97,99,101,80,97,116,104,117,15,0,0,
- 0,78,97,109,101,115,112,97,99,101,76,111,97,100,101,114,
- 117,10,0,0,0,80,97,116,104,70,105,110,100,101,114,117,
- 10,0,0,0,70,105,108,101,70,105,110,100,101,114,117,18,
- 0,0,0,95,73,109,112,111,114,116,76,111,99,107,67,111,
- 110,116,101,120,116,117,13,0,0,0,95,114,101,115,111,108,
- 118,101,95,110,97,109,101,117,12,0,0,0,95,102,105,110,
- 100,95,109,111,100,117,108,101,117,13,0,0,0,95,115,97,
- 110,105,116,121,95,99,104,101,99,107,117,8,0,0,0,95,
- 69,82,82,95,77,83,71,117,23,0,0,0,95,102,105,110,
- 100,95,97,110,100,95,108,111,97,100,95,117,110,108,111,99,
- 107,101,100,117,14,0,0,0,95,102,105,110,100,95,97,110,
- 100,95,108,111,97,100,117,11,0,0,0,95,103,99,100,95,
- 105,109,112,111,114,116,117,16,0,0,0,95,104,97,110,100,
- 108,101,95,102,114,111,109,108,105,115,116,117,17,0,0,0,
- 95,99,97,108,99,95,95,95,112,97,99,107,97,103,101,95,
- 95,117,27,0,0,0,95,103,101,116,95,115,117,112,112,111,
- 114,116,101,100,95,102,105,108,101,95,108,111,97,100,101,114,
- 115,117,10,0,0,0,95,95,105,109,112,111,114,116,95,95,
- 117,6,0,0,0,95,115,101,116,117,112,117,8,0,0,0,
- 95,105,110,115,116,97,108,108,40,0,0,0,0,40,0,0,
- 0,0,40,0,0,0,0,117,29,0,0,0,60,102,114,111,
- 122,101,110,32,105,109,112,111,114,116,108,105,98,46,95,98,
- 111,111,116,115,116,114,97,112,62,117,8,0,0,0,60,109,
- 111,100,117,108,101,62,8,0,0,0,115,132,0,0,0,6,
- 21,6,3,12,13,12,16,12,13,12,12,12,12,12,10,12,
- 6,12,7,15,22,12,8,15,3,12,12,6,2,6,3,22,
- 4,19,68,19,23,12,19,12,20,12,100,34,1,37,2,6,
- 2,9,2,9,1,9,2,15,27,12,23,12,21,12,8,12,
- 13,12,11,12,55,12,18,12,11,12,11,12,17,19,57,19,
- 54,19,50,19,82,22,134,19,29,25,49,25,25,6,3,19,
- 45,19,55,19,18,19,91,19,126,19,13,12,9,12,17,12,
- 17,6,2,12,50,12,13,18,24,12,34,12,15,12,11,24,
- 36,12,76,
+ 70,73,88,69,83,117,17,0,0,0,66,89,84,69,67,79,
+ 68,69,95,83,85,70,70,73,88,69,83,117,23,0,0,0,
+ 68,69,66,85,71,95,66,89,84,69,67,79,68,69,95,83,
+ 85,70,70,73,88,69,83,117,4,0,0,0,116,121,112,101,
+ 117,7,0,0,0,109,111,100,117,108,101,115,117,5,0,0,
+ 0,105,116,101,109,115,117,10,0,0,0,105,115,105,110,115,
+ 116,97,110,99,101,117,7,0,0,0,104,97,115,97,116,116,
+ 114,117,20,0,0,0,98,117,105,108,116,105,110,95,109,111,
+ 100,117,108,101,95,110,97,109,101,115,117,15,0,0,0,66,
+ 117,105,108,116,105,110,73,109,112,111,114,116,101,114,117,10,
+ 0,0,0,95,95,108,111,97,100,101,114,95,95,117,9,0,
+ 0,0,105,115,95,102,114,111,122,101,110,117,14,0,0,0,
+ 70,114,111,122,101,110,73,109,112,111,114,116,101,114,117,8,
+ 0,0,0,95,95,110,97,109,101,95,95,117,11,0,0,0,
+ 108,111,97,100,95,109,111,100,117,108,101,117,7,0,0,0,
+ 115,101,116,97,116,116,114,117,3,0,0,0,97,108,108,117,
+ 14,0,0,0,65,115,115,101,114,116,105,111,110,69,114,114,
+ 111,114,117,7,0,0,0,118,101,114,115,105,111,110,117,11,
+ 0,0,0,73,109,112,111,114,116,69,114,114,111,114,117,4,
+ 0,0,0,78,111,110,101,117,3,0,0,0,115,101,116,117,
+ 16,0,0,0,95,109,97,107,101,95,114,101,108,97,120,95,
+ 99,97,115,101,117,18,0,0,0,69,88,84,69,78,83,73,
+ 79,78,95,83,85,70,70,73,88,69,83,117,6,0,0,0,
+ 101,120,116,101,110,100,117,18,0,0,0,101,120,116,101,110,
+ 115,105,111,110,95,115,117,102,102,105,120,101,115,117,15,0,
+ 0,0,83,79,85,82,67,69,95,83,85,70,70,73,88,69,
+ 83,117,6,0,0,0,97,112,112,101,110,100,117,4,0,0,
+ 0,84,114,117,101,117,21,0,0,0,87,105,110,100,111,119,
+ 115,82,101,103,105,115,116,114,121,70,105,110,100,101,114,117,
+ 11,0,0,0,68,69,66,85,71,95,66,85,73,76,68,40,
+ 16,0,0,0,117,10,0,0,0,115,121,115,95,109,111,100,
+ 117,108,101,117,11,0,0,0,95,105,109,112,95,109,111,100,
+ 117,108,101,117,11,0,0,0,109,111,100,117,108,101,95,116,
+ 121,112,101,117,4,0,0,0,110,97,109,101,117,6,0,0,
+ 0,109,111,100,117,108,101,117,11,0,0,0,115,101,108,102,
+ 95,109,111,100,117,108,101,117,12,0,0,0,98,117,105,108,
+ 116,105,110,95,110,97,109,101,117,14,0,0,0,98,117,105,
+ 108,116,105,110,95,109,111,100,117,108,101,117,10,0,0,0,
+ 111,115,95,100,101,116,97,105,108,115,117,10,0,0,0,98,
+ 117,105,108,116,105,110,95,111,115,117,15,0,0,0,112,97,
+ 116,104,95,115,101,112,97,114,97,116,111,114,115,117,8,0,
+ 0,0,112,97,116,104,95,115,101,112,117,9,0,0,0,111,
+ 115,95,109,111,100,117,108,101,117,13,0,0,0,116,104,114,
+ 101,97,100,95,109,111,100,117,108,101,117,14,0,0,0,119,
+ 101,97,107,114,101,102,95,109,111,100,117,108,101,117,13,0,
+ 0,0,119,105,110,114,101,103,95,109,111,100,117,108,101,40,
+ 0,0,0,0,40,0,0,0,0,117,29,0,0,0,60,102,
+ 114,111,122,101,110,32,105,109,112,111,114,116,108,105,98,46,
+ 95,98,111,111,116,115,116,114,97,112,62,117,6,0,0,0,
+ 95,115,101,116,117,112,153,6,0,0,115,106,0,0,0,0,
+ 9,6,1,6,2,12,1,9,2,6,2,12,1,28,1,15,
+ 1,15,1,15,1,12,1,15,1,22,2,13,1,13,1,15,
+ 1,18,2,13,1,20,2,48,1,19,2,31,1,10,1,15,
+ 1,13,1,4,2,3,1,15,2,27,1,13,1,5,1,13,
+ 1,12,2,12,2,3,1,19,1,13,2,11,1,15,2,12,
+ 1,15,1,19,2,16,1,16,1,16,1,16,1,22,2,19,
+ 1,19,1,12,1,13,1,12,1,117,6,0,0,0,95,115,
+ 101,116,117,112,99,2,0,0,0,0,0,0,0,3,0,0,
+ 0,3,0,0,0,67,0,0,0,115,136,0,0,0,116,0,
+ 0,124,0,0,124,1,0,131,2,0,1,116,1,0,131,0,
+ 0,125,2,0,116,2,0,106,3,0,106,4,0,116,5,0,
+ 106,6,0,124,2,0,140,0,0,103,1,0,131,1,0,1,
+ 116,2,0,106,7,0,106,8,0,116,9,0,131,1,0,1,
+ 116,2,0,106,7,0,106,8,0,116,10,0,131,1,0,1,
+ 116,11,0,106,12,0,100,1,0,107,2,0,114,116,0,116,
+ 2,0,106,7,0,106,8,0,116,13,0,131,1,0,1,110,
+ 0,0,116,2,0,106,7,0,106,8,0,116,14,0,131,1,
+ 0,1,100,2,0,83,40,3,0,0,0,117,50,0,0,0,
+ 73,110,115,116,97,108,108,32,105,109,112,111,114,116,108,105,
+ 98,32,97,115,32,116,104,101,32,105,109,112,108,101,109,101,
+ 110,116,97,116,105,111,110,32,111,102,32,105,109,112,111,114,
+ 116,46,117,2,0,0,0,110,116,78,40,15,0,0,0,117,
+ 6,0,0,0,95,115,101,116,117,112,117,27,0,0,0,95,
+ 103,101,116,95,115,117,112,112,111,114,116,101,100,95,102,105,
+ 108,101,95,108,111,97,100,101,114,115,117,3,0,0,0,115,
+ 121,115,117,10,0,0,0,112,97,116,104,95,104,111,111,107,
+ 115,117,6,0,0,0,101,120,116,101,110,100,117,10,0,0,
+ 0,70,105,108,101,70,105,110,100,101,114,117,9,0,0,0,
+ 112,97,116,104,95,104,111,111,107,117,9,0,0,0,109,101,
+ 116,97,95,112,97,116,104,117,6,0,0,0,97,112,112,101,
+ 110,100,117,15,0,0,0,66,117,105,108,116,105,110,73,109,
+ 112,111,114,116,101,114,117,14,0,0,0,70,114,111,122,101,
+ 110,73,109,112,111,114,116,101,114,117,3,0,0,0,95,111,
+ 115,117,8,0,0,0,95,95,110,97,109,101,95,95,117,21,
+ 0,0,0,87,105,110,100,111,119,115,82,101,103,105,115,116,
+ 114,121,70,105,110,100,101,114,117,10,0,0,0,80,97,116,
+ 104,70,105,110,100,101,114,40,3,0,0,0,117,10,0,0,
+ 0,115,121,115,95,109,111,100,117,108,101,117,11,0,0,0,
+ 95,105,109,112,95,109,111,100,117,108,101,117,17,0,0,0,
+ 115,117,112,112,111,114,116,101,100,95,108,111,97,100,101,114,
+ 115,40,0,0,0,0,40,0,0,0,0,117,29,0,0,0,
+ 60,102,114,111,122,101,110,32,105,109,112,111,114,116,108,105,
+ 98,46,95,98,111,111,116,115,116,114,97,112,62,117,8,0,
+ 0,0,95,105,110,115,116,97,108,108,232,6,0,0,115,16,
+ 0,0,0,0,2,13,1,9,1,28,1,16,1,16,1,15,
+ 1,19,1,117,8,0,0,0,95,105,110,115,116,97,108,108,
+ 78,40,3,0,0,0,117,3,0,0,0,119,105,110,117,6,
+ 0,0,0,99,121,103,119,105,110,117,6,0,0,0,100,97,
+ 114,119,105,110,40,74,0,0,0,117,7,0,0,0,95,95,
+ 100,111,99,95,95,117,27,0,0,0,95,67,65,83,69,95,
+ 73,78,83,69,78,83,73,84,73,86,69,95,80,76,65,84,
+ 70,79,82,77,83,117,16,0,0,0,95,109,97,107,101,95,
+ 114,101,108,97,120,95,99,97,115,101,117,7,0,0,0,95,
+ 119,95,108,111,110,103,117,7,0,0,0,95,114,95,108,111,
+ 110,103,117,10,0,0,0,95,112,97,116,104,95,106,111,105,
+ 110,117,11,0,0,0,95,112,97,116,104,95,115,112,108,105,
+ 116,117,18,0,0,0,95,112,97,116,104,95,105,115,95,109,
+ 111,100,101,95,116,121,112,101,117,12,0,0,0,95,112,97,
+ 116,104,95,105,115,102,105,108,101,117,11,0,0,0,95,112,
+ 97,116,104,95,105,115,100,105,114,117,13,0,0,0,95,119,
+ 114,105,116,101,95,97,116,111,109,105,99,117,5,0,0,0,
+ 95,119,114,97,112,117,4,0,0,0,116,121,112,101,117,8,
+ 0,0,0,95,95,99,111,100,101,95,95,117,10,0,0,0,
+ 95,99,111,100,101,95,116,121,112,101,117,10,0,0,0,110,
+ 101,119,95,109,111,100,117,108,101,117,13,0,0,0,95,109,
+ 111,100,117,108,101,95,108,111,99,107,115,117,12,0,0,0,
+ 95,98,108,111,99,107,105,110,103,95,111,110,117,12,0,0,
+ 0,82,117,110,116,105,109,101,69,114,114,111,114,117,14,0,
+ 0,0,95,68,101,97,100,108,111,99,107,69,114,114,111,114,
+ 117,11,0,0,0,95,77,111,100,117,108,101,76,111,99,107,
+ 117,16,0,0,0,95,68,117,109,109,121,77,111,100,117,108,
+ 101,76,111,99,107,117,16,0,0,0,95,103,101,116,95,109,
+ 111,100,117,108,101,95,108,111,99,107,117,19,0,0,0,95,
+ 108,111,99,107,95,117,110,108,111,99,107,95,109,111,100,117,
+ 108,101,117,25,0,0,0,95,99,97,108,108,95,119,105,116,
+ 104,95,102,114,97,109,101,115,95,114,101,109,111,118,101,100,
+ 117,3,0,0,0,111,114,100,117,17,0,0,0,95,82,65,
+ 87,95,77,65,71,73,67,95,78,85,77,66,69,82,117,5,
+ 0,0,0,98,121,116,101,115,117,5,0,0,0,114,97,110,
+ 103,101,117,12,0,0,0,95,77,65,71,73,67,95,66,89,
+ 84,69,83,117,8,0,0,0,95,80,89,67,65,67,72,69,
+ 117,15,0,0,0,83,79,85,82,67,69,95,83,85,70,70,
+ 73,88,69,83,117,23,0,0,0,68,69,66,85,71,95,66,
+ 89,84,69,67,79,68,69,95,83,85,70,70,73,88,69,83,
+ 117,27,0,0,0,79,80,84,73,77,73,90,69,68,95,66,
+ 89,84,69,67,79,68,69,95,83,85,70,70,73,88,69,83,
+ 117,4,0,0,0,78,111,110,101,117,17,0,0,0,99,97,
+ 99,104,101,95,102,114,111,109,95,115,111,117,114,99,101,117,
+ 17,0,0,0,115,111,117,114,99,101,95,102,114,111,109,95,
+ 99,97,99,104,101,117,15,0,0,0,95,103,101,116,95,115,
+ 111,117,114,99,101,102,105,108,101,117,16,0,0,0,95,118,
+ 101,114,98,111,115,101,95,109,101,115,115,97,103,101,117,11,
+ 0,0,0,115,101,116,95,112,97,99,107,97,103,101,117,10,
+ 0,0,0,115,101,116,95,108,111,97,100,101,114,117,17,0,
+ 0,0,109,111,100,117,108,101,95,102,111,114,95,108,111,97,
+ 100,101,114,117,11,0,0,0,95,99,104,101,99,107,95,110,
+ 97,109,101,117,17,0,0,0,95,114,101,113,117,105,114,101,
+ 115,95,98,117,105,108,116,105,110,117,16,0,0,0,95,114,
+ 101,113,117,105,114,101,115,95,102,114,111,122,101,110,117,17,
+ 0,0,0,95,102,105,110,100,95,109,111,100,117,108,101,95,
+ 115,104,105,109,117,15,0,0,0,66,117,105,108,116,105,110,
+ 73,109,112,111,114,116,101,114,117,14,0,0,0,70,114,111,
+ 122,101,110,73,109,112,111,114,116,101,114,117,21,0,0,0,
+ 87,105,110,100,111,119,115,82,101,103,105,115,116,114,121,70,
+ 105,110,100,101,114,117,13,0,0,0,95,76,111,97,100,101,
+ 114,66,97,115,105,99,115,117,12,0,0,0,83,111,117,114,
+ 99,101,76,111,97,100,101,114,117,10,0,0,0,70,105,108,
+ 101,76,111,97,100,101,114,117,16,0,0,0,83,111,117,114,
+ 99,101,70,105,108,101,76,111,97,100,101,114,117,20,0,0,
+ 0,83,111,117,114,99,101,108,101,115,115,70,105,108,101,76,
+ 111,97,100,101,114,117,18,0,0,0,69,88,84,69,78,83,
+ 73,79,78,95,83,85,70,70,73,88,69,83,117,19,0,0,
+ 0,69,120,116,101,110,115,105,111,110,70,105,108,101,76,111,
+ 97,100,101,114,117,14,0,0,0,95,78,97,109,101,115,112,
+ 97,99,101,80,97,116,104,117,15,0,0,0,78,97,109,101,
+ 115,112,97,99,101,76,111,97,100,101,114,117,10,0,0,0,
+ 80,97,116,104,70,105,110,100,101,114,117,10,0,0,0,70,
+ 105,108,101,70,105,110,100,101,114,117,18,0,0,0,95,73,
+ 109,112,111,114,116,76,111,99,107,67,111,110,116,101,120,116,
+ 117,13,0,0,0,95,114,101,115,111,108,118,101,95,110,97,
+ 109,101,117,12,0,0,0,95,102,105,110,100,95,109,111,100,
+ 117,108,101,117,13,0,0,0,95,115,97,110,105,116,121,95,
+ 99,104,101,99,107,117,8,0,0,0,95,69,82,82,95,77,
+ 83,71,117,23,0,0,0,95,102,105,110,100,95,97,110,100,
+ 95,108,111,97,100,95,117,110,108,111,99,107,101,100,117,14,
+ 0,0,0,95,102,105,110,100,95,97,110,100,95,108,111,97,
+ 100,117,11,0,0,0,95,103,99,100,95,105,109,112,111,114,
+ 116,117,16,0,0,0,95,104,97,110,100,108,101,95,102,114,
+ 111,109,108,105,115,116,117,17,0,0,0,95,99,97,108,99,
+ 95,95,95,112,97,99,107,97,103,101,95,95,117,27,0,0,
+ 0,95,103,101,116,95,115,117,112,112,111,114,116,101,100,95,
+ 102,105,108,101,95,108,111,97,100,101,114,115,117,10,0,0,
+ 0,95,95,105,109,112,111,114,116,95,95,117,6,0,0,0,
+ 95,115,101,116,117,112,117,8,0,0,0,95,105,110,115,116,
+ 97,108,108,40,0,0,0,0,40,0,0,0,0,40,0,0,
+ 0,0,117,29,0,0,0,60,102,114,111,122,101,110,32,105,
+ 109,112,111,114,116,108,105,98,46,95,98,111,111,116,115,116,
+ 114,97,112,62,117,8,0,0,0,60,109,111,100,117,108,101,
+ 62,8,0,0,0,115,132,0,0,0,6,21,6,3,12,13,
+ 12,16,12,13,12,12,12,12,12,10,12,6,12,7,15,22,
+ 12,8,15,3,12,12,6,2,6,3,22,4,19,68,19,23,
+ 12,19,12,20,12,100,34,1,37,2,6,2,9,2,9,1,
+ 9,2,15,27,12,23,12,21,12,8,12,13,12,11,12,55,
+ 12,18,12,11,12,11,12,17,19,57,19,54,19,50,19,82,
+ 22,134,19,29,25,49,25,25,6,3,19,45,19,55,19,18,
+ 19,91,19,126,19,13,12,9,12,17,12,17,6,2,12,50,
+ 12,13,18,24,12,34,12,15,12,11,24,36,12,79,
};